+ |
{index + 1}.
|
- {Number(
- new MyNumber(
- tx.amount,
- decimals!,
- ).toEtherToFixedDecimals(token.displayDecimals),
- ).toLocaleString()}{' '}
+ {new MyNumber(
+ tx.amount,
+ decimals!,
+ ).toEtherToFixedDecimals(token.displayDecimals)}{' '}
{token?.name}
|
-
- {tx.type === 'deposit' ? (
-
-
-
- ) : (
-
-
-
- )}
-
- {capitalize(tx.type)}
-
+ {getTransactionIcon(tx.type)}
|
|
-
+ |
{timeAgo(new Date(tx.timestamp * 1000))}
@@ -196,6 +237,27 @@ function MobileTransactionHistory(props: { transactions: ITransaction[] }) {
const token = getTokenInfoFromAddr(tx.asset);
const decimals = token?.decimals;
const isDeposit = tx.type === 'deposit';
+ let displayText = 'Deposit';
+ let iconColor = 'light_green';
+ switch (tx.type) {
+ case 'deposit':
+ displayText = 'Deposited';
+ break;
+ case 'withdraw':
+ displayText = 'Withdrawn';
+ iconColor = 'red_2';
+ break;
+ case 'redeem':
+ iconColor = 'yellow_2';
+ displayText = 'Withdraw in progress';
+ break;
+ case 'claim':
+ iconColor = 'red_2';
+ displayText = 'Withdrawn';
+ break;
+ default:
+ throw new Error(`Unknown transaction type: ${tx.type}`);
+ }
return (
)}
-
- {isDeposit ? 'Deposited' : 'Withdrawn'}
+
+ {displayText}
@@ -266,59 +324,68 @@ export function TransactionsTab(props: TransactionsTabProps) {
const { strategy, txHistory, isMobile } = props;
return (
-
-
-
- Transaction history
-
- {!strategy.settings.isTransactionHistDisabled && (
-
- There may be delays in fetching data. If your transaction isn't
- found, try again later.
+
+
+
+
+ Transaction history
- )}
-
- {address ? (
- strategy.settings.isTransactionHistDisabled ? (
+ {!strategy.settings.isTransactionHistDisabled && (
+
+ There may be delays in fetching data. If your transaction
+ isn't found, try again later.
+
+ )}
+
+ {address ? (
+ strategy.settings.isTransactionHistDisabled ? (
+
+ Transaction history is not available for this strategy yet. If
+ enabled in future, will include the entire history.
+
+ ) : txHistory.findManyInvestment_flows.length !== 0 ? (
+ isMobile ? (
+
+ ) : (
+
+ )
+ ) : (
+
+ No transactions found
+
+ )
+ ) : (
- Transaction history is not available for this strategy yet. If
- enabled in future, will include the entire history.
+ Connect your wallet to view transaction history
- ) : txHistory.findManyInvestment_flows.length !== 0 ? (
- isMobile ? (
-
- ) : (
-
- )
- ) : (
-
- No transactions found
-
- )
- ) : (
-
- Connect your wallet to view transaction history
-
- )}
-
+ )}
+
+
);
}
diff --git a/src/app/strategy/[strategyId]/loading.tsx b/src/app/strategy/[strategyId]/loading.tsx
new file mode 100644
index 00000000..806514d7
--- /dev/null
+++ b/src/app/strategy/[strategyId]/loading.tsx
@@ -0,0 +1,21 @@
+import { Spinner, Flex } from '@chakra-ui/react';
+
+export default function Loading() {
+ return (
+
+
+
+ );
+}
diff --git a/src/app/template.tsx b/src/app/template.tsx
index d604e6e9..a1e3ce4c 100755
--- a/src/app/template.tsx
+++ b/src/app/template.tsx
@@ -7,17 +7,17 @@ import {
ChakraBaseProvider,
Container,
Flex,
+ Spinner,
extendTheme,
} from '@chakra-ui/react';
import { mainnet } from '@starknet-react/chains';
-import { StarknetConfig, jsonRpcProvider } from '@starknet-react/core';
+import { StarknetConfig, jsonRpcProvider, voyager } from '@starknet-react/core';
import { Provider as JotaiProvider } from 'jotai';
import mixpanel from 'mixpanel-browser';
import Image from 'next/image';
import { usePathname } from 'next/navigation';
import * as React from 'react';
import { Toaster } from 'react-hot-toast';
-import { RpcProviderOptions, constants } from 'starknet';
import Footer from '@/components/Footer';
import { useIsMobile } from '@/hooks/use-mobile';
@@ -35,6 +35,7 @@ const theme = extendTheme({
highlight: '#303136',
purple: '#9069F0',
+ purple_30p: '#CFACFA4D',
purple_60p: '#6F5CA599',
purple_hover: '#4C2CD7',
purple_hover_2: '#C5A6FF',
@@ -44,22 +45,33 @@ const theme = extendTheme({
header: '#1d1531',
+ table_header_bg: '#9069F033',
+
badge_blue: '#002F6A',
badge_green: '#016131',
mybg: 'black', // dark blue
bg_2: '#111113',
bg_3: '#090910',
+ bg_4: '#010101',
mycard: '#19191b',
mycard_light: '#212121',
mycard_light_2x: '#303136',
mycard_dark: '#121212',
+ input_light: '#37373780',
+ list_item_bg: '#37373766',
+
+ text_grey: '#868898',
+ text_grey_60p: '#86889899',
+ text_grey_90p: '#868898E5',
grey_text: '#B6B6B6',
+ grey_text_2: '#909090',
text_primary: 'white',
text_secondary: '#b2b3bd',
text_secondary_2: '#D3D3D3',
+ text_black_70p: '#010101B2',
yellow: '#EFDB72',
yellow_2: '#FFA500',
@@ -73,6 +85,7 @@ const theme = extendTheme({
light_green_30p: '#3EE5C24D',
border_light: '#CFCFEA',
+ border_light_2: '#2D2D3D',
border_light_3p: '#CFCFEA0D',
border_light_30p: '#CFCFEA4D',
@@ -82,6 +95,7 @@ const theme = extendTheme({
dark_bg: '#111119',
purple_tint: '#CFCFEA',
lavender_gray: '#B4B1BD',
+ border_grey: '#B3B3B326',
text_subtle: '#a0a2b0',
text_subtle_50p: '#a0a2b080',
@@ -124,17 +138,12 @@ export const CONNECTOR_NAMES = ['Braavos', 'Argent X', 'Argent (mobile)']; // 'A
export default function Template({ children }: { children: React.ReactNode }) {
const chains = [mainnet];
+ const pathname = usePathname();
const provider = jsonRpcProvider({
rpc: (chain) => {
- const args: RpcProviderOptions = {
- nodeUrl:
- 'https://rpc.nethermind.io/mainnet-juno?apikey=t1HPjhplOyEQpxqVMhpwLGuwmOlbXN0XivWUiPAxIBs0kHVK',
- chainId: constants.StarknetChainId.SN_MAIN,
- };
- return args;
+ return { nodeUrl: process.env.NEXT_PUBLIC_RPC_URL! };
},
});
- const pathname = usePathname();
function getIconNode(icon: typeof import('*.svg'), alt: string) {
return (
@@ -146,16 +155,38 @@ export default function Template({ children }: { children: React.ReactNode }) {
const isMobile = useIsMobile();
+ function Loading() {
+ return (
+
+
+
+ );
+ }
+
return (
-
+ }>
+
+
+
+
+
diff --git a/src/assets/details.svg b/src/assets/details.svg
new file mode 100644
index 00000000..a0c5566a
--- /dev/null
+++ b/src/assets/details.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/assets/faq.svg b/src/assets/faq.svg
new file mode 100644
index 00000000..200b5804
--- /dev/null
+++ b/src/assets/faq.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/assets/manage.svg b/src/assets/manage.svg
new file mode 100644
index 00000000..bf2c850f
--- /dev/null
+++ b/src/assets/manage.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/assets/risk.svg b/src/assets/risk.svg
new file mode 100644
index 00000000..5a39f5ef
--- /dev/null
+++ b/src/assets/risk.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/tg.svg b/src/assets/tg.svg
index 01c6b5ff..4cb99463 100644
--- a/src/assets/tg.svg
+++ b/src/assets/tg.svg
@@ -1,4 +1,4 @@
-
@@ -193,12 +195,13 @@ const HarvestTime: React.FC = ({ strategy, balData }) => {
fontSize={'12px'}
fontWeight={'400'}
lineHeight={'100%'}
- bg={'mycard'}
width={'100%'}
borderRadius={'lg'}
>
Total number of times harvested:{' '}
- {harvestTime?.data?.totalHarvestsByContract || '-'}
+
+ {harvestTime?.data?.totalHarvestsByContract || '-'}
+
)}
diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx
index fe507ffe..52ee0a39 100644
--- a/src/components/Navbar.tsx
+++ b/src/components/Navbar.tsx
@@ -1,6 +1,5 @@
import { ChevronDownIcon, EmailIcon } from '@chakra-ui/icons';
import {
- Avatar,
Box,
Button,
Center,
@@ -16,20 +15,21 @@ import {
Text,
useDisclosure,
} from '@chakra-ui/react';
-import { useAtom, useSetAtom } from 'jotai';
+import { useSetAtom } from 'jotai';
import {
- connect,
ConnectOptionsWithConnectors,
StarknetkitConnector,
+ useStarknetkitConnectModal,
+ disconnect as starknetKitDisconnect,
+ connect,
} from 'starknetkit';
import argentMobile from '@/assets/argentMobile.svg';
-import tg from '@/assets/tg.svg';
+import TgIcon from '@/assets/tg.svg';
import CONSTANTS from '@/constants';
import { useIsMobile } from '@/hooks/use-mobile';
import { getERC20Balance } from '@/store/balance.atoms';
import { addressAtom } from '@/store/claims.atoms';
-import { lastWalletAtom } from '@/store/utils.atoms';
import {
getEndpoint,
getTokenInfoFromName,
@@ -39,7 +39,7 @@ import {
standariseAddress,
truncate,
} from '@/utils';
-import fulllogo from '@public/fulllogo.svg';
+import FullLogoIcon from '@public/fulllogo.svg';
import {
InjectedConnector,
useAccount,
@@ -69,11 +69,11 @@ export function getConnectors(isMobile: boolean) {
chainId: constants.NetworkName.SN_MAIN,
},
inAppBrowserOptions: {},
- }) as StarknetkitConnector;
+ });
const mobileBraavosConnector = BraavosMobileConnector.init({
inAppBrowserOptions: {},
- }) as StarknetkitConnector;
+ });
const argentXConnector = new InjectedConnector({
options: {
@@ -169,7 +169,7 @@ interface NavbarProps {
}
export default function Navbar(props: NavbarProps) {
- const { address, connector, account } = useAccount();
+ const { address, connector } = useAccount();
const { disconnectAsync } = useDisconnect();
const setAddress = useSetAtom(addressAtom);
const { data: starkProfile } = useStarkProfile({
@@ -177,8 +177,12 @@ export default function Navbar(props: NavbarProps) {
useDefaultPfp: true,
});
const { connect: connectSnReact } = useConnect();
+ const isMobile = useIsMobile();
+ const { starknetkitConnectModal } = useStarknetkitConnectModal({
+ connectors: getConnectors(isMobile) as StarknetkitConnector[],
+ });
- const [lastWallet, setLastWallet] = useAtom(lastWalletAtom);
+ // const [lastWallet, setLastWallet] = useAtom(lastWalletAtom);
const getTokenBalance = async (token: string, address: string) => {
const tokenInfo = getTokenInfoFromName(token);
@@ -187,10 +191,6 @@ export default function Navbar(props: NavbarProps) {
return balance.amount.toEtherToFixedDecimals(6);
};
- const isMobile = useIsMobile();
-
- console.log(account, 'account');
-
const connectorConfig: ConnectOptionsWithConnectors = useMemo(() => {
return {
modalMode: 'alwaysAsk',
@@ -208,23 +208,31 @@ export default function Navbar(props: NavbarProps) {
async function connectWallet(config = connectorConfig) {
try {
+ // const { connector } = await starknetkitConnectModal();
+ // if (!connector) {
+ // return;
+ // }
+
+ // await connectSnReact({ connector: connector as any });
+
+ console.log(`connectWallet`, config);
const { connector } = await connect(config);
console.log(connector, 'connector');
if (connector) {
connectSnReact({ connector: connector as any });
}
+ return true;
} catch (error) {
console.error('connectWallet error', error);
+ return false;
}
}
useEffect(() => {
const config = connectorConfig;
- connectWallet({
- ...config,
- modalMode: 'neverAsk',
- });
+ console.log('connecting wallet');
+ connectWallet({ ...config, modalMode: 'neverAsk' });
}, []);
useEffect(() => {
@@ -245,13 +253,13 @@ export default function Navbar(props: NavbarProps) {
}, [address]);
// Set last wallet when a new wallet is connected
- useEffect(() => {
- console.log('lastWallet connector', connector?.name);
- if (connector) {
- const name: string = connector.name;
- setLastWallet(name);
- }
- }, [connector]);
+ // useEffect(() => {
+ // console.log('lastWallet connector', connector?.name);
+ // if (connector) {
+ // const name: string = connector.name;
+ // setLastWallet(name);
+ // }
+ // }, [connector]);
// set address atom
useEffect(() => {
@@ -270,7 +278,7 @@ export default function Navbar(props: NavbarProps) {
zIndex={999}
top="0"
>
-
+ {process.env.NEXT_PUBLIC_IGNORE_SIGNING != 'true' && }
-
+
{/*
Troves
*/}
@@ -407,18 +411,7 @@ export default function Navbar(props: NavbarProps) {
variant={'ghost'}
borderColor={'color2'}
display={{ base: 'block', md: 'none' }}
- icon={
-
- }
+ icon={}
/>
- }
+ leftIcon={}
_hover={{
bg: 'purple_hover_2',
color: 'black',
@@ -481,13 +466,13 @@ export default function Navbar(props: NavbarProps) {
{address ? (
{
disconnectAsync().then((data) => {
console.log('wallet disconnected');
- setLastWallet(null);
+ // setLastWallet(null);
+ starknetKitDisconnect({ clearLastWallet: true });
});
}}
>
diff --git a/src/components/Pools.tsx b/src/components/Pools.tsx
index 24e08164..8e06e40d 100755
--- a/src/components/Pools.tsx
+++ b/src/components/Pools.tsx
@@ -200,49 +200,39 @@ export default function Pools() {
>
-
+
|
Pool name
|
-
+ |
|
-
-
-
-
+ |
+
|
-
+ |
{
gap="2"
width="100%"
>
-
+
@@ -71,12 +77,18 @@ const TVL: React.FC = () => {
-
+
@@ -96,12 +108,16 @@ const TVL: React.FC = () => {
-
+
diff --git a/src/components/TimeRangeSelector.tsx b/src/components/TimeRangeSelector.tsx
new file mode 100644
index 00000000..6466c3fd
--- /dev/null
+++ b/src/components/TimeRangeSelector.tsx
@@ -0,0 +1,46 @@
+'use client';
+
+import { Button, Flex } from '@chakra-ui/react';
+
+type TimeRange = '1d' | '7d' | '30d' | 'all';
+
+interface TimeRangeSelectorProps {
+ selectedRange: TimeRange;
+ onRangeChange: (range: TimeRange) => void;
+}
+
+const timeRanges: TimeRange[] = ['1d', '7d', '30d', 'all'];
+
+export default function TimeRangeSelector({
+ selectedRange,
+ onRangeChange,
+}: TimeRangeSelectorProps) {
+ return (
+
+ {timeRanges.map((range, index) => (
+ onRangeChange(range)}
+ textTransform="uppercase"
+ fontSize="xs"
+ fontWeight="semibold"
+ px={3}
+ py={2}
+ borderLeftRadius={index === 0 ? 'md' : 'none'}
+ borderRightRadius={index === timeRanges.length - 1 ? 'md' : 'none'}
+ borderWidth={1}
+ borderColor={'text_grey_60p'}
+ borderRightWidth={
+ (index === 1 || index === 2) && selectedRange !== range ? 0 : 1
+ }
+ bg={selectedRange === range ? 'purple' : 'transparent'}
+ color={selectedRange === range ? 'bg_4' : 'text_grey_90p'}
+ _hover={{ bg: 'inkBlack', color: 'white' }}
+ transition="all 0.2s"
+ >
+ {range}
+
+ ))}
+
+ );
+}
diff --git a/src/components/TncModal.tsx b/src/components/TncModal.tsx
index 0a8dc28e..ad71ebd7 100644
--- a/src/components/TncModal.tsx
+++ b/src/components/TncModal.tsx
@@ -47,7 +47,7 @@ export const UserTnCAtom = atomWithQuery((get) => {
});
const TncModal: React.FC = (props) => {
- const { address, account } = useAccount();
+ const { address } = useAccount();
const [refCode, setReferralCode] = useAtom(referralCodeAtom);
const searchParams = useSearchParams();
const userTncInfoRes = useAtomValue(UserTnCAtom);
@@ -117,7 +117,7 @@ const TncModal: React.FC = (props) => {
});
setIsSigningPending(false);
}
- if (!address || !account || !sigData) {
+ if (!address || !sigData) {
return;
}
@@ -150,13 +150,22 @@ const TncModal: React.FC = (props) => {
}, [sigData, signingError]);
const handleSign = async () => {
- if (!address || !account) {
- return;
- }
- mixpanel.track('TnC agreed', { address });
+ try {
+ if (!address) {
+ if (!address) {
+ toast.error('No Address to sign TnC');
+ }
- setIsSigningPending(true);
- signTypedData();
+ return;
+ }
+ mixpanel.track('TnC agreed', { address });
+
+ setIsSigningPending(true);
+ signTypedData();
+ } catch (error) {
+ toast.error('TnC Signing Error');
+ console.log('TnC Signing Error', error);
+ }
};
return (
diff --git a/src/components/TxButton.tsx b/src/components/TxButton.tsx
index 803650e5..660665c9 100755
--- a/src/components/TxButton.tsx
+++ b/src/components/TxButton.tsx
@@ -23,9 +23,11 @@ import {
import { useAccount, useSendTransaction } from '@starknet-react/core';
import { useAtomValue, useSetAtom } from 'jotai';
import mixpanel from 'mixpanel-browser';
-import { useEffect, useMemo } from 'react';
+import React, { useEffect, useMemo, useRef, useState } from 'react';
import { TwitterShareButton } from 'react-share';
import { Call } from 'starknet';
+import ConfirmationDialog from './ConfirmationDialog';
+import MyNumber from '@/utils/MyNumber';
interface TxButtonProps {
txInfo: StrategyTxProps;
@@ -37,6 +39,9 @@ interface TxButtonProps {
selectedMarket?: TokenInfo;
strategy?: IStrategyProps;
resetDepositForm: () => void;
+ onClickConfirmationPopup?: (
+ amount: MyNumber,
+ ) => Promise;
}
export default function TxButton(props: TxButtonProps) {
@@ -123,7 +128,36 @@ export default function TxButton(props: TxButtonProps) {
return strategiesList.find((s: any) => s.id === props.strategy?.id);
}, [strategiesInfo, props.strategy?.id]);
+ // Type the ref to match ConfirmationDialog's handleTrigger method
+ type ConfirmationDialogRef = { handleTrigger: () => void };
+ const buttonRef = useRef(null);
+ const loading = (
+
+ Loading...
+
+ );
+ const [popupContent, setPopupContent] = useState(
+ loading,
+ );
+
+ async function preHandleButton() {
+ if (props.onClickConfirmationPopup && buttonRef.current) {
+ buttonRef.current.handleTrigger();
+ try {
+ const res = await props.onClickConfirmationPopup(props.txInfo.amount);
+ setPopupContent(res);
+ } catch (error) {
+ setPopupContent(
+ Something went wrong. Please try again later.,
+ );
+ }
+ } else {
+ handleButton();
+ }
+ }
+
async function handleButton() {
+ setPopupContent(loading);
writeAsync().then((tx) => {
if (props.buttonText === 'Deposit') onOpen();
mixpanel.track('Submitted tx', {
@@ -229,6 +263,14 @@ export default function TxButton(props: TxButtonProps) {
+ {
+ setPopupContent(loading);
+ }}
+ />
diff --git a/src/components/YieldCard.tsx b/src/components/YieldCard.tsx
index 478a9ae8..8b377b04 100644
--- a/src/components/YieldCard.tsx
+++ b/src/components/YieldCard.tsx
@@ -1,11 +1,13 @@
-import shield from '@/assets/shield.svg';
+import ShieldIcon from '@/assets/shield.svg';
+import CONSTANTS, { DEFAULT_APY_METHODLOGY } from '@/constants';
import { addressAtom } from '@/store/claims.atoms';
-import { isPoolRetired, PoolInfo } from '@/store/pools';
+import { APRSplit, isPoolRetired, PoolInfo } from '@/store/pools';
import { getPoolInfoFromStrategy, sortAtom } from '@/store/protocols';
import { strategiesAtom } from '@/store/strategies.atoms';
import { TrovesStrategyAPIResult } from '@/store/troves.atoms';
import { UserStats, userStatsAtom } from '@/store/utils.atoms';
import { isLive, StrategyLiveStatus } from '@/strategies/IStrategy';
+import { MYSTYLES } from '@/style';
import { getDisplayCurrencyAmount } from '@/utils';
import { ArrowDownIcon, ArrowUpIcon } from '@chakra-ui/icons';
import {
@@ -94,7 +96,10 @@ export function StrategyInfo(props: YieldCardProps) {
{pool.pool.name}
{pool.additional && pool.additional.auditUrl && (
-
+
-
+
@@ -157,24 +158,13 @@ export function StrategyInfo(props: YieldCardProps) {
}
function getAPRWithToolTip(pool: PoolInfo) {
- const tip = (
-
- {pool.aprSplits.map((split) => {
- return (
-
-
- {split.title} {split.description ? `(${split.description})` : ''}
-
-
- {split.apr === 'Err' ? split.apr : (split.apr * 100).toFixed(2)}%
-
-
- );
- })}
-
- );
+ const defaultAPYMethodology = DEFAULT_APY_METHODLOGY;
+ const tip = APYToolTip({
+ apyMethodology: pool.apyMethodology || defaultAPYMethodology,
+ apySplits: pool.aprSplits,
+ });
return (
-
+
{points.map((point, index) => (
-
+
+ {props.apyMethodology}
+ {props.apySplits.map((apySplit) => (
+
+
+ {apySplit.title}:
+ {apySplit.description && (
+
+ {apySplit.description}
+
+ )}
+
+ {apySplit.apr != 'Err' && (
+ {(apySplit.apr * 100).toFixed(2)}%
+ )}
+ {apySplit.apr == 'Err' && (
+
+ Error
+
+ )}
+
+ ))}
+
+ );
+}
+
function StrategyAPY(props: YieldCardProps) {
const { pool } = props;
const isRetired = useMemo(() => {
@@ -254,9 +284,8 @@ function StrategyAPY(props: YieldCardProps) {
{pool.aprSplits.length &&
pool.aprSplits.some((a) => a.title == 'Rewards APY') && (
@@ -363,7 +392,10 @@ export function StrategyBalance(props: YieldCardProps) {
>
{!isPoolLive && -}
{address && isPoolLive && pool.protocol.name === 'Troves' && (
-
+
<>
${getDisplayCurrencyAmount(holdingsInfo.usdValue, 0)}
@@ -438,9 +470,16 @@ function GetRiskLevel(riskFactor: number) {
>
+ {tooltipLabel}{' '}
+
+ For detailed risk analysis, check the Risks tab in the strategy
+ page.
+
+ >
+ }
+ {...MYSTYLES.TOOLTIP.STANDARD}
>
({
+ token: standariseAddress(token.address.address),
+ name: token.symbol,
+ decimals: token.decimals,
+ displayDecimals: token.displayDecimals,
isERC4626: false,
- },
- {
- token: standariseAddress(
- '0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d',
- ),
- name: 'STRK',
- decimals: 18,
- displayDecimals: 2,
- logo: CONSTANTS.LOGOS.STRK,
- minAmount: MyNumber.fromEther('10', 18),
- maxAmount: MyNumber.fromEther('10000', 18),
- stepAmount: MyNumber.fromEther('10', 18),
- isERC4626: false,
- },
- // ! todo change this
- {
- token: standariseAddress(
- '0x28d709c875c0ceac3dce7065bec5328186dc89fe254527084d1689910954b0a',
- ),
- name: 'xSTRK',
- decimals: 18,
- displayDecimals: 2,
- logo: CONSTANTS.LOGOS.xSTRK,
- minAmount: MyNumber.fromEther('10', 18),
- maxAmount: MyNumber.fromEther('10000', 18),
- stepAmount: MyNumber.fromEther('10', 18),
- isERC4626: false,
- },
+ logo: token.logo,
+ })),
{
token: '0x06d8fa671ef84f791b7f601fa79fea8f6ceb70b5fa84189e3159d532162efc21',
name: 'zSTRK',
decimals: 18,
displayDecimals: 2,
logo: CONSTANTS.LOGOS.STRK,
- minAmount: MyNumber.fromEther('10', 18),
- maxAmount: MyNumber.fromEther('10000', 18),
- stepAmount: MyNumber.fromEther('10', 18),
isERC4626: false,
},
{
@@ -140,9 +112,6 @@ export const TOKENS: TokenInfo[] = [
decimals: 18,
displayDecimals: 2,
logo: CONSTANTS.LOGOS.ETH,
- minAmount: MyNumber.fromEther('10', 18),
- maxAmount: MyNumber.fromEther('10000', 18),
- stepAmount: MyNumber.fromEther('10', 18),
isERC4626: false,
},
{
@@ -151,9 +120,6 @@ export const TOKENS: TokenInfo[] = [
decimals: 18,
displayDecimals: 4,
logo: CONSTANTS.LOGOS.ETH,
- minAmount: MyNumber.fromEther('0.001', 18),
- maxAmount: MyNumber.fromEther('10000', 18),
- stepAmount: MyNumber.fromEther('0.0001', 18),
isERC4626: false,
},
{
@@ -162,42 +128,14 @@ export const TOKENS: TokenInfo[] = [
decimals: 18,
displayDecimals: 2,
logo: CONSTANTS.LOGOS.STRK,
- minAmount: MyNumber.fromEther('10', 18),
- maxAmount: MyNumber.fromEther('10000', 18),
- stepAmount: MyNumber.fromEther('10', 18),
isERC4626: true,
},
- {
- token: '0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8',
- name: 'USDC',
- decimals: 6,
- displayDecimals: 2,
- logo: CONSTANTS.LOGOS.USDC,
- minAmount: MyNumber.fromEther('10', 6),
- maxAmount: MyNumber.fromEther('10000', 6),
- stepAmount: MyNumber.fromEther('10', 6),
- isERC4626: false,
- },
- {
- token: '0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8',
- name: 'USDT',
- decimals: 6,
- displayDecimals: 2,
- logo: CONSTANTS.LOGOS.USDT,
- minAmount: MyNumber.fromEther('10', 6),
- maxAmount: MyNumber.fromEther('10000', 6),
- stepAmount: MyNumber.fromEther('10', 6),
- isERC4626: false,
- },
{
token: '0x047ad51726d891f972e74e4ad858a261b43869f7126ce7436ee0b2529a98f486',
name: 'zUSDC',
decimals: 6,
displayDecimals: 2,
logo: CONSTANTS.LOGOS.USDC,
- minAmount: MyNumber.fromEther('10', 6),
- maxAmount: MyNumber.fromEther('10000', 6),
- stepAmount: MyNumber.fromEther('10', 6),
isERC4626: false,
},
{
@@ -206,9 +144,6 @@ export const TOKENS: TokenInfo[] = [
decimals: 6,
displayDecimals: 2,
logo: CONSTANTS.LOGOS.USDC,
- minAmount: MyNumber.fromEther('10', 6),
- maxAmount: MyNumber.fromEther('10000', 6),
- stepAmount: MyNumber.fromEther('10', 6),
isERC4626: true,
},
{
@@ -217,9 +152,6 @@ export const TOKENS: TokenInfo[] = [
decimals: 18,
displayDecimals: 2,
logo: CONSTANTS.LOGOS.xSTRK,
- minAmount: MyNumber.fromEther('0.01', 18),
- maxAmount: MyNumber.fromEther('10000', 18),
- stepAmount: MyNumber.fromEther('0.01', 18),
isERC4626: true,
},
];
diff --git a/src/hooks/useERC20Balance.ts b/src/hooks/useERC20Balance.ts
index d752f8f9..f59756ff 100755
--- a/src/hooks/useERC20Balance.ts
+++ b/src/hooks/useERC20Balance.ts
@@ -11,10 +11,10 @@ export function useERC20Balance(token: TokenInfo | undefined) {
const { data, isError, isLoading, error } = useReadContract({
functionName: 'balanceOf',
args: [address || '0x0'],
- abi: ERC20Abi,
+ abi: ERC20Abi as any,
address: token?.token || ('0x0' as any),
watch: true,
- blockIdentifier: BlockTag.PENDING,
+ blockIdentifier: BlockTag.LATEST,
});
const result = useMemo(() => {
diff --git a/src/hooks/useERC4626Value.ts b/src/hooks/useERC4626Value.ts
index ff9f09de..807e2835 100755
--- a/src/hooks/useERC4626Value.ts
+++ b/src/hooks/useERC4626Value.ts
@@ -24,10 +24,10 @@ export function useERC4626Value(token: TokenInfo | undefined) {
} = useReadContract({
functionName: 'convert_to_assets',
args: [uint256.bnToUint256(balance.toString())],
- abi: ERC4626Abi,
+ abi: ERC4626Abi as any,
address: token?.token || ('0x0' as any),
watch: true,
- blockIdentifier: BlockTag.PENDING,
+ blockIdentifier: BlockTag.LATEST,
});
const {
@@ -38,7 +38,7 @@ export function useERC4626Value(token: TokenInfo | undefined) {
} = useReadContract({
functionName: 'asset',
args: [],
- abi: ERC4626Abi,
+ abi: ERC4626Abi as any,
address: token?.token || ('0x0' as any),
watch: false,
});
diff --git a/src/hooks/useWalletConnection.tsx b/src/hooks/useWalletConnection.tsx
new file mode 100644
index 00000000..debfc635
--- /dev/null
+++ b/src/hooks/useWalletConnection.tsx
@@ -0,0 +1,83 @@
+import { useConnect } from '@starknet-react/core';
+import { connect, ConnectOptionsWithConnectors } from 'starknetkit';
+
+import { WalletConnector } from './wallet';
+import { useIsMobile } from './use-mobile';
+import { constants } from 'starknet';
+import { useAtom } from 'jotai';
+import { lastWalletAtom } from '@/store/utils.atoms';
+
+// Types for the result object with discriminated union
+type Success = {
+ data: T;
+ error: null;
+};
+
+type Failure = {
+ data: null;
+ error: E;
+};
+
+type Result = Success | Failure;
+export async function tryCatch(
+ promise: Promise,
+): Promise> {
+ try {
+ const data = await promise;
+ return { data, error: null };
+ } catch (error) {
+ return { data: null, error: error as E };
+ }
+}
+
+export function useWalletConnection() {
+ const { connect: connectSnReact } = useConnect();
+ const isMobile = useIsMobile();
+
+ const walletConnector = new WalletConnector(isMobile);
+ const [lastConnector, setLastConnector] = useAtom(lastWalletAtom);
+
+ const hostname =
+ typeof window !== 'undefined' ? window.location.hostname : '';
+
+ console.log('useWalletConnection', hostname);
+
+ const config: ConnectOptionsWithConnectors | any = {
+ modalMode: 'canAsk',
+ modalTheme: 'light',
+ webWalletUrl: 'https://web.argent.xyz',
+ argentMobileOptions: {
+ dappName: 'Troves.fi',
+ chainId: constants.NetworkName.SN_MAIN,
+ url: hostname,
+ },
+ dappName: 'Troves.fi',
+ connectors: walletConnector.getConnectors(),
+ };
+
+ const connectWallet = async (configParam = config) => {
+ const { data, error } = await tryCatch(connect(configParam));
+ console.log('useWalletConnection connectWallet', { data, error });
+ const connector =
+ data?.connector ||
+ walletConnector.getConnectors().find((w) => w.id === lastConnector);
+ console.log('useWalletConnection connectWallet2', {
+ lastConnector,
+ connectors: walletConnector.getConnectors(),
+ connector,
+ id: data?.connector?.id,
+ });
+ if (connector) {
+ // connectSnReact({ connector: connector as any });
+ }
+ if (data?.connector) {
+ setLastConnector(data.connector.id);
+ }
+
+ if (error) {
+ console.error('connectWallet error', error.message);
+ }
+ };
+
+ return { connectWallet, config };
+}
diff --git a/src/hooks/wallet.ts b/src/hooks/wallet.ts
new file mode 100644
index 00000000..767179a5
--- /dev/null
+++ b/src/hooks/wallet.ts
@@ -0,0 +1,119 @@
+import { InjectedConnector } from '@starknet-react/core';
+import { constants } from 'starknet';
+import { StarknetkitConnector } from 'starknetkit';
+import {
+ ArgentMobileConnector,
+ isInArgentMobileAppBrowser,
+} from 'starknetkit/argentMobile';
+import {
+ BraavosMobileConnector,
+ isInBraavosMobileAppBrowser,
+} from 'starknetkit/braavosMobile';
+import { WebWalletConnector } from 'starknetkit/webwallet';
+
+export class WalletConnector {
+ private isMobile: boolean;
+
+ constructor(isMobile: boolean) {
+ this.isMobile = isMobile;
+ }
+
+ public getConnectors() {
+ const hostname =
+ typeof window !== 'undefined' ? window.location.hostname : '';
+
+ const mobileConnector = ArgentMobileConnector.init({
+ options: {
+ dappName: 'Endurfi',
+ url: hostname,
+ chainId: constants.NetworkName.SN_MAIN,
+ },
+ inAppBrowserOptions: {},
+ }) as StarknetkitConnector;
+
+ const argentXConnector = new InjectedConnector({
+ options: {
+ id: 'argentX',
+ name: 'Argent X',
+ },
+ }) as unknown as StarknetkitConnector;
+
+ const braavosConnector = new InjectedConnector({
+ options: {
+ id: 'braavos',
+ name: 'Braavos',
+ },
+ }) as unknown as StarknetkitConnector;
+
+ const keplrConnector = new InjectedConnector({
+ options: {
+ id: 'keplr',
+ name: 'Keplr',
+ },
+ }) as unknown as StarknetkitConnector;
+
+ const braavosMobile = BraavosMobileConnector.init({
+ inAppBrowserOptions: {},
+ }) as StarknetkitConnector;
+
+ const webWalletConnector = new WebWalletConnector({
+ url: 'https://web.argent.xyz',
+ }) as StarknetkitConnector;
+
+ const isMainnet = true;
+
+ const isInstalled = [
+ argentXConnector,
+ braavosConnector,
+ keplrConnector,
+ ].map((wallet) => {
+ return {
+ id: wallet.id,
+ isInstalled:
+ typeof window === 'undefined'
+ ? false
+ : window[`starknet_${wallet.id}`] !== undefined,
+ };
+ });
+
+ // console.warn("isInstalled", isInstalled);
+
+ const defaultConnectors = [
+ argentXConnector,
+ braavosConnector,
+ keplrConnector,
+ ];
+
+ // put uninstall wallets at the end
+ const sortedConnectors: any[] = defaultConnectors.sort((a, b) => {
+ const aInstalled = isInstalled.find(
+ (wallet) => wallet.id === a.id,
+ )?.isInstalled;
+ const bInstalled = isInstalled.find(
+ (wallet) => wallet.id === b.id,
+ )?.isInstalled;
+
+ if (aInstalled && bInstalled) {
+ return 0;
+ } else if (aInstalled) {
+ return -1;
+ }
+ return 1;
+ });
+
+ if (isMainnet) {
+ if (isInArgentMobileAppBrowser()) {
+ return [mobileConnector];
+ } else if (isInBraavosMobileAppBrowser()) {
+ return [braavosMobile];
+ } else if (this.isMobile) {
+ return [mobileConnector, braavosMobile, webWalletConnector];
+ }
+
+ sortedConnectors.push(mobileConnector);
+ sortedConnectors.push(webWalletConnector);
+ return sortedConnectors;
+ }
+ return sortedConnectors;
+ }
+}
diff --git a/src/store/balance.atoms.ts b/src/store/balance.atoms.ts
index 48f00544..63b6e38c 100755
--- a/src/store/balance.atoms.ts
+++ b/src/store/balance.atoms.ts
@@ -38,7 +38,11 @@ export async function getERC20Balance(
const provider = new RpcProvider({
nodeUrl: process.env.NEXT_PUBLIC_RPC_URL,
});
- const erc20Contract = new Contract(ERC20Abi, token.token, provider);
+ const erc20Contract = new Contract({
+ abi: ERC20Abi,
+ address: token.token,
+ providerOrAccount: provider,
+ });
const balance = await erc20Contract.call('balanceOf', [address]);
return {
amount: new MyNumber(balance.toString(), token.decimals),
@@ -57,7 +61,11 @@ export async function getERC4626Balance(
const provider = new RpcProvider({
nodeUrl: process.env.NEXT_PUBLIC_RPC_URL,
});
- const erc4626Contract = new Contract(ERC4626Abi, token.token, provider);
+ const erc4626Contract = new Contract({
+ abi: ERC4626Abi,
+ address: token.token,
+ providerOrAccount: provider,
+ });
const balance = await erc4626Contract.call('convert_to_assets', [
uint256.bnToUint256(bal.amount.toString()),
]);
@@ -85,19 +93,19 @@ export async function getERC721PositionValue(
});
let result: any = null;
try {
- const erc721Contract = new Contract(
- DeltaNeutralAbi,
- token.address,
- provider,
- );
+ const erc721Contract = new Contract({
+ abi: DeltaNeutralAbi,
+ address: token.address,
+ providerOrAccount: provider,
+ });
const tokenId = num.getDecimalString(address);
result = await erc721Contract.call('describe_position', [tokenId]);
} catch (err) {
- const erc721Contract = new Contract(
- DeltaNeutralAbi2,
- token.address,
- provider,
- );
+ const erc721Contract = new Contract({
+ abi: DeltaNeutralAbi2,
+ address: token.address,
+ providerOrAccount: provider,
+ });
const tokenId = num.getDecimalString(address);
result = await erc721Contract.call('describe_position', [tokenId]);
}
diff --git a/src/store/pools.ts b/src/store/pools.ts
index 7782c0fc..53746206 100755
--- a/src/store/pools.ts
+++ b/src/store/pools.ts
@@ -50,6 +50,7 @@ export interface PoolInfo extends PoolMetadata {
};
tvl: number;
apr: number; // not in %
+ apyMethodology?: string;
aprSplits: APRSplit[];
category: Category[];
type: PoolType;
diff --git a/src/store/protocols.ts b/src/store/protocols.ts
index 3b22a955..f50e9d81 100644
--- a/src/store/protocols.ts
+++ b/src/store/protocols.ts
@@ -10,6 +10,7 @@ import { Category, isPoolRetired, PoolInfo, PoolType } from './pools';
import { getLiveStatusEnum } from '@/utils/strategyStatus';
import TrovesAtoms, { troves, TrovesStrategyAPIResult } from './troves.atoms';
import VesuAtoms, { vesu } from './vesu.store';
+import CONSTANTS from '@/constants';
export const getProtocols = () => [
{
@@ -160,7 +161,7 @@ export function getPoolInfoFromStrategy(
} else if (strat.name.includes('ETH')) {
category.push(Category.ETH);
}
- const item = {
+ const item: PoolInfo = {
pool: {
id: strat.id,
name: strat.name,
@@ -180,6 +181,7 @@ export function getPoolInfoFromStrategy(
description: 'Includes fees & Defi spring rewards',
},
],
+ apyMethodology: strat.apyMethodology,
category,
type: PoolType.Derivatives,
borrow: {
@@ -203,7 +205,7 @@ export function getPoolInfoFromStrategy(
item.aprSplits.push({
apr: strat.apySplit.rewardsApy,
title: 'Rewards APY',
- description: 'Additional incentives by Troves',
+ description: CONSTANTS.BOOSTED_YIELD_TOOLTIP_TEXT,
});
}
return item;
diff --git a/src/store/strategies.atoms.tsx b/src/store/strategies.atoms.tsx
index 056cb4c3..cb78a438 100755
--- a/src/store/strategies.atoms.tsx
+++ b/src/store/strategies.atoms.tsx
@@ -5,7 +5,6 @@ import {
StrategyLiveStatus,
} from '@/strategies/IStrategy';
import CONSTANTS from '@/constants';
-import Mustache from 'mustache';
import { convertToV2TokenInfo, getTokenInfoFromName } from '@/utils';
import { allPoolsAtomUnSorted, privatePoolsAtom } from './protocols';
import { endur } from './endur.store';
@@ -15,11 +14,17 @@ import { DeltaNeutralMM } from '@/strategies/delta_neutral_mm';
import { DeltaNeutralMM2 } from '@/strategies/delta_neutral_mm_2';
import { DeltaNeutralMMVesuEndur } from '@/strategies/delta_neutral_mm_vesu_endur';
import { Box, Link, Text } from '@chakra-ui/react';
-import { EkuboCLVaultStrategies, VesuRebalanceStrategies } from '@strkfarm/sdk';
+import {
+ EkuboCLVaultStrategies,
+ SenseiStrategies,
+ UniversalStrategies,
+ VesuRebalanceStrategies,
+} from '@strkfarm/sdk';
import { VesuRebalanceStrategy } from '@/strategies/vesu_rebalance';
import { atomWithQuery } from 'jotai-tanstack-query';
import { EkuboClStrategy } from '@/strategies/ekubo_cl_vault';
import { ReactNode } from 'react';
+import { UniversalStrategyClass } from '@/strategies/universal.strat';
export interface StrategyInfo extends IStrategyProps {
name: string;
@@ -64,10 +69,22 @@ export function getStrategies() {
},
];
+ const DNMMDescription = (token1: string, token2: string) => (
+
+
+ Note: Vault is retired due to zkLend
+ exploit. Claim any recovered funds{' '}
+
+ here.
+
+
+
+ );
+
const autoStrkStrategy = new AutoTokenStrategy(
'STRK',
'Auto Compounding STRK',
- "Stake your STRK or zkLend's zSTRK token to receive DeFi Spring $STRK rewards every 7 days. The strategy auto-collects your rewards and re-invests them in the zkLend STRK pool, giving you higher return through compounding. You receive frmzSTRK LP token as representation for your stake on Troves. You can withdraw anytime by redeeming your frmzSTRK for zSTRK and see your STRK in zkLend.",
+ DNMMDescription('', ''),
'zSTRK',
CONSTANTS.CONTRACTS.AutoStrkFarm,
{
@@ -81,7 +98,7 @@ export function getStrategies() {
const autoUSDCStrategy = new AutoTokenStrategy(
'USDC',
'Auto Compounding USDC',
- "Stake your USDC or zkLend's zUSDC token to receive DeFi Spring $STRK rewards every 7 days. The strategy auto-collects your $STRK rewards, swaps them to USDC and re-invests them in the zkLend USDC pool, giving you higher return through compounding. You receive frmzUSDC LP token as representation for your stake on Troves. You can withdraw anytime by redeeming your frmzUSDC for zUSDC and see your STRK in zkLend.",
+ DNMMDescription('', ''),
'zUSDC',
CONSTANTS.CONTRACTS.AutoUsdcFarm,
{
@@ -113,25 +130,6 @@ export function getStrategies() {
},
];
- const DNMMDescription = (token1: string, token2: string) => (
-
-
- Deposit your {token1} to automatically loop your funds between zkLend
- and Nostra to create a delta neutral position. This strategy is designed
- to maximize your yield on {token1}. Your position is automatically
- adjusted periodically to maintain a healthy health factor. You receive a
- NFT as representation for your stake on Troves. You can withdraw anytime
- by redeeming your NFT for {token2}.
-
-
- Note: Vault is retired due to zkLend
- exploit. Claim any recovered funds{' '}
-
- here.
-
-
-
- );
const usdcTokenInfo = getTokenInfoFromName('USDC');
const deltaNeutralMMUSDCETH = new DeltaNeutralMM(
usdcTokenInfo,
@@ -200,37 +198,16 @@ export function getStrategies() {
},
);
- const xSTRKDescription = `Deposit your {{token1}} to automatically loop your funds via Endur and Vesu to create a delta neutral position. This strategy is designed to maximize your yield on {{token1}}. Your position is automatically adjusted periodically to maintain a healthy health factor. You receive a NFT as representation for your stake on Troves. You can withdraw anytime by redeeming your NFT for {{token2}}.`;
+ const xSTRKStrategyInfo = SenseiStrategies.find(
+ (s) => s.name === 'xSTRK Sensei',
+ )!;
const deltaNeutralxSTRKSTRK = new DeltaNeutralMMVesuEndur(
- getTokenInfoFromName('STRK'),
- 'xSTRK Sensei',
- Mustache.render(xSTRKDescription, { token1: 'STRK', token2: 'xSTRK' }),
- 'xSTRK',
- CONSTANTS.CONTRACTS.DeltaNeutralxSTRKSTRKXL,
- [1, 1, 0.725, 1.967985], // precomputed factors based on strategy math
+ 'xstrk_sensei',
+ xSTRKStrategyInfo,
StrategyLiveStatus.ACTIVE,
{
- maxTVL: 500000,
+ maxTVL: xSTRKStrategyInfo.maxTVL.toNumber(),
alerts: [
- // {
- // type: 'warning',
- // text: (
- //
- // Note: Vesu has recently migrated. Deposits and
- // withdrawals for this strategy are temporarily paused until we
- // migrate this strategy.{' '}
- //
- // Learn more
- //
- // .
- //
- // ),
- // tab: 'all',
- // },
{
type: 'info',
text: 'Depeg-risk: If xSTRK price on DEXes deviates from expected price, you may lose money or may have to wait for the price to recover.',
@@ -240,6 +217,7 @@ export function getStrategies() {
isPaused: false,
isInMaintenance: false,
isAudited: false,
+ isInstantWithdrawal: true,
quoteToken: convertToV2TokenInfo(getTokenInfoFromName('STRK')),
},
);
@@ -278,6 +256,7 @@ export function getStrategies() {
// tab: 'all',
// },
],
+ isInstantWithdrawal: true,
quoteToken: convertToV2TokenInfo(
getTokenInfoFromName(v.depositTokens[0]?.symbol || ''),
),
@@ -290,7 +269,7 @@ export function getStrategies() {
v.name,
v.description as ReactNode,
v,
- StrategyLiveStatus.HOT,
+ StrategyLiveStatus.ACTIVE,
{
maxTVL: 0,
isAudited: v.auditUrl ? true : false,
@@ -303,6 +282,7 @@ export function getStrategies() {
tab: 'all',
},
],
+ isInstantWithdrawal: true,
quoteToken: convertToV2TokenInfo(
getTokenInfoFromName(v.depositTokens[1]?.symbol || ''),
),
@@ -311,6 +291,31 @@ export function getStrategies() {
);
});
+ const evergreenStrategies = UniversalStrategies.map((uni) => {
+ return new UniversalStrategyClass(
+ `evergreen_${uni.depositTokens[0]?.symbol.toLowerCase()}`,
+ getTokenInfoFromName(uni.depositTokens[0]?.symbol || ''),
+ uni.name,
+ uni.description as ReactNode,
+ uni,
+ StrategyLiveStatus.HOT,
+ {
+ maxTVL: 0,
+ isAudited: false,
+ isPaused: false,
+ alerts: [
+ {
+ tab: 'withdraw',
+ text: 'On withdrawal, you will receive an NFT representing your withdrawal request. The funds will be automatically sent to your wallet (NFT owner) in 1-2 hours. You can monitor the status in transactions tab.',
+ type: 'info',
+ },
+ ],
+ isInstantWithdrawal: false,
+ quoteToken: convertToV2TokenInfo(uni.depositTokens[0]),
+ },
+ );
+ });
+
// const xSTRKStrategy = new AutoXSTRKStrategy(
// 'Stake STRK',
// 'Endur is Starknet's dedicated staking platform, where you can stake STRK to earn staking rewards. This strategy, built on Endur, is an incentivized vault that boosts returns by offering additional rewards. In the future, it may transition to auto-compounding on DeFi Spring, reinvesting rewards for maximum growth. Changes will be announced at least three days in advance on our socials.',
@@ -333,6 +338,7 @@ export function getStrategies() {
deltaNeutralxSTRKSTRK,
...vesuRebalanceStrats,
...ekuboCLStrats,
+ ...evergreenStrategies,
// xSTRKStrategy,
];
@@ -356,7 +362,6 @@ const strategiesAtomAsync = atomWithQuery((get) => {
const allPools = get(allPoolsAtomUnSorted);
const requiredPools = allPools.filter(
(p) =>
- p.protocol.name === 'zkLend' ||
p.protocol.name === 'Nostra' ||
p.protocol.name === 'Vesu' ||
p.protocol.name === endur.name,
diff --git a/src/store/transactions.atom.ts b/src/store/transactions.atom.ts
index 71e915da..9fa022f6 100755
--- a/src/store/transactions.atom.ts
+++ b/src/store/transactions.atom.ts
@@ -8,16 +8,19 @@ import { Getter, Setter, atom } from 'jotai';
import toast from 'react-hot-toast';
import { RpcProvider, TransactionExecutionStatus } from 'starknet';
import { StrategyInfo, strategiesAtom } from './strategies.atoms';
-import { createAtomWithStorage } from './utils.atoms';
import { atomWithQuery } from 'jotai-tanstack-query';
import { gql } from '@apollo/client';
import apolloClient from '@/utils/apolloClient';
export interface StrategyTxProps {
strategyId: string;
- actionType: 'deposit' | 'withdraw';
+ actionType: 'deposit' | 'withdraw' | 'redeem' | 'claim';
amount: MyNumber;
tokenAddr: string;
+ block_number: number;
+ txIndex: number;
+ eventIndex: number;
+ request_id?: string; // for withdraw NFT
}
// Standard tx info to be stored in local storage
@@ -34,7 +37,11 @@ export interface TxHistory {
timestamp: number;
type: string;
txHash: string;
+ request_id?: string;
asset: string;
+ block_number: number;
+ txIndex: number;
+ eventIndex: number;
__typename: 'Investment_flows';
}[];
}
@@ -50,9 +57,13 @@ async function getTxHistory(
query: gql`
query Query($where: Investment_flowsWhereInput) {
findManyInvestment_flows(where: $where) {
+ block_number
+ txIndex
+ eventIndex
amount
timestamp
type
+ request_id
txHash
asset
}
@@ -68,10 +79,32 @@ async function getTxHistory(
},
},
},
- // fetchPolicy: 'network-only'
+ fetchPolicy: 'no-cache', // ignores cache completely
});
- return data;
+ // merge types redeem and claim.
+ // if exists a tx of type claim for same request id, claim is selected, else redeem is selected
+ // but only one request_id for a given tx
+ const mergedTxs: TxHistory['findManyInvestment_flows'] = [];
+ const txMap: Record =
+ {};
+
+ data.findManyInvestment_flows.forEach((tx: any) => {
+ if (tx.type == 'redeem' || tx.type == 'claim') {
+ if (!txMap[tx.request_id]) {
+ txMap[tx.request_id] = tx;
+ } else if (tx.type === 'claim') {
+ txMap[tx.request_id] = tx;
+ }
+ } else {
+ mergedTxs.push(tx);
+ }
+ });
+ Object.values(txMap).forEach((tx) => {
+ mergedTxs.push(tx);
+ });
+
+ return { findManyInvestment_flows: mergedTxs };
} catch (error) {
console.error('GraphQL Error:', error);
throw error;
@@ -93,26 +126,43 @@ export const TxHistoryAtom = (contract: string, owner: string) =>
const newTxs = get(newTxsAtom);
console.log('TxHistoryAtom newTxs', newTxs);
const allTxs = res.findManyInvestment_flows.concat(
- newTxs.map((tx) => {
- return {
- amount: tx.info.amount.toString(),
- timestamp: Math.round(tx.createdAt.getTime() / 1000),
- type: tx.info.actionType,
- txHash: tx.txHash,
- asset: tx.info.tokenAddr,
- __typename: 'Investment_flows',
- };
- }),
+ newTxs
+ .filter((newTx) => {
+ // must not exist in indexed data
+ return !res.findManyInvestment_flows.find(
+ (tx) =>
+ standariseAddress(tx.txHash) ===
+ standariseAddress(newTx.txHash),
+ );
+ })
+ .map((tx) => {
+ return {
+ amount: tx.info.amount.toString(),
+ timestamp: Math.round(tx.createdAt.getTime() / 1000),
+ type: tx.info.actionType,
+ txHash: tx.txHash,
+ request_id: tx.info.request_id,
+ asset: tx.info.tokenAddr,
+ __typename: 'Investment_flows',
+ block_number: tx.info.block_number,
+ txIndex: tx.info.txIndex,
+ eventIndex: tx.info.eventIndex,
+ };
+ }),
);
- console.log('TxHistoryAtom', allTxs);
+ console.log('TxHistoryAtom', allTxs, res.findManyInvestment_flows);
// remove any duplicate txs by txHash
const txMap: any = {}; // txHash: boolean
const txHashes = allTxs.filter((txInfo) => {
- if (txMap[txInfo.txHash]) {
+ let uniqueKey = `${txInfo.block_number}-${txInfo.txIndex}-${txInfo.eventIndex}`;
+ if (txInfo.block_number == 0) {
+ uniqueKey = txInfo.txHash;
+ }
+ if (txMap[uniqueKey]) {
return false;
}
- txMap[txInfo.txHash] = true;
+ txMap[uniqueKey] = true;
return true;
});
@@ -148,19 +198,13 @@ async function deserialiseTxInfo(key: string, initialValue: TransactionInfo[]) {
return txs;
}
-// Atom to store tx history in local storage
-export const transactionsAtom = createAtomWithStorage(
- 'transactions',
- [],
- deserialiseTxInfo,
-);
-
// call this func to add a new tx to the tx history
// initiates a toast notification
export const monitorNewTxAtom = atom(
null,
async (get, set, tx: TransactionInfo) => {
console.log('monitorNewTxAtom', tx);
+ set(newTxsAtom, (prev) => [...prev, tx]);
await initToast(tx, get, set);
},
);
@@ -175,11 +219,11 @@ async function waitForTransaction(
});
console.log('waitForTransaction', tx);
await isTxAccepted(tx.txHash);
+
console.log('waitForTransaction done', tx);
- const txs = await get(transactionsAtom);
+ const txs = await get(newTxsAtom);
tx.status = 'success';
- txs.push(tx);
- set(transactionsAtom, txs);
+ set(newTxsAtom, txs);
}
// Somehow waitForTransaction is giving delayed confirmation
@@ -196,9 +240,9 @@ async function isTxAccepted(txHash: string) {
try {
txInfo = await provider.getTransactionStatus(txHash);
} catch (error) {
- console.error('isTxAccepted error', error);
retry++;
if (retry > maxRetries) {
+ console.error('isTxAccepted error', error, { retry });
throw new Error('Transaction status unknown');
}
await new Promise((resolve) => setTimeout(resolve, 2000));
diff --git a/src/store/troves.atoms.ts b/src/store/troves.atoms.ts
index f6480864..a48381ce 100644
--- a/src/store/troves.atoms.ts
+++ b/src/store/troves.atoms.ts
@@ -29,6 +29,7 @@ export interface TrovesStrategyAPIResult {
symbol: string;
decimals: number;
}[];
+ apyMethodology: string;
leverage: number;
contract: { name: string; address: string }[];
tvlUsd: number;
@@ -77,7 +78,7 @@ export class Troves extends IDapp {
rewardsApy.push({
apr: rawPool.apySplit.rewardsApy,
title: 'Rewards APY',
- description: 'Incentives by Troves',
+ description: CONSTANTS.BOOSTED_YIELD_TOOLTIP_TEXT,
});
}
@@ -98,6 +99,7 @@ export class Troves extends IDapp {
: 0,
tvl: rawPool.tvlUsd,
aprSplits: [...rewardsApy],
+ apyMethodology: rawPool.apyMethodology,
category: categories,
type: PoolType.Derivatives,
lending: {
diff --git a/src/store/zklend.store.ts b/src/store/zklend.store.ts
deleted file mode 100755
index 92f4180e..00000000
--- a/src/store/zklend.store.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import CONSTANTS from '@/constants';
-import { PoolInfo, ProtocolAtoms2, StrkLendingIncentivesAtom } from './pools';
-import { atom } from 'jotai';
-import { AtomWithQueryResult } from 'jotai-tanstack-query';
-import { IDapp } from './IDapp.store';
-import { StrategyAction } from '@/strategies/IStrategy';
-import { LendingSpace } from './lending.base';
-import { customAtomWithFetch } from '@/utils/customAtomWithFetch';
-
-export class ZkLend extends IDapp {
- name = 'zkLend';
- link = 'https://app.zklend.com/markets';
- logo =
- 'https://static-assets-8zct.onrender.com/integrations/zkLend/logo_dark.png';
-
- incentiveDataKey = 'zkLend';
- LIQUIDATION_THRESHOLD = 1;
- _computePoolsInfo(data: any) {
- return LendingSpace.computePoolsInfo(
- data,
- this.incentiveDataKey,
- {
- name: this.name,
- link: this.link,
- logo: this.logo,
- },
- this.commonVaultFilter,
- ).map((p) => ({ ...p, additional: { ...p.additional, riskFactor: 5 } }));
- // due to hack
- }
-
- getBaseAPY(
- p: PoolInfo,
- data: AtomWithQueryResult,
- ) {
- return LendingSpace.getBaseAPY(p, data);
- }
-
- // ! To consider price of tokens later. used for stables only for now.
- getHF(positions: StrategyAction[]) {
- return LendingSpace.getHF(positions, this.LIQUIDATION_THRESHOLD);
- }
-
- // Returns the maximum debt that can be taken out incl. the factor.
- getMaxFactoredOut(positions: StrategyAction[], minHf: number) {
- let numerator = 0;
- let denominator = 0;
- positions.map((p) => {
- // ! TODO To update math using bignumber and decimals
- if (p.isDeposit) {
- numerator +=
- Number(p.amount.toString()) * p.pool.lending.collateralFactor;
- } else {
- denominator += Number(p.amount.toString()) / p.pool.borrow.borrowFactor;
- }
- });
-
- // HF = (numerator) / (denominator + factoredAmount)
- // whre factoredAmount = (Amount of new Debt / debt factor)
- const factoredAmount = numerator / minHf - denominator;
- if (factoredAmount < 0) return 0;
- return factoredAmount;
- }
-}
-
-export const zkLend = new ZkLend();
-const ZkLendAtoms: ProtocolAtoms2 = {
- baseAPRs: customAtomWithFetch({
- url: CONSTANTS.ZKLEND.BASE_APR_API,
- queryKey: 'zklend_lending_base_aprs',
- }),
- pools: atom((get) => {
- const poolsInfo = get(StrkLendingIncentivesAtom);
- const empty: PoolInfo[] = [];
- if (!ZkLendAtoms.baseAPRs) return empty;
- const baseInfo = get(ZkLendAtoms.baseAPRs);
- if (poolsInfo.data) {
- const pools = zkLend._computePoolsInfo(poolsInfo.data);
- return zkLend.addBaseAPYs(pools, baseInfo);
- }
- return empty;
- }),
-};
-export default ZkLendAtoms;
diff --git a/src/strategies/IStrategy.ts b/src/strategies/IStrategy.ts
index 33b12dee..b46d9a78 100755
--- a/src/strategies/IStrategy.ts
+++ b/src/strategies/IStrategy.ts
@@ -7,7 +7,6 @@ import {
import { IndexedPoolData } from '@/store/endur.store';
import { LendingSpace } from '@/store/lending.base';
import { Category, PoolInfo } from '@/store/pools';
-import { zkLend } from '@/store/zklend.store';
import {
convertToV2TokenInfo,
convertToV2Web3Number,
@@ -49,9 +48,6 @@ export interface TokenInfo {
address?: string;
name: string;
logo: any;
- minAmount: MyNumber;
- maxAmount: MyNumber;
- stepAmount: MyNumber;
ekuboPriceKey?: string;
isERC4626: boolean;
}
@@ -104,6 +100,7 @@ export interface IStrategyActionHook {
// if strategy wants to relate different input amounts,
// config this fn
onAmountsChange?: onStratAmountsChangeFn;
+ onClickButton?: (amount: MyNumber) => Promise;
}
export interface IStrategySettings {
@@ -119,10 +116,22 @@ export interface IStrategySettings {
auditUrl?: string;
isPaused?: boolean;
isInMaintenance?: boolean;
+ isInstantWithdrawal?: boolean;
quoteToken: TokenInfoV2; // used to show the holdings in this token,
isTransactionHistDisabled?: boolean;
}
+export interface APYHistoryBlockInfo {
+ block: number;
+ timestamp: number;
+}
+
+export interface APYHistory {
+ block: number;
+ timestamp: number;
+ apy: number;
+}
+
export interface AmountInfo {
amount: Web3Number;
usdValue: number;
@@ -191,7 +200,7 @@ export class IStrategyProps {
];
getSafetyFactorLine() {
- return `Risk factor: ${this.riskFactor}/5`;
+ return `Risk factor: ${this.riskFactor.toFixed(2)}/5`;
}
depositMethods = async (
@@ -214,6 +223,12 @@ export class IStrategyProps {
throw new Error('getTVL: Not implemented');
};
+ getAPYHistory = async (
+ blocks: APYHistoryBlockInfo[],
+ ): Promise => {
+ return [];
+ };
+
isLive() {
return isLive(this.liveStatus);
}
@@ -327,6 +342,8 @@ export class IStrategyProps {
export class IStrategy extends IStrategyProps {
readonly tag: string;
+ cache: { [key: string]: { value: any; time: number; ttl: number } } = {}; // to avoid multiple calls to the same function
+
constructor(
id: string,
tag: string,
@@ -407,9 +424,7 @@ export class IStrategy extends IStrategyProps {
filterTokenByProtocol(
tokenName: string,
- protocol:
- | IDapp
- | IDapp = zkLend,
+ protocol: IDapp | IDapp,
) {
return (
pools: PoolInfo[],
@@ -479,7 +494,7 @@ export class IStrategy extends IStrategyProps {
}
}
} catch (err) {
- console.warn(`${this.tag} - unsolved`, err);
+ console.warn(`${this.tag} - unsolved`, this.name, err);
return;
}
@@ -488,7 +503,12 @@ export class IStrategy extends IStrategyProps {
const sign = action.isDeposit ? 1 : -1;
const apr = action.isDeposit ? action.pool.apr : action.pool.borrow.apr;
netYield += sign * apr * Number(action.amount);
- console.log('netYield1', sign, apr, action.amount, netYield);
+ console.log('netYield1', {
+ sign,
+ apr,
+ amount: action.amount,
+ netYield,
+ });
});
this.netYield = netYield / Number(amount);
console.log('netYield2', netYield, this.netYield, Number(amount));
@@ -508,6 +528,34 @@ export class IStrategy extends IStrategyProps {
isSolving() {
return this.status === StrategyStatus.SOLVING;
}
+
+ setCache(
+ key: string,
+ value: any,
+ ttl: number = 60000, // default 1 minute
+ ) {
+ this.cache[key] = {
+ value,
+ time: Date.now(),
+ ttl,
+ };
+ }
+
+ getCache(key: string): any | null {
+ const cached = this.cache[key];
+ if (!cached) return null;
+ if (Date.now() - cached.time > cached.ttl) {
+ delete this.cache[key];
+ return null;
+ }
+ return cached.value;
+ }
+
+ isCacheValid(key: string): boolean {
+ const cached = this.cache[key];
+ if (!cached) return false;
+ return Date.now() - cached.time <= cached.ttl;
+ }
}
export function getLiveStatusEnum(status: number) {
diff --git a/src/strategies/auto_strk.strat.ts b/src/strategies/auto_strk.strat.ts
index 212d8e0d..bfa8441f 100755
--- a/src/strategies/auto_strk.strat.ts
+++ b/src/strategies/auto_strk.strat.ts
@@ -22,8 +22,8 @@ import {
getTokenInfoFromName,
ZeroAmountsInfo,
} from '@/utils';
-import { zkLend } from '@/store/zklend.store';
import { ContractAddr, IStrategyMetadata, Web3Number } from '@strkfarm/sdk';
+import React from 'react';
interface Step {
name: string;
@@ -48,7 +48,7 @@ export class AutoTokenStrategy extends IStrategy {
constructor(
token: TokenName,
name: string,
- description: string,
+ description: string | React.ReactNode,
lpTokenName: string,
strategyAddress: string,
settings: IStrategySettings,
@@ -101,18 +101,7 @@ export class AutoTokenStrategy extends IStrategy {
);
this.token = tokenInfo;
- this.steps = [
- {
- name: `Supplies your ${token} to zkLend`,
- optimizer: this.optimizer,
- filter: [this.filterTokenByProtocol(this.token.name, zkLend)],
- },
- {
- name: `Re-invest your STRK Rewards every 7 days`,
- optimizer: this.compounder,
- filter: [this.filterTokenByProtocol('STRK', zkLend)],
- },
- ];
+ this.steps = [];
const _risks = [...this.risks];
this.risks = [
this.getSafetyFactorLine(),
@@ -220,22 +209,26 @@ export class AutoTokenStrategy extends IStrategy {
];
}
- const baseTokenContract = new Contract(
- ERC20Abi,
- baseTokenInfo.token,
- provider,
- );
- const zTokenContract = new Contract(ERC20Abi, zTokenInfo.token, provider);
- const masterContract = new Contract(
- MasterAbi,
- CONSTANTS.CONTRACTS.Master,
- provider,
- );
- const strategyContract = new Contract(
- AutoStrkAbi,
- this.strategyAddress,
- provider,
- );
+ const baseTokenContract = new Contract({
+ abi: ERC20Abi,
+ address: baseTokenInfo.token,
+ providerOrAccount: provider,
+ });
+ const zTokenContract = new Contract({
+ abi: ERC20Abi,
+ address: zTokenInfo.token,
+ providerOrAccount: provider,
+ });
+ const masterContract = new Contract({
+ abi: MasterAbi,
+ address: CONSTANTS.CONTRACTS.Master,
+ providerOrAccount: provider,
+ });
+ const strategyContract = new Contract({
+ abi: AutoStrkAbi,
+ address: this.strategyAddress,
+ providerOrAccount: provider,
+ });
// base token
const call11 = baseTokenContract.populate('approve', [
@@ -278,13 +271,17 @@ export class AutoTokenStrategy extends IStrategy {
}
// const baseTokenContract = new Contract(ERC20Abi, baseTokenInfo.token, provider);
- const frmTokenContract = new Contract(ERC20Abi, frmToken.token, provider);
+ const frmTokenContract = new Contract({
+ abi: ERC20Abi,
+ address: frmToken.token,
+ providerOrAccount: provider,
+ });
// const masterContract = new Contract(MasterAbi, CONSTANTS.CONTRACTS.Master, provider);
- const strategyContract = new Contract(
- AutoStrkAbi,
- this.strategyAddress,
- provider,
- );
+ const strategyContract = new Contract({
+ abi: AutoStrkAbi,
+ address: this.strategyAddress,
+ providerOrAccount: provider,
+ });
// base token
// const call11 = baseTokenContract.populate("approve", [masterContract.address, uint256.bnToUint256(amount.toString())])
diff --git a/src/strategies/auto_xstrk.strat.ts b/src/strategies/auto_xstrk.strat.ts
index 57323f30..3e0defed 100644
--- a/src/strategies/auto_xstrk.strat.ts
+++ b/src/strategies/auto_xstrk.strat.ts
@@ -200,11 +200,11 @@ export class AutoXSTRKStrategy extends IStrategy {
getTVL = async (): Promise => {
if (!this.isLive()) return ZeroAmountsInfo([this.token]);
- const strategyContract = new Contract(
- AutoStrkAbi,
- this.strategyAddress,
- provider,
- );
+ const strategyContract = new Contract({
+ abi: AutoStrkAbi,
+ address: this.strategyAddress,
+ providerOrAccount: provider,
+ });
const asset = num.getHexString(
(await strategyContract.call('asset', [])).toString(),
);
@@ -239,11 +239,11 @@ export class AutoXSTRKStrategy extends IStrategy {
(await strategyContract.call('total_assets', [])).toString(),
xSTRKInfo.decimals,
);
- const xSTRKContract = new Contract(
- AutoStrkAbi,
- xSTRKInfo.token,
- provider,
- );
+ const xSTRKContract = new Contract({
+ abi: AutoStrkAbi,
+ address: xSTRKInfo.token,
+ providerOrAccount: provider,
+ });
const strkAmount = new MyNumber(
(
await xSTRKContract.call('convert_to_assets', [
@@ -287,22 +287,26 @@ export class AutoXSTRKStrategy extends IStrategy {
];
}
- const baseTokenContract = new Contract(
- ERC20Abi,
- baseTokenInfo.token,
- provider,
- );
- const xTokenContract = new Contract(ERC20Abi, xTokenInfo.token, provider);
- const masterContract = new Contract(
- MasterAbi,
- CONSTANTS.CONTRACTS.Master,
- provider,
- );
- const strategyContract = new Contract(
- AutoStrkAbi,
- this.strategyAddress,
- provider,
- );
+ const baseTokenContract = new Contract({
+ abi: ERC20Abi,
+ address: baseTokenInfo.token,
+ providerOrAccount: provider,
+ });
+ const xTokenContract = new Contract({
+ abi: ERC20Abi,
+ address: xTokenInfo.token,
+ providerOrAccount: provider,
+ });
+ const masterContract = new Contract({
+ abi: MasterAbi,
+ address: CONSTANTS.CONTRACTS.Master,
+ providerOrAccount: provider,
+ });
+ const strategyContract = new Contract({
+ abi: AutoStrkAbi,
+ address: this.strategyAddress,
+ providerOrAccount: provider,
+ });
// base token
const call11 = baseTokenContract.populate('approve', [
@@ -346,13 +350,17 @@ export class AutoXSTRKStrategy extends IStrategy {
}
// const baseTokenContract = new Contract(ERC20Abi, baseTokenInfo.token, provider);
- const frmTokenContract = new Contract(ERC20Abi, frmToken.token, provider);
+ const frmTokenContract = new Contract({
+ abi: ERC20Abi,
+ address: frmToken.token,
+ providerOrAccount: provider,
+ });
// const masterContract = new Contract(MasterAbi, CONSTANTS.CONTRACTS.Master, provider);
- const strategyContract = new Contract(
- AutoStrkAbi,
- this.strategyAddress,
- provider,
- );
+ const strategyContract = new Contract({
+ abi: AutoStrkAbi,
+ address: this.strategyAddress,
+ providerOrAccount: provider,
+ });
// base token
// const call11 = baseTokenContract.populate("approve", [masterContract.address, uint256.bnToUint256(amount.toString())])
diff --git a/src/strategies/delta_neutral_mm.ts b/src/strategies/delta_neutral_mm.ts
index e3ee8fb3..af299521 100755
--- a/src/strategies/delta_neutral_mm.ts
+++ b/src/strategies/delta_neutral_mm.ts
@@ -11,12 +11,10 @@ import {
TokenInfo,
WithdrawActionInputs,
} from './IStrategy';
-import { zkLend } from '@/store/zklend.store';
import ERC20Abi from '@/abi/erc20.abi.json';
import DeltaNeutralAbi from '@/abi/deltraNeutral.abi.json';
import MyNumber from '@/utils/MyNumber';
-import { Call, Contract, uint256 } from 'starknet';
-import { nostraLending } from '@/store/nostralending.store';
+import { Call, Contract, uint256, UINT_256_MAX } from 'starknet';
import {
buildStrategyActionHook,
convertToV2TokenInfo,
@@ -45,8 +43,8 @@ export class DeltaNeutralMM extends IStrategy {
readonly stepAmountFactors: number[];
fee_factor = 0.1; // 10% fee
- protocol1: IDapp;
- protocol2: IDapp;
+ protocol1: IDapp | null = null;
+ protocol2: IDapp | null = null;
constructor(
token: TokenInfo,
name: string,
@@ -56,8 +54,8 @@ export class DeltaNeutralMM extends IStrategy {
stepAmountFactors: number[],
liveStatus: StrategyLiveStatus,
settings: IStrategySettings,
- protocol1: IDapp = zkLend,
- protocol2: IDapp = nostraLending,
+ protocol1: IDapp | null = null,
+ protocol2: IDapp | null = null,
) {
const rewardTokens = [{ logo: CONSTANTS.LOGOS.STRK }];
const nftInfo = NFTS.find(
@@ -118,7 +116,10 @@ export class DeltaNeutralMM extends IStrategy {
this.steps = this.getSteps();
- if (stepAmountFactors.length != this.getSteps().length - 1) {
+ if (
+ this.getSteps().length > 0 &&
+ stepAmountFactors.length != this.getSteps().length - 1
+ ) {
throw new Error(
'stepAmountFactors length should be equal to steps length',
);
@@ -136,6 +137,9 @@ export class DeltaNeutralMM extends IStrategy {
}
getSteps() {
+ if (!this.protocol1 || !this.protocol2) {
+ return [];
+ }
return [
{
name: `Supply's your ${this.token.name} to ${this.protocol1.name}`,
@@ -176,6 +180,9 @@ export class DeltaNeutralMM extends IStrategy {
prevActions: StrategyAction[],
) {
console.log('filterMainToken', pools);
+ if (!this.protocol1 || !this.protocol2) {
+ return [];
+ }
const dapp =
prevActions.length == 0 || prevActions.length == 4
? this.protocol1
@@ -190,6 +197,9 @@ export class DeltaNeutralMM extends IStrategy {
amount: string,
prevActions: StrategyAction[],
) {
+ if (!this.protocol1 || !this.protocol2) {
+ return [];
+ }
const dapp = prevActions.length == 1 ? this.protocol1 : this.protocol2;
return pools.filter(
(p) => p.pool.name == this.secondaryToken && p.protocol.name == dapp.name,
@@ -311,16 +321,16 @@ export class DeltaNeutralMM extends IStrategy {
return [DummyStrategyActionHook([baseTokenInfo])];
}
- const baseTokenContract = new Contract(
- ERC20Abi,
- baseTokenInfo.token,
- provider,
- );
- const strategyContract = new Contract(
- DeltaNeutralAbi,
- this.strategyAddress,
- provider,
- );
+ const baseTokenContract = new Contract({
+ abi: ERC20Abi,
+ address: baseTokenInfo.token,
+ providerOrAccount: provider,
+ });
+ const strategyContract = new Contract({
+ abi: DeltaNeutralAbi,
+ address: this.strategyAddress,
+ providerOrAccount: provider,
+ });
// base token
const call11 = baseTokenContract.populate('approve', [
@@ -334,9 +344,23 @@ export class DeltaNeutralMM extends IStrategy {
const calls1 = [call11, call12];
- return [buildStrategyActionHook(calls1, [baseTokenInfo])];
+ const output = buildStrategyActionHook(calls1, [baseTokenInfo]);
+ output.onClickButton = this.onDeposotButtonClick.bind(this);
+ return [output];
};
+ async onDeposotButtonClick(
+ amount: MyNumber,
+ ): Promise {
+ return [];
+ }
+
+ async onWithdrawButtonClick(
+ amount: MyNumber,
+ ): Promise {
+ return [];
+ }
+
getUserTVL = async (user: string): Promise => {
if (this.liveStatus == StrategyLiveStatus.COMING_SOON)
return ZeroAmountsInfo([this.token]);
@@ -397,24 +421,21 @@ export class DeltaNeutralMM extends IStrategy {
const { amount, address, provider, isMax } = inputs;
const mainToken = { ...this.token };
- // removing max amount restrictions on withdrawal
- mainToken.maxAmount = MyNumber.fromEther(
- '100000000000',
- mainToken.maxAmount.decimals,
- );
-
if (!address || address == '0x0') {
return [DummyStrategyActionHook([mainToken])];
}
- const strategyContract = new Contract(
- DeltaNeutralAbi,
- this.strategyAddress,
- provider,
- );
+ const strategyContract = new Contract({
+ abi: DeltaNeutralAbi,
+ address: this.strategyAddress,
+ providerOrAccount: provider,
+ });
const finalAmount = isMax
- ? new MyNumber(uint256.UINT_256_MAX.toString(), amount.decimals)
+ ? new MyNumber(
+ uint256.bnToUint256(UINT_256_MAX.toString()).toString(),
+ amount.decimals,
+ )
: amount;
const call = strategyContract.populate('withdraw', [
uint256.bnToUint256(finalAmount.toString()),
@@ -432,12 +453,13 @@ export class DeltaNeutralMM extends IStrategy {
if (!nftInfo) {
throw new Error('DeltaMM: NFT not found');
}
- return [
- buildStrategyActionHook(
- calls,
- [mainToken],
- [getBalanceAtom(nftInfo, atom(true))],
- ),
- ];
+
+ const output = buildStrategyActionHook(
+ calls,
+ [mainToken],
+ [getBalanceAtom(nftInfo, atom(true))],
+ );
+ output.onClickButton = this.onWithdrawButtonClick.bind(this);
+ return [output];
};
}
diff --git a/src/strategies/delta_neutral_mm_2.ts b/src/strategies/delta_neutral_mm_2.ts
index 35514f70..5e500808 100644
--- a/src/strategies/delta_neutral_mm_2.ts
+++ b/src/strategies/delta_neutral_mm_2.ts
@@ -6,8 +6,6 @@ import {
StrategyLiveStatus,
TokenInfo,
} from './IStrategy';
-import { nostraLending } from '@/store/nostralending.store';
-import { zkLend } from '@/store/zklend.store';
import {
convertToV2TokenInfo,
getPrice,
@@ -38,8 +36,6 @@ export class DeltaNeutralMM2 extends DeltaNeutralMM {
stepAmountFactors,
liveStatus,
settings,
- nostraLending,
- zkLend,
);
}
diff --git a/src/strategies/delta_neutral_mm_vesu_endur.ts b/src/strategies/delta_neutral_mm_vesu_endur.ts
index 572c62e1..bb5afb9c 100644
--- a/src/strategies/delta_neutral_mm_vesu_endur.ts
+++ b/src/strategies/delta_neutral_mm_vesu_endur.ts
@@ -1,301 +1,322 @@
-import { provider, TokenName } from '@/constants';
-import { DeltaNeutralMM } from './delta_neutral_mm';
+import CONSTANTS, { NFTS } from '@/constants';
import {
AmountsInfo,
+ DepositActionInputs,
+ IStrategy,
IStrategySettings,
- Step,
- StrategyAction,
+ NFTInfo,
StrategyLiveStatus,
+ StrategyStatus,
TokenInfo,
+ WithdrawActionInputs,
} from './IStrategy';
import MyNumber from '@/utils/MyNumber';
import {
- convertToV2TokenInfo,
- getEndpoint,
+ buildStrategyActionHook,
+ DummyStrategyActionHook,
+ getPrice,
getTokenInfoFromName,
+ standariseAddress,
ZeroAmountsInfo,
} from '@/utils';
-import { vesu } from '@/store/vesu.store';
-import { endur } from '@/store/endur.store';
import { PoolInfo } from '@/store/pools';
-import { Contract } from 'starknet';
-import { fetchQuotes, QuoteRequest } from '@avnu/avnu-sdk';
-import { Web3Number } from '@strkfarm/sdk';
+import { UINT_256_MAX } from 'starknet';
+import {
+ IStrategyMetadata,
+ Web3Number,
+ SenseiVaultSettings,
+ SenseiVault,
+ getMainnetConfig,
+ Global,
+ PricerFromApi,
+ ContractAddr,
+} from '@strkfarm/sdk';
+import axios from 'axios';
+import React from 'react';
+import { getBalanceAtom } from '@/store/balance.atoms';
+import { atom } from 'jotai';
-export class DeltaNeutralMMVesuEndur extends DeltaNeutralMM {
- vesuPoolName = 'Re7 xSTRK';
- fee_factor: number = 0.2;
+export class DeltaNeutralMMVesuEndur extends IStrategy {
+ senseiVault: SenseiVault;
constructor(
- token: TokenInfo,
- name: string,
- description: string,
- secondaryTokenName: TokenName,
- strategyAddress: string,
- stepAmountFactors: number[],
+ id: string,
+ strategy: IStrategyMetadata,
liveStatus: StrategyLiveStatus,
settings: IStrategySettings,
) {
+ const rewardTokens = [{ logo: CONSTANTS.LOGOS.STRK }];
+ const holdingTokens: NFTInfo[] = [
+ {
+ name: strategy.depositTokens[0].symbol,
+ address: strategy.address.address,
+ logo: CONSTANTS.LOGOS.xSTRK,
+ config: {
+ mainTokenName: 'xSTRK',
+ },
+ },
+ ];
super(
- token,
- name,
- description,
- secondaryTokenName,
- strategyAddress,
- stepAmountFactors,
+ id,
+ id, // tag
+ strategy.name,
+ strategy.description as any,
+ rewardTokens,
+ holdingTokens,
liveStatus,
settings,
- endur,
- vesu,
+ strategy,
);
+ this.riskFactor = strategy.risk.netRisk;
+ this.setMetadataPoints(4); // default
+ const risks = [
+ this.getSafetyFactorLine(),
+ this.risks[0],
+ 'If xSTRK price on DEXes deviates from expected price, you may lose money or may have to wait for the price to recover.',
+ 'APYs shown are just indicative and do not promise exact returns',
+ ];
+ this.risks = risks;
+
+ const config = getMainnetConfig(process.env.NEXT_PUBLIC_RPC_URL!, 'latest');
+ const tokens = Global.getDefaultTokens();
+ const pricer = new PricerFromApi(config, tokens);
+ this.senseiVault = new SenseiVault(config, pricer, strategy);
+ this.fee_factor = this.metadata.additionalInfo.feeBps / 10000; // convert bps to decimal
+ }
+
+ setMetadataPoints(multiplier: number) {
this.metadata.points = [
{
- multiplier: 3,
- toolTip:
- 'Earn ~3x Endur points on this leveraged strategy. Points can be found on endur.fi.',
+ multiplier,
+ toolTip: `Earn ~${multiplier.toFixed(0)}x Endur points on this leveraged strategy. Points can be found on endur.fi.`,
logo: 'https://endur.fi/favicon.ico',
},
];
- this.metadata.risk.netRisk = 0.75;
- const risks = [this.risks[0], this.risks[2]];
- if (this.settings.alerts && this.settings.alerts.length > 0) {
- risks.push(
- 'If xSTRK price on DEXes deviates from expected price, you may lose money or may have to wait for the price to recover.',
+ }
+
+ async solve(pools: PoolInfo[], amount: string) {
+ this.status = StrategyStatus.SOLVING;
+ const re7PoolID =
+ '2345856225134458665876812536882617294246962319062565703131100435311373119841';
+ const xSTRKPool = pools.find((p) => p.pool.id == `Vesu_${re7PoolID}_xSTRK`);
+ const STRKPool = pools.find((p) => p.pool.id == `Vesu_${re7PoolID}_STRK`);
+ const endurXSTRK = pools.find((p) => p.pool.id == 'endur_strk');
+
+ // get Rewards APR and offset my fee
+ const STRKRewardsAPR =
+ xSTRKPool?.aprSplits.find((a) => a.title == 'STRK rewards')?.apr || 0;
+ if (STRKRewardsAPR == 'Err' || STRKRewardsAPR == 0) {
+ throw new Error(
+ 'Failed to fetch STRK rewards APR. Please try again later.',
);
}
- risks.push(...this.risks.slice(3));
- this.risks = risks;
- }
+ const collateralAPY = (xSTRKPool?.apr || 0) + (endurXSTRK?.apr || 0);
+ const feeAdjustedColAPY = collateralAPY - STRKRewardsAPR * this.fee_factor;
+ const borrowAPY = STRKPool?.borrow.apr || 0;
- filterMainToken(
- pools: PoolInfo[],
- amount: string,
- prevActions: StrategyAction[],
- ) {
- const dapp = prevActions.length == 0 ? this.protocol1 : this.protocol2;
- const tokenName =
- prevActions.length == 0
- ? this.token.name
- : `${this.token.name} (${this.vesuPoolName})`;
- return pools.filter(
- (p) => p.pool.name == tokenName && p.protocol.name == dapp.name,
- );
- }
+ const { collateralUSDValue, debtUSDValue } =
+ await this.senseiVault.getPositionInfo();
- filtetVesuToken(
- pools: PoolInfo[],
- amount: string,
- prevActions: StrategyAction[],
- tokenName: string,
- ) {
- const dapp = this.protocol2;
- console.log(
- 'filterSecondaryToken',
- pools.filter((p) => p.protocol.name == dapp.name),
- tokenName,
- `${tokenName} (${this.vesuPoolName})`,
- );
- return pools.filter(
- (p) =>
- p.pool.name == `${tokenName} (${this.vesuPoolName})` &&
- p.protocol.name == dapp.name,
- );
- }
+ const expectedLeverage = await this.expectedLeverage();
+ if (expectedLeverage <= 0) {
+ this.status = StrategyStatus.UNINTIALISED;
+ throw new Error(
+ 'Strategy is not solvable at the moment: expectedLeverage <= 0',
+ );
+ }
+ this.setMetadataPoints(Number(expectedLeverage.toFixed(1)));
- optimizer(
- eligiblePools: PoolInfo[],
- amount: string,
- actions: StrategyAction[],
- ): StrategyAction[] {
- console.log('optimizer', actions.length, this.stepAmountFactors);
- const _amount = (
- Number(amount) * this.stepAmountFactors[actions.length]
- ).toFixed(2);
- const pool = { ...eligiblePools[0] };
- const isDeposit = actions.length == 0 || actions.length == 1;
- const effectiveAPR = pool.aprSplits.reduce((a, b) => {
- if (b.apr == 'Err') return a;
- if (!isDeposit) return a + Number(b.apr);
- if (b.title.includes('STRK rewards')) {
- return a + Number(b.apr) * (1 - this.fee_factor);
- }
- return a + Number(b.apr);
- }, 0);
- console.log('optimizer2', isDeposit, pool, effectiveAPR);
- pool.apr = isDeposit ? effectiveAPR : pool.borrow.apr;
- return [
- ...actions,
- {
- pool,
- amount: _amount,
- isDeposit,
- },
- ];
+ const PAYOFF =
+ Number(collateralUSDValue.toFixed(6)) * feeAdjustedColAPY -
+ Number(debtUSDValue.toFixed(6)) * borrowAPY;
+ const investment =
+ Number(collateralUSDValue.toFixed(6)) - Number(debtUSDValue.toFixed(6));
+ this.netYield = investment == 0 ? 0 : PAYOFF / investment;
}
- getSteps(): Step[] {
- return [
- {
- name: `Stake ${this.token.name} to ${this.protocol1.name}`,
- optimizer: this.optimizer,
- filter: [this.filterMainToken],
- },
- {
- name: `Supply's your ${this.secondaryToken} to ${this.protocol2.name}`,
- optimizer: this.optimizer,
- filter: [
- (...args) => {
- return this.filtetVesuToken(...args, this.secondaryToken);
- },
- ],
- },
- {
- name: `Borrow ${this.token.name} from ${this.protocol2.name}`,
- optimizer: this.optimizer,
- filter: [
- (...args) => {
- return this.filtetVesuToken(...args, this.token.name);
- },
- ],
- },
- {
- name: `Loop back to step 1, repeat 3 more times`,
- optimizer: this.getLookRepeatYieldAmount,
- filter: [this.filterMainToken],
- },
- {
- name: `Re-invest your STRK Rewards every 7 days (Compound)`,
- optimizer: this.compounder,
- filter: [this.filterTokenByProtocol('STRK', this.protocol1)],
- },
- ];
- }
+ getUserTVL = async (user: string): Promise => {
+ if (!this.isLive()) {
+ return ZeroAmountsInfo([this.metadata.depositTokens[0]]);
+ }
+ try {
+ const res = await this.senseiVault.getUserTVL(ContractAddr.from(user));
+ return {
+ usdValue: res.usdValue,
+ amounts: [res],
+ };
+ } catch (error) {
+ console.error('Error fetching user TVL:', error);
+ return ZeroAmountsInfo([this.metadata.depositTokens[0]]);
+ }
+ };
- getLookRepeatYieldAmount(
- eligiblePools: PoolInfo[],
- amount: string,
- actions: StrategyAction[],
- ) {
- console.log('getLookRepeatYieldAmount', amount, actions);
- let full_amount = Number(amount);
- this.stepAmountFactors.slice(0, actions.length).forEach((factor, i) => {
- full_amount /= factor;
- });
- const excessFactor = this.stepAmountFactors[actions.length];
- const amount1 = excessFactor * full_amount;
- const exp1 = amount1 * this.actions[0].pool.apr;
- const amount2 = this.stepAmountFactors[1] * amount1;
- const exp2 = amount2 * this.actions[1].pool.apr;
- const amount3 = this.stepAmountFactors[2] * amount2;
- const exp3 = -amount3 * this.actions[2].pool.borrow.apr;
- const effecitveAmount = amount1 - amount3;
- const effectiveAPR = (exp1 + exp2 + exp3) / effecitveAmount;
- const pool: PoolInfo = { ...eligiblePools[0] };
- pool.apr = effectiveAPR;
- const strategyAction: StrategyAction = {
- pool,
- amount: effecitveAmount.toString(),
- isDeposit: true,
+ getTVL = async (): Promise => {
+ if (!this.isLive())
+ return ZeroAmountsInfo([this.metadata.depositTokens[0]]);
+ const output = await this.senseiVault.getTVL();
+ return {
+ usdValue: output.usdValue,
+ amounts: [output],
};
- console.log(
- 'getLookRepeatYieldAmount exp1',
- this.id,
- exp1,
- full_amount,
- exp2,
- amount2,
- this.actions[2],
- this.actions[1],
- exp3,
- amount1,
- amount3,
+ };
+
+ async expectedLeverage() {
+ // target_hf = (1 + (x / endur_rate)) * 0.87 / x
+ // target_hf * x = 0.87 + 0.87 * (x / endur_rate)
+ // x (target_hf * endur_rate - 0.87) = 0.87 * endur_rate
+ // x = 0.87 * endur_rate / (target_hf * endur_rate - 0.87)
+ const targetHf = this.metadata.additionalInfo.targetHfBps / 10000; // convert bps to decimal
+ const xSTRKPrice =
+ await this.senseiVault.getSecondaryTokenPriceRelativeToMain();
+ const borrowedSTRK = (0.87 * xSTRKPrice) / (targetHf * xSTRKPrice - 0.87);
+ return 1 + borrowedSTRK; // leverage
+ }
+
+ async onDeposotButtonClick(
+ amount: MyNumber,
+ ): Promise {
+ const STRKToken = getTokenInfoFromName('STRK');
+ const xSTRKToken = getTokenInfoFromName('xSTRK');
+
+ return this.onPositionButtonClick(
+ STRKToken,
+ xSTRKToken,
+ amount,
+ true, // isDeposit
);
- return [...actions, strategyAction];
}
- getTVL = async (): Promise => {
- if (!this.isLive()) return ZeroAmountsInfo([this.token]);
+ async onWithdrawButtonClick(
+ amount: MyNumber,
+ ): Promise {
+ const STRKToken = getTokenInfoFromName('STRK');
+ const xSTRKToken = getTokenInfoFromName('xSTRK');
+ const xSTRKPrice =
+ await this.senseiVault.getSecondaryTokenPriceRelativeToMain();
+ const amountInxSTRK = amount.operate('div', xSTRKPrice);
+ return this.onPositionButtonClick(
+ xSTRKToken,
+ STRKToken,
+ amountInxSTRK,
+ false, // isDeposit
+ );
+ }
+
+ async onPositionButtonClick(
+ fromToken: TokenInfo,
+ toToken: TokenInfo,
+ amount: MyNumber,
+ isDeposit: boolean,
+ ): Promise {
try {
- const resp = await fetch(
- `${getEndpoint()}/vesu/positions?walletAddress=${this.strategyAddress}`,
- );
- const data = await resp.json();
- if (!data.data || data.data.length == 0) {
- throw new Error('No positions found');
+ const expectedLeverage = await this.expectedLeverage();
+ if (expectedLeverage <= 0) {
+ alert(
+ 'Strategy is not solvable at the moment. Please try again later.',
+ );
+ return ['Strategy execution failed. Please refresh and try again.'];
}
- const collateralXSTRK = new MyNumber(
- data.data[0].collateral.value,
- data.data[0].collateral.decimals,
- );
- const collateralUSDValue = new MyNumber(
- data.data[0].collateral.usdPrice.value,
- data.data[0].collateral.usdPrice.decimals,
- );
- const debtSTRK = new MyNumber(
- data.data[0].debt.value,
- data.data[0].debt.decimals,
- );
- const debtUSDValue = new MyNumber(
- data.data[0].debt.usdPrice.value,
- data.data[0].debt.usdPrice.decimals,
+ const STRKToBorrow = amount.operate('mul', expectedLeverage - 1);
+ const message1 = `Strategy will ${isDeposit ? 'borrow' : 'repay'} ${STRKToBorrow.toEtherToFixedDecimals(2)} STRK (Approx)`;
+ const totalSwapAmount = amount.operate('mul', expectedLeverage);
+ if (totalSwapAmount.isZero()) {
+ return ['Swap estimation Error: Received invalid amount'];
+ }
+ // todo ensure proper pool
+ const quote = await this.getEkuboQuote(
+ fromToken.token,
+ toToken.token,
+ totalSwapAmount,
);
- const xSTRKPrice = await this.getXSTRKPrice();
- const collateralInSTRK =
- Number(collateralXSTRK.toEtherToFixedDecimals(6)) * xSTRKPrice;
- const usdValue =
- Number(collateralUSDValue.toEtherStr()) -
- Number(debtUSDValue.toEtherStr());
- return {
- usdValue,
- amounts: [
- {
- amount: new Web3Number(
- (
- collateralInSTRK - Number(debtSTRK.toEtherToFixedDecimals(6))
- ).toFixed(6),
- data.data[0].collateral.decimals,
- ),
- usdValue,
- tokenInfo: convertToV2TokenInfo(this.token),
- },
- ],
- };
+
+ const fromPrice = await getPrice(fromToken, 'vesuxstrk');
+ const toPrice = await getPrice(toToken, 'vesuxstrk');
+ const sellUSD = Number(totalSwapAmount.toEtherStr()) * fromPrice;
+ const buyUSD = Number(quote.buyAmount.toEtherStr()) * toPrice;
+ const buyAmount = new MyNumber(quote.buyAmount.toString(), 18);
+ const message2 = `A total of ${totalSwapAmount.toEtherToFixedDecimals(2)} ${fromToken.name} (${sellUSD.toFixed(2)} USD) will be swapped to ${buyAmount.toEtherToFixedDecimals(2)} ${toToken.name} (${buyUSD.toFixed(2)} USD).`;
+ const message3 = `You may see high slippage when closing position due to market and token liquidity, not due to strategy design itself. Try closing smaller amounts in such a case. Contact us on Telegram for any questions.`;
+ const messages = [message1, message2];
+ if (isDeposit) {
+ messages.push(message3);
+ }
+ return messages;
} catch (error) {
- console.error('Error fetching TVL:', error);
- return ZeroAmountsInfo([this.token]);
+ console.error('Error fetching quotes:', error);
+ return ['Error fetching quotes. Please try again later.'];
+ }
+ }
+
+ async getEkuboQuote(fromToken: string, toToken: string, amount: MyNumber) {
+ const URL = `https://starknet-mainnet-quoter-api.ekubo.org/${amount.toString()}/${fromToken}/${toToken}`;
+ const data = await axios.get(URL);
+ if (data.status !== 200) {
+ throw new Error(`Error fetching quote from Ekubo: ${data.statusText}`);
}
- };
- async getXSTRKPrice(retry = 0): Promise {
- const params: QuoteRequest = {
- sellTokenAddress: getTokenInfoFromName(this.secondaryToken).token || '',
- buyTokenAddress: this.token.token,
- sellAmount: BigInt(Number(MyNumber.fromEther('1', 18).toString())),
- takerAddress: this.token.token,
+ const quote = data.data;
+ const outputAmount = new MyNumber(quote.total_calculated, 18);
+ return {
+ buyAmount: outputAmount,
};
- console.log('getXSTRKPrice', params);
- const quotes = await fetchQuotes(params);
- console.log('fetchQuotes', quotes);
- if (quotes.length == 0) {
- await new Promise((resolve) => setTimeout(resolve, 1000));
- return await this.getXSTRKPrice(retry + 1);
+ }
+
+ depositMethods = async (inputs: DepositActionInputs) => {
+ const { amount, address, provider } = inputs;
+ if (!address || address == '0x0') {
+ return [DummyStrategyActionHook([this.metadata.depositTokens[0]])];
}
- const firstQuore = quotes[0];
- const price = Number(
- new MyNumber(firstQuore.buyAmount.toString(), 18).toEtherToFixedDecimals(
- 6,
- ),
+ const amt = Web3Number.fromWei(amount.toString(), amount.decimals);
+ const calls = await this.senseiVault.depositCall(
+ {
+ tokenInfo: this.metadata.depositTokens[0],
+ amount: amt,
+ },
+ ContractAddr.from(address),
);
- console.log('getXSTRKPrice', price);
- return price;
- }
- getSettings = async () => {
- const cls = await provider.getClassAt(this.strategyAddress);
- const contract = new Contract(cls.abi, this.strategyAddress, provider);
- const settings = await contract.call('get_settings', []);
- console.log('getSettings', settings);
+ const output = buildStrategyActionHook(calls, [
+ this.metadata.depositTokens[0],
+ ]);
+ output.onClickButton = this.onDeposotButtonClick.bind(this);
+ return [output];
+ };
+
+ withdrawMethods = async (inputs: WithdrawActionInputs) => {
+ const { amount, address, provider, isMax } = inputs;
+ if (!address || address == '0x0') {
+ const output = DummyStrategyActionHook([this.metadata.depositTokens[0]]);
+ return [output];
+ }
+
+ const finalAmount = isMax
+ ? new MyNumber(UINT_256_MAX.toString(), amount.decimals)
+ : amount;
+ const calls = await this.senseiVault.withdrawCall(
+ {
+ tokenInfo: this.metadata.depositTokens[0],
+ amount: Web3Number.fromWei(
+ finalAmount.toString(),
+ finalAmount.decimals,
+ ),
+ },
+ ContractAddr.from(address),
+ ContractAddr.from(address),
+ );
+
+ const nftInfo = NFTS.find(
+ (nft) =>
+ standariseAddress(nft.address) ==
+ standariseAddress(this.metadata.address.address),
+ );
+ const output = buildStrategyActionHook(
+ calls,
+ [this.metadata.depositTokens[0]],
+ [getBalanceAtom(nftInfo, atom(true))],
+ );
+ output.onClickButton = this.onWithdrawButtonClick.bind(this);
+ return [output];
};
}
diff --git a/src/strategies/ekubo_cl_vault.ts b/src/strategies/ekubo_cl_vault.ts
index 04322224..04c8fa45 100644
--- a/src/strategies/ekubo_cl_vault.ts
+++ b/src/strategies/ekubo_cl_vault.ts
@@ -1,6 +1,8 @@
import CONSTANTS from '@/constants';
import {
AmountsInfo,
+ APYHistory,
+ APYHistoryBlockInfo,
DepositActionInputs,
IStrategy,
IStrategyActionHook,
@@ -62,16 +64,10 @@ export class EkuboClStrategy extends IStrategy {
decimals: 18,
displayDecimals: 2,
logo: CONSTANTS.LOGOS.STRK, // todo make it to dual token
- minAmount: MyNumber.fromEther('0.01', 18),
- maxAmount: MyNumber.fromEther('10000000000000', 18),
- stepAmount: MyNumber.fromEther('0.01', 18),
},
];
- const config = getMainnetConfig(
- process.env.NEXT_PUBLIC_RPC_URL!,
- 'pending',
- );
+ const config = getMainnetConfig(process.env.NEXT_PUBLIC_RPC_URL!, 'latest');
const tokens = Global.getDefaultTokens();
const pricer = new PricerFromApi(config, tokens);
const clVault = new EkuboCLVault(config, pricer, strategy);
@@ -273,7 +269,7 @@ export class EkuboClStrategy extends IStrategy {
};
async solve(pools: PoolInfo[], amount: string) {
- const yieldInfo = await this.clVault.netAPY('pending', 16000);
+ const yieldInfo = await this.clVault.netAPY('latest', 16000);
this.netYield = yieldInfo;
this.leverage = 1;
@@ -284,6 +280,17 @@ export class EkuboClStrategy extends IStrategy {
this.status = StrategyStatus.SOLVED;
}
+ getAPYHistory = async (blocks: APYHistoryBlockInfo[]) => {
+ const apyHistory: APYHistory[] = [];
+
+ for (const block of blocks) {
+ const apy = await this.clVault.netAPY(block.block, 16000);
+ apyHistory.push({ ...block, apy });
+ }
+
+ return apyHistory;
+ };
+
getEkuboStratBalanceAtom = (underlyingToken: TokenInfo) => {
const holdingBalAtom = getBalanceAtom(this.holdingTokens[0], atom(true));
return atomWithQuery((get) => {
diff --git a/src/strategies/universal.strat.ts b/src/strategies/universal.strat.ts
new file mode 100644
index 00000000..701cb9cc
--- /dev/null
+++ b/src/strategies/universal.strat.ts
@@ -0,0 +1,172 @@
+import CONSTANTS from '@/constants';
+import {
+ AmountsInfo,
+ DepositActionInputs,
+ IStrategy,
+ IStrategyActionHook,
+ IStrategySettings,
+ StrategyLiveStatus,
+ StrategyStatus,
+ TokenInfo,
+ WithdrawActionInputs,
+} from './IStrategy';
+import {
+ ContractAddr,
+ getMainnetConfig,
+ Global,
+ IStrategyMetadata,
+ PricerFromApi,
+ Web3Number,
+ UniversalStrategySettings,
+ UniversalStrategy,
+} from '@strkfarm/sdk';
+import { PoolInfo } from '@/store/pools';
+import {
+ buildStrategyActionHook,
+ DummyStrategyActionHook,
+ ZeroAmountsInfo,
+} from '@/utils';
+import { getBalanceAtom } from '@/store/balance.atoms';
+import { atom } from 'jotai';
+import { ReactNode } from 'react';
+
+export class UniversalStrategyClass extends IStrategy {
+ universalStrategy: UniversalStrategy;
+ asset: TokenInfo;
+ fee_factor = 0.1; // 10%
+ constructor(
+ id: string,
+ token: TokenInfo,
+ name: string,
+ description: string | ReactNode,
+ strategy: IStrategyMetadata,
+ liveStatus: StrategyLiveStatus,
+ settings: IStrategySettings,
+ ) {
+ const rewardTokens = [{ logo: CONSTANTS.LOGOS.STRK }];
+ const holdingTokens: TokenInfo[] = [
+ {
+ ...token,
+ name: strategy.depositTokens[0].symbol,
+ token: strategy.address.address,
+ address: strategy.address.address,
+ isERC4626: true,
+ },
+ ];
+
+ const config = getMainnetConfig(process.env.NEXT_PUBLIC_RPC_URL!, 'latest');
+ const tokens = Global.getDefaultTokens();
+ const pricer = new PricerFromApi(config, tokens);
+ const universalStrategy = new UniversalStrategy(config, pricer, strategy);
+
+ super(
+ id,
+ name,
+ name,
+ description,
+ rewardTokens,
+ holdingTokens,
+ liveStatus,
+ settings,
+ universalStrategy.metadata,
+ );
+
+ this.asset = token;
+ this.universalStrategy = universalStrategy;
+ this.riskFactor = strategy.risk.netRisk;
+
+ const risks = [...this.risks];
+ this.risks = [
+ this.getSafetyFactorLine(),
+ 'Your original investment is safe. If you deposit 100 tokens, you will always get at least 100 tokens back, unless due to below reasons.',
+ 'The deposits are supplied on Vesu, a lending protocol that, while unlikely, has a risk of accumulating bad debt.',
+ ...risks,
+ ];
+ }
+
+ getTVL = async (): Promise => {
+ const res = await this.universalStrategy.getTVL();
+ return {
+ usdValue: res.usdValue,
+ amounts: [res],
+ };
+ };
+
+ getUserTVL = async (user: string): Promise => {
+ try {
+ const res = await this.universalStrategy.getUserTVL(
+ ContractAddr.from(user),
+ );
+ return {
+ usdValue: res.usdValue,
+ amounts: [res],
+ };
+ } catch (e) {
+ console.error('Error getting user TVL:', e);
+ return ZeroAmountsInfo([this.asset]);
+ }
+ };
+
+ depositMethods = async (inputs: DepositActionInputs) => {
+ const { amount, address, provider } = inputs;
+ if (!address || address == '0x0') {
+ return [DummyStrategyActionHook([this.asset])];
+ }
+
+ const amt = Web3Number.fromWei(amount.toString(), amount.decimals);
+ const calls = await this.universalStrategy.depositCall(
+ {
+ tokenInfo: this.universalStrategy.asset(),
+ amount: amt,
+ },
+ ContractAddr.from(address),
+ );
+
+ return [buildStrategyActionHook(calls, [this.asset])];
+ };
+
+ withdrawMethods = async (
+ inputs: WithdrawActionInputs,
+ ): Promise => {
+ const { amount, address, provider } = inputs;
+ if (!address || address == '0x0') {
+ return [DummyStrategyActionHook([this.holdingTokens[0] as TokenInfo])];
+ }
+
+ const amt = Web3Number.fromWei(amount.toString(), amount.decimals);
+ const calls = await this.universalStrategy.withdrawCall(
+ {
+ tokenInfo: this.universalStrategy.asset(),
+ amount: amt,
+ },
+ ContractAddr.from(address),
+ ContractAddr.from(address),
+ );
+
+ return [
+ {
+ calls,
+ amounts: [
+ {
+ balanceAtom: getBalanceAtom(this.holdingTokens[0], atom(true)),
+ tokenInfo: this.universalStrategy.asset(),
+ },
+ ],
+ },
+ ];
+ };
+
+ async solve(pools: PoolInfo[], amount: string) {
+ const yieldInfo = await this.universalStrategy.netAPY();
+ // todo to deduct fee
+ this.netYield = yieldInfo.net * (1 - this.fee_factor);
+ console.log('netYield2', this.netYield, Number(amount));
+ this.leverage = 1;
+
+ this.investmentFlows = [];
+
+ this.postSolve();
+
+ this.status = StrategyStatus.SOLVED;
+ }
+}
diff --git a/src/strategies/vesu_rebalance.ts b/src/strategies/vesu_rebalance.ts
index 87a0be9e..f2104a34 100644
--- a/src/strategies/vesu_rebalance.ts
+++ b/src/strategies/vesu_rebalance.ts
@@ -51,10 +51,7 @@ export class VesuRebalanceStrategy extends IStrategy {
},
];
- const config = getMainnetConfig(
- process.env.NEXT_PUBLIC_RPC_URL!,
- 'pending',
- );
+ const config = getMainnetConfig(process.env.NEXT_PUBLIC_RPC_URL!, 'latest');
const tokens = Global.getDefaultTokens();
const pricer = new PricerFromApi(config, tokens);
const vesuRebalance = new VesuRebalance(config, pricer, strategy);
diff --git a/src/utils.ts b/src/utils.ts
index f2ca90a3..7abbd421 100755
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -303,9 +303,6 @@ export function convertToV1TokenInfo(
displayDecimals: v2Token.displayDecimals,
token: v2Token.address.address,
isERC4626,
- minAmount: MyNumber.fromEther('0', v2Token.decimals),
- maxAmount: MyNumber.fromEther('0', v2Token.decimals),
- stepAmount: new MyNumber('1', v2Token.decimals),
};
}
diff --git a/src/utils/MyNumber.ts b/src/utils/MyNumber.ts
index f31199aa..9563125a 100755
--- a/src/utils/MyNumber.ts
+++ b/src/utils/MyNumber.ts
@@ -18,7 +18,7 @@ export default class MyNumber {
static fromEther(num: string, decimals: number) {
try {
return new MyNumber(
- Number(ethers.parseUnits(num, decimals)).toFixed(6),
+ Number(ethers.parseUnits(Number(num).toFixed(10), decimals)).toFixed(6),
decimals,
);
} catch (e) {
@@ -36,7 +36,7 @@ export default class MyNumber {
}
toEtherStr() {
- return ethers.formatUnits(this.bigNumber.toFixed(), this.decimals);
+ return ethers.formatUnits(this?.bigNumber.toFixed(), this.decimals);
}
toFixedStr(decimals: number) {
@@ -45,6 +45,9 @@ export default class MyNumber {
toEtherToFixedDecimals(decimals: number) {
// rounding down
+ if (this.bigNumber.isNaN()) {
+ return 'NaN';
+ }
return (
Math.floor(parseFloat(this.toEtherStr()) * 10 ** decimals) /
10 ** decimals
diff --git a/yarn.lock b/yarn.lock
index d79c400d..c2562506 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -20,6 +20,14 @@
framer-motion "^6.3.11"
lodash.union "^4.6.0"
+"@ampproject/remapping@^2.2.0":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
"@apollo/client@^3.11.8":
version "3.11.8"
resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.11.8.tgz#f6bacdc7e1b243807c1387113e1d445a53471a9c"
@@ -40,6 +48,11 @@
tslib "^2.3.0"
zen-observable-ts "^1.2.5"
+"@argent/x-ui@^1.109.0":
+ version "1.109.1"
+ resolved "https://registry.yarnpkg.com/@argent/x-ui/-/x-ui-1.109.1.tgz#585671bb630f050c87cf77732f5f22ccec0b8e8f"
+ integrity sha512-AGPN1YC87EQK/byUYuRUrYR57/NYB6wQjoibUf/OnRYepWWW83+VgdR0GVRYLHsD0CT73VpY6iSFLqrY61LSDg==
+
"@avnu/avnu-sdk@3.0.2":
version "3.0.2"
resolved "https://registry.yarnpkg.com/@avnu/avnu-sdk/-/avnu-sdk-3.0.2.tgz#1751f951380160858bcb8a3fa30a5b4b086d3891"
@@ -53,6 +66,41 @@
"@babel/highlight" "^7.24.7"
picocolors "^1.0.0"
+"@babel/code-frame@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
+ integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.27.1"
+ js-tokens "^4.0.0"
+ picocolors "^1.1.1"
+
+"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790"
+ integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==
+
+"@babel/core@^7.21.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.3.tgz#aceddde69c5d1def69b839d09efa3e3ff59c97cb"
+ integrity sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==
+ dependencies:
+ "@ampproject/remapping" "^2.2.0"
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-module-transforms" "^7.28.3"
+ "@babel/helpers" "^7.28.3"
+ "@babel/parser" "^7.28.3"
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.3"
+ "@babel/types" "^7.28.2"
+ convert-source-map "^2.0.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.3"
+ semver "^6.3.1"
+
"@babel/generator@^7.25.6":
version "7.25.6"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c"
@@ -63,6 +111,81 @@
"@jridgewell/trace-mapping" "^0.3.25"
jsesc "^2.5.1"
+"@babel/generator@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e"
+ integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==
+ dependencies:
+ "@babel/parser" "^7.28.3"
+ "@babel/types" "^7.28.2"
+ "@jridgewell/gen-mapping" "^0.3.12"
+ "@jridgewell/trace-mapping" "^0.3.28"
+ jsesc "^3.0.2"
+
+"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3":
+ version "7.27.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5"
+ integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
+ dependencies:
+ "@babel/types" "^7.27.3"
+
+"@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
+ integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
+ dependencies:
+ "@babel/compat-data" "^7.27.2"
+ "@babel/helper-validator-option" "^7.27.1"
+ browserslist "^4.24.0"
+ lru-cache "^5.1.1"
+ semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.27.1", "@babel/helper-create-class-features-plugin@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz#3e747434ea007910c320c4d39a6b46f20f371d46"
+ integrity sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+ semver "^6.3.1"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53"
+ integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ regexpu-core "^6.2.0"
+ semver "^6.3.1"
+
+"@babel/helper-define-polyfill-provider@^0.6.5":
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753"
+ integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ debug "^4.4.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.22.10"
+
+"@babel/helper-globals@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674"
+ integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
+
+"@babel/helper-member-expression-to-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44"
+ integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
"@babel/helper-module-imports@^7.16.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b"
@@ -71,16 +194,103 @@
"@babel/traverse" "^7.24.7"
"@babel/types" "^7.24.7"
+"@babel/helper-module-imports@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
+ integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6"
+ integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/helper-optimise-call-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200"
+ integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
+ dependencies:
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
+ integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
+
+"@babel/helper-remap-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6"
+ integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-wrap-function" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-replace-supers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0"
+ integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56"
+ integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
"@babel/helper-string-parser@^7.24.8":
version "7.24.8"
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d"
integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
"@babel/helper-validator-identifier@^7.24.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db"
integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==
+"@babel/helper-validator-identifier@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
+ integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
+
+"@babel/helper-validator-option@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
+ integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+
+"@babel/helper-wrap-function@^7.27.1":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz#fe4872092bc1438ffd0ce579e6f699609f9d0a7a"
+ integrity sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.28.3"
+ "@babel/types" "^7.28.2"
+
+"@babel/helpers@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.3.tgz#b83156c0a2232c133d1b535dd5d3452119c7e441"
+ integrity sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.2"
+
"@babel/highlight@^7.24.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d"
@@ -98,6 +308,649 @@
dependencies:
"@babel/types" "^7.25.6"
+"@babel/parser@^7.27.2", "@babel/parser@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.3.tgz#d2d25b814621bca5fe9d172bc93792547e7a2a71"
+ integrity sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==
+ dependencies:
+ "@babel/types" "^7.28.2"
+
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9"
+ integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d"
+ integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72"
+ integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd"
+ integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz#373f6e2de0016f73caf8f27004f61d167743742a"
+ integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
+ version "7.21.0-placeholder-for-preset-env.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703"
+ integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
+
+"@babel/plugin-syntax-import-assertions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd"
+ integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-import-attributes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07"
+ integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-jsx@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c"
+ integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-typescript@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18"
+ integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357"
+ integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-arrow-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a"
+ integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-async-generator-functions@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz#1276e6c7285ab2cd1eccb0bc7356b7a69ff842c2"
+ integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7"
+ integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+
+"@babel/plugin-transform-block-scoped-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9"
+ integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-block-scoping@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz#e7c50cbacc18034f210b93defa89638666099451"
+ integrity sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925"
+ integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-class-static-block@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz#d1b8e69b54c9993bc558203e1f49bfc979bfd852"
+ integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.28.3"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-classes@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz#598297260343d0edbd51cb5f5075e07dee91963a"
+ integrity sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/traverse" "^7.28.3"
+
+"@babel/plugin-transform-computed-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa"
+ integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/template" "^7.27.1"
+
+"@babel/plugin-transform-destructuring@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz#0f156588f69c596089b7d5b06f5af83d9aa7f97a"
+ integrity sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-dotall-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d"
+ integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-keys@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1"
+ integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec"
+ integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-dynamic-import@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4"
+ integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-explicit-resource-management@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz#45be6211b778dbf4b9d54c4e8a2b42fa72e09a1a"
+ integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+
+"@babel/plugin-transform-exponentiation-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1"
+ integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-export-namespace-from@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23"
+ integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-for-of@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a"
+ integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-function-name@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7"
+ integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-json-strings@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c"
+ integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24"
+ integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-logical-assignment-operators@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa"
+ integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-member-expression-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9"
+ integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-amd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f"
+ integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-commonjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832"
+ integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-systemjs@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed"
+ integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-modules-umd@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334"
+ integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1"
+ integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-new-target@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb"
+ integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d"
+ integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-numeric-separator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6"
+ integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-object-rest-spread@^7.28.0":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz#d23021857ffd7cd809f54d624299b8086402ed8d"
+ integrity sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/traverse" "^7.28.0"
+
+"@babel/plugin-transform-object-super@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5"
+ integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+
+"@babel/plugin-transform-optional-catch-binding@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c"
+ integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-optional-chaining@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f"
+ integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-parameters@^7.27.7":
+ version "7.27.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a"
+ integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-methods@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af"
+ integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-private-property-in-object@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11"
+ integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-property-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424"
+ integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-constant-elements@^7.21.3":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9"
+ integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-display-name@^7.27.1":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz#6f20a7295fea7df42eb42fed8f896813f5b934de"
+ integrity sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-react-jsx-development@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz#47ff95940e20a3a70e68ad3d4fcb657b647f6c98"
+ integrity sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==
+ dependencies:
+ "@babel/plugin-transform-react-jsx" "^7.27.1"
+
+"@babel/plugin-transform-react-jsx@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0"
+ integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-syntax-jsx" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/plugin-transform-react-pure-annotations@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz#339f1ce355eae242e0649f232b1c68907c02e879"
+ integrity sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regenerator@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz#b8eee0f8aed37704bbcc932fd0b1a0a34d0b7344"
+ integrity sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regexp-modifiers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09"
+ integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-reserved-words@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4"
+ integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-shorthand-properties@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90"
+ integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-spread@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08"
+ integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-sticky-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280"
+ integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-template-literals@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8"
+ integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typeof-symbol@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369"
+ integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typescript@^7.27.1":
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz#796cbd249ab56c18168b49e3e1d341b72af04a6b"
+ integrity sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/plugin-syntax-typescript" "^7.27.1"
+
+"@babel/plugin-transform-unicode-escapes@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806"
+ integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-property-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956"
+ integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97"
+ integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-sets-regex@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1"
+ integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/preset-env@^7.20.2":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.28.3.tgz#2b18d9aff9e69643789057ae4b942b1654f88187"
+ integrity sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==
+ dependencies:
+ "@babel/compat-data" "^7.28.0"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1"
+ "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3"
+ "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
+ "@babel/plugin-syntax-import-assertions" "^7.27.1"
+ "@babel/plugin-syntax-import-attributes" "^7.27.1"
+ "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
+ "@babel/plugin-transform-arrow-functions" "^7.27.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.28.0"
+ "@babel/plugin-transform-async-to-generator" "^7.27.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.27.1"
+ "@babel/plugin-transform-block-scoping" "^7.28.0"
+ "@babel/plugin-transform-class-properties" "^7.27.1"
+ "@babel/plugin-transform-class-static-block" "^7.28.3"
+ "@babel/plugin-transform-classes" "^7.28.3"
+ "@babel/plugin-transform-computed-properties" "^7.27.1"
+ "@babel/plugin-transform-destructuring" "^7.28.0"
+ "@babel/plugin-transform-dotall-regex" "^7.27.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.27.1"
+ "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-dynamic-import" "^7.27.1"
+ "@babel/plugin-transform-explicit-resource-management" "^7.28.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.27.1"
+ "@babel/plugin-transform-export-namespace-from" "^7.27.1"
+ "@babel/plugin-transform-for-of" "^7.27.1"
+ "@babel/plugin-transform-function-name" "^7.27.1"
+ "@babel/plugin-transform-json-strings" "^7.27.1"
+ "@babel/plugin-transform-literals" "^7.27.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.27.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.27.1"
+ "@babel/plugin-transform-modules-amd" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.27.1"
+ "@babel/plugin-transform-modules-umd" "^7.27.1"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
+ "@babel/plugin-transform-new-target" "^7.27.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
+ "@babel/plugin-transform-numeric-separator" "^7.27.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.28.0"
+ "@babel/plugin-transform-object-super" "^7.27.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.27.1"
+ "@babel/plugin-transform-optional-chaining" "^7.27.1"
+ "@babel/plugin-transform-parameters" "^7.27.7"
+ "@babel/plugin-transform-private-methods" "^7.27.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.27.1"
+ "@babel/plugin-transform-property-literals" "^7.27.1"
+ "@babel/plugin-transform-regenerator" "^7.28.3"
+ "@babel/plugin-transform-regexp-modifiers" "^7.27.1"
+ "@babel/plugin-transform-reserved-words" "^7.27.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.27.1"
+ "@babel/plugin-transform-spread" "^7.27.1"
+ "@babel/plugin-transform-sticky-regex" "^7.27.1"
+ "@babel/plugin-transform-template-literals" "^7.27.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.27.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.27.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-regex" "^7.27.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
+ "@babel/preset-modules" "0.1.6-no-external-plugins"
+ babel-plugin-polyfill-corejs2 "^0.4.14"
+ babel-plugin-polyfill-corejs3 "^0.13.0"
+ babel-plugin-polyfill-regenerator "^0.6.5"
+ core-js-compat "^3.43.0"
+ semver "^6.3.1"
+
+"@babel/preset-modules@0.1.6-no-external-plugins":
+ version "0.1.6-no-external-plugins"
+ resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a"
+ integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/types" "^7.4.4"
+ esutils "^2.0.2"
+
+"@babel/preset-react@^7.18.6":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.27.1.tgz#86ea0a5ca3984663f744be2fd26cb6747c3fd0ec"
+ integrity sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-transform-react-display-name" "^7.27.1"
+ "@babel/plugin-transform-react-jsx" "^7.27.1"
+ "@babel/plugin-transform-react-jsx-development" "^7.27.1"
+ "@babel/plugin-transform-react-pure-annotations" "^7.27.1"
+
+"@babel/preset-typescript@^7.21.0":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912"
+ integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-option" "^7.27.1"
+ "@babel/plugin-syntax-jsx" "^7.27.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+ "@babel/plugin-transform-typescript" "^7.27.1"
+
"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
version "7.25.6"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2"
@@ -114,6 +967,15 @@
"@babel/parser" "^7.25.0"
"@babel/types" "^7.25.0"
+"@babel/template@^7.27.1", "@babel/template@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
+ integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/parser" "^7.27.2"
+ "@babel/types" "^7.27.1"
+
"@babel/traverse@^7.24.7":
version "7.25.6"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41"
@@ -127,6 +989,27 @@
debug "^4.3.1"
globals "^11.1.0"
+"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3":
+ version "7.28.3"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.3.tgz#6911a10795d2cce43ec6a28cffc440cca2593434"
+ integrity sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.28.3"
+ "@babel/helper-globals" "^7.28.0"
+ "@babel/parser" "^7.28.3"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.28.2"
+ debug "^4.3.1"
+
+"@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.4.4":
+ version "7.28.2"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.2.tgz#da9db0856a9a88e0a13b019881d7513588cf712b"
+ integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+
"@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.6":
version "7.25.6"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6"
@@ -136,6 +1019,61 @@
"@babel/helper-validator-identifier" "^7.24.7"
to-fast-properties "^2.0.0"
+"@cartridge/controller-wasm@^0.2.7":
+ version "0.2.7"
+ resolved "https://registry.yarnpkg.com/@cartridge/controller-wasm/-/controller-wasm-0.2.7.tgz#5157cf7169606ffd43e8dafe9b8da94f7715ff98"
+ integrity sha512-VF4kcrnxfsqNOhrBLTtHH9maFyLr5ITYbAJ4c9iUorTwmXiryQP32kkXsrOUnSw2KZ/PPoP3y5/DQjeairvIwQ==
+
+"@cartridge/controller@^0.9.2":
+ version "0.9.3"
+ resolved "https://registry.yarnpkg.com/@cartridge/controller/-/controller-0.9.3.tgz#dedca10c22d96ffd5f1358d18e680ab56623adc2"
+ integrity sha512-Aw54gfgxgiHsNmVolqBRBVY293rcT3NH5E1kreU8foirgfemsntt/G8+DJok4RCkK+gmZgV4PGywJ++/3f3REg==
+ dependencies:
+ "@cartridge/controller-wasm" "^0.2.7"
+ "@cartridge/penpal" "^6.2.4"
+ "@starknet-io/types-js" "^0.8.4"
+ "@telegram-apps/sdk" "^2.4.0"
+ "@turnkey/sdk-browser" "^4.0.0"
+ "@walletconnect/ethereum-provider" "^2.20.0"
+ cbor-x "^1.5.0"
+ ethers "^6.13.5"
+ mipd "^0.0.7"
+
+"@cartridge/penpal@^6.2.4":
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/@cartridge/penpal/-/penpal-6.2.4.tgz#8712b507942596485c3b2d5f35931254214cbd35"
+ integrity sha512-tdpOnSJJBFMlgLZ1+z9Ho5e6cG5EgMAb1Cmmh1lGT2tmplogU/XPMjLE6CwvKAPDoe6a38iMnbH+ySTAWWIOKA==
+
+"@cbor-extract/cbor-extract-darwin-arm64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-darwin-arm64/-/cbor-extract-darwin-arm64-2.2.0.tgz#8d65cb861a99622e1b4a268e2d522d2ec6137338"
+ integrity sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w==
+
+"@cbor-extract/cbor-extract-darwin-x64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-darwin-x64/-/cbor-extract-darwin-x64-2.2.0.tgz#9fbec199c888c5ec485a1839f4fad0485ab6c40a"
+ integrity sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w==
+
+"@cbor-extract/cbor-extract-linux-arm64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm64/-/cbor-extract-linux-arm64-2.2.0.tgz#bf77e0db4a1d2200a5aa072e02210d5043e953ae"
+ integrity sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ==
+
+"@cbor-extract/cbor-extract-linux-arm@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-arm/-/cbor-extract-linux-arm-2.2.0.tgz#491335037eb8533ed8e21b139c59f6df04e39709"
+ integrity sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q==
+
+"@cbor-extract/cbor-extract-linux-x64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-linux-x64/-/cbor-extract-linux-x64-2.2.0.tgz#672574485ccd24759bf8fb8eab9dbca517d35b97"
+ integrity sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw==
+
+"@cbor-extract/cbor-extract-win32-x64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@cbor-extract/cbor-extract-win32-x64/-/cbor-extract-win32-x64-2.2.0.tgz#4b3f07af047f984c082de34b116e765cb9af975f"
+ integrity sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w==
+
"@chakra-ui/accordion@2.3.1":
version "2.3.1"
resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-2.3.1.tgz#a326509e286a5c4e8478de9bc2b4b05017039e6b"
@@ -965,9 +1903,9 @@
tough-cookie "^4.1.3"
"@cypress/request@^3.0.1":
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.8.tgz#992f1f42ba03ebb14fa5d97290abe9d015ed0815"
- integrity sha512-h0NFgh1mJmm1nr4jCwkGHwKneVYKghUyWe6TMNrk0B9zsjAJxpg8C4/+BAcmLgCPa1vj1V8rNUaILl+zYRUWBQ==
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.9.tgz#8ed6e08fea0c62998b5552301023af7268f11625"
+ integrity sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.8.0"
@@ -975,7 +1913,7 @@
combined-stream "~1.0.6"
extend "~3.0.2"
forever-agent "~0.6.1"
- form-data "~4.0.0"
+ form-data "~4.0.4"
http-signature "~1.4.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
@@ -1166,6 +2104,17 @@
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6"
integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==
+"@ericnordelo/strk-merkle-tree@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@ericnordelo/strk-merkle-tree/-/strk-merkle-tree-1.0.0.tgz#a5cc15d2bbd71d62ca42dde89296c2611884c002"
+ integrity sha512-iKY8uZ84W6pOzUrq09QHb+jRU7LcB8b/h2kpmX1gEVVsGrQI84xqTjVQCyU2Pzl7h8loc3SL835yMUKdoXWjrQ==
+ dependencies:
+ "@ethersproject/abi" "^5.7.0"
+ "@ethersproject/bytes" "^5.7.0"
+ "@ethersproject/constants" "^5.7.0"
+ "@ethersproject/keccak256" "^5.7.0"
+ starknet "^6.11.0"
+
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
@@ -1198,6 +2147,183 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2"
integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
+"@ethersproject/abi@^5.7.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9"
+ integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==
+ dependencies:
+ "@ethersproject/address" "^5.8.0"
+ "@ethersproject/bignumber" "^5.8.0"
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/constants" "^5.8.0"
+ "@ethersproject/hash" "^5.8.0"
+ "@ethersproject/keccak256" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/properties" "^5.8.0"
+ "@ethersproject/strings" "^5.8.0"
+
+"@ethersproject/abstract-provider@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz#7581f9be601afa1d02b95d26b9d9840926a35b0c"
+ integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==
+ dependencies:
+ "@ethersproject/bignumber" "^5.8.0"
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/networks" "^5.8.0"
+ "@ethersproject/properties" "^5.8.0"
+ "@ethersproject/transactions" "^5.8.0"
+ "@ethersproject/web" "^5.8.0"
+
+"@ethersproject/abstract-signer@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz#8d7417e95e4094c1797a9762e6789c7356db0754"
+ integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==
+ dependencies:
+ "@ethersproject/abstract-provider" "^5.8.0"
+ "@ethersproject/bignumber" "^5.8.0"
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/properties" "^5.8.0"
+
+"@ethersproject/address@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.8.0.tgz#3007a2c352eee566ad745dca1dbbebdb50a6a983"
+ integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==
+ dependencies:
+ "@ethersproject/bignumber" "^5.8.0"
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/keccak256" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/rlp" "^5.8.0"
+
+"@ethersproject/base64@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.8.0.tgz#61c669c648f6e6aad002c228465d52ac93ee83eb"
+ integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==
+ dependencies:
+ "@ethersproject/bytes" "^5.8.0"
+
+"@ethersproject/bignumber@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.8.0.tgz#c381d178f9eeb370923d389284efa19f69efa5d7"
+ integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==
+ dependencies:
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ bn.js "^5.2.1"
+
+"@ethersproject/bytes@^5.7.0", "@ethersproject/bytes@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34"
+ integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==
+ dependencies:
+ "@ethersproject/logger" "^5.8.0"
+
+"@ethersproject/constants@^5.7.0", "@ethersproject/constants@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.8.0.tgz#12f31c2f4317b113a4c19de94e50933648c90704"
+ integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==
+ dependencies:
+ "@ethersproject/bignumber" "^5.8.0"
+
+"@ethersproject/hash@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.8.0.tgz#b8893d4629b7f8462a90102572f8cd65a0192b4c"
+ integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==
+ dependencies:
+ "@ethersproject/abstract-signer" "^5.8.0"
+ "@ethersproject/address" "^5.8.0"
+ "@ethersproject/base64" "^5.8.0"
+ "@ethersproject/bignumber" "^5.8.0"
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/keccak256" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/properties" "^5.8.0"
+ "@ethersproject/strings" "^5.8.0"
+
+"@ethersproject/keccak256@^5.7.0", "@ethersproject/keccak256@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.8.0.tgz#d2123a379567faf2d75d2aaea074ffd4df349e6a"
+ integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==
+ dependencies:
+ "@ethersproject/bytes" "^5.8.0"
+ js-sha3 "0.8.0"
+
+"@ethersproject/logger@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6"
+ integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==
+
+"@ethersproject/networks@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.8.0.tgz#8b4517a3139380cba9fb00b63ffad0a979671fde"
+ integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==
+ dependencies:
+ "@ethersproject/logger" "^5.8.0"
+
+"@ethersproject/properties@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.8.0.tgz#405a8affb6311a49a91dabd96aeeae24f477020e"
+ integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==
+ dependencies:
+ "@ethersproject/logger" "^5.8.0"
+
+"@ethersproject/rlp@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.8.0.tgz#5a0d49f61bc53e051532a5179472779141451de5"
+ integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==
+ dependencies:
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+
+"@ethersproject/signing-key@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.8.0.tgz#9797e02c717b68239c6349394ea85febf8893119"
+ integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==
+ dependencies:
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/properties" "^5.8.0"
+ bn.js "^5.2.1"
+ elliptic "6.6.1"
+ hash.js "1.1.7"
+
+"@ethersproject/strings@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.8.0.tgz#ad79fafbf0bd272d9765603215ac74fd7953908f"
+ integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==
+ dependencies:
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/constants" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+
+"@ethersproject/transactions@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.8.0.tgz#1e518822403abc99def5a043d1c6f6fe0007e46b"
+ integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==
+ dependencies:
+ "@ethersproject/address" "^5.8.0"
+ "@ethersproject/bignumber" "^5.8.0"
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/constants" "^5.8.0"
+ "@ethersproject/keccak256" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/properties" "^5.8.0"
+ "@ethersproject/rlp" "^5.8.0"
+ "@ethersproject/signing-key" "^5.8.0"
+
+"@ethersproject/web@^5.8.0":
+ version "5.8.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.8.0.tgz#3e54badc0013b7a801463a7008a87988efce8a37"
+ integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==
+ dependencies:
+ "@ethersproject/base64" "^5.8.0"
+ "@ethersproject/bytes" "^5.8.0"
+ "@ethersproject/logger" "^5.8.0"
+ "@ethersproject/properties" "^5.8.0"
+ "@ethersproject/strings" "^5.8.0"
+
"@floating-ui/core@^1.6.0":
version "1.6.8"
resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.8.tgz#aa43561be075815879305965020f492cdb43da12"
@@ -1223,6 +2349,39 @@
resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861"
integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==
+"@hpke/chacha20poly1305@^1.7.0":
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/@hpke/chacha20poly1305/-/chacha20poly1305-1.7.1.tgz#645160fc32b377969bf01e9de8108eeb1ceef73e"
+ integrity sha512-Zp8IwRIkdCucu877wCNqDp3B8yOhAnAah/YDDkO94pPr/KKV7IGnBbpwIjDB3BsAySWBMrhhdE0JKYw3N4FCag==
+ dependencies:
+ "@hpke/common" "^1.8.1"
+
+"@hpke/common@^1.8.1":
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/@hpke/common/-/common-1.8.1.tgz#555fb3c13e92783c8364cf9ea25272a6723e598c"
+ integrity sha512-PSI4QSxH8XDli0TqAsWycVfrLLCM/bBe+hVlJwtuJJiKIvCaFS3CXX/WtRfJceLJye9NHc2J7GvHVCY9B1BEbA==
+
+"@hpke/core@^1.7.4":
+ version "1.7.4"
+ resolved "https://registry.yarnpkg.com/@hpke/core/-/core-1.7.4.tgz#22e8e7d53e98fc775fbefb7be2b781d9b9face7f"
+ integrity sha512-1BfPQB7unq/tNx7eznmoFgmJlMFnymdLNNt2CQX/L8oYOfmc1+cFEItpXZ90mgthW7tB2oksy/G7Xh1t569qzA==
+ dependencies:
+ "@hpke/common" "^1.8.1"
+
+"@hpke/dhkem-x25519@^1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@hpke/dhkem-x25519/-/dhkem-x25519-1.6.4.tgz#e120bf97ba31eda3cbd81083704295bec28673cc"
+ integrity sha512-TTkZ3hjMDO6TweSTSAN/qL30WubOXJXTe/1eNL4cprlGokcjJq3SldcePI2BbC1eOYq903N1X6zwDjVG5OelfA==
+ dependencies:
+ "@hpke/common" "^1.8.1"
+
+"@hpke/dhkem-x448@^1.6.4":
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/@hpke/dhkem-x448/-/dhkem-x448-1.6.4.tgz#8ef6086f2d3e41db674603637e0e0927847feff5"
+ integrity sha512-xyR4SqS4MjDmQIrIQmqPWLNgwM6Ul6G8UWQsFKZw6PLv8pxVk1nYj2WJrdZ+Ecs9+qY/NYQItv8KVMXge3gFKQ==
+ dependencies:
+ "@hpke/common" "^1.8.1"
+
"@humanwhocodes/config-array@^0.13.0":
version "0.13.0"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748"
@@ -1416,9 +2575,9 @@
yoctocolors-cjs "^2.1.2"
"@inquirer/figures@^1.0.5", "@inquirer/figures@^1.0.6":
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.12.tgz#667d6254cc7ba3b0c010a323d78024a1d30c6053"
- integrity sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==
+ version "1.0.13"
+ resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.13.tgz#ad0afd62baab1c23175115a9b62f511b6a751e45"
+ integrity sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==
"@inquirer/input@^2.3.0":
version "2.3.0"
@@ -1517,6 +2676,14 @@
wrap-ansi "^8.1.0"
wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
+"@jridgewell/gen-mapping@^0.3.12":
+ version "0.3.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
+ integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5":
version "0.3.5"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
@@ -1541,6 +2708,11 @@
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a"
integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==
+"@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba"
+ integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
+
"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
version "0.3.25"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
@@ -1549,6 +2721,26 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
+"@jridgewell/trace-mapping@^0.3.28":
+ version "0.3.30"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz#4a76c4daeee5df09f5d3940e087442fb36ce2b99"
+ integrity sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@lit-labs/ssr-dom-shim@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz#55eb80ab5ef6e188f7e541c1e2bea1ef582413b8"
+ integrity sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==
+
+"@lit/reactive-element@^2.1.0":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-2.1.1.tgz#0662ac4a43d4898974aef9a6c5cd47b9e331919a"
+ integrity sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==
+ dependencies:
+ "@lit-labs/ssr-dom-shim" "^1.4.0"
+
"@module-federation/runtime@^0.1.2":
version "0.1.21"
resolved "https://registry.yarnpkg.com/@module-federation/runtime/-/runtime-0.1.21.tgz#1d233b29dd136488f2ba682017b53f13e015788a"
@@ -1614,6 +2806,11 @@
hey-listen "^1.0.8"
tslib "^2.3.1"
+"@msgpack/msgpack@3.1.2":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@msgpack/msgpack/-/msgpack-3.1.2.tgz#fdd25cc2202297519798bbaf4689152ad9609e19"
+ integrity sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==
+
"@next/env@14.1.0":
version "14.1.0"
resolved "https://registry.yarnpkg.com/@next/env/-/env-14.1.0.tgz#43d92ebb53bc0ae43dcc64fb4d418f8f17d7a341"
@@ -1683,6 +2880,21 @@
resolved "https://registry.yarnpkg.com/@nikolovlazar/chakra-ui-prose/-/chakra-ui-prose-1.2.1.tgz#1271da3b35ada4a2b4346f38604ff30136ee94ee"
integrity sha512-I8EZiKDGkOnzBOkPquLWir1gvHoKpo7x23O+VusK2WhPcWtgR7p56On+e/QPMCitMbV4xW997ecivCohOxGk9Q==
+"@noble/ciphers@0.5.3":
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-0.5.3.tgz#48b536311587125e0d0c1535f73ec8375cd76b23"
+ integrity sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w==
+
+"@noble/ciphers@1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.2.1.tgz#3812b72c057a28b44ff0ad4aff5ca846e5b9cdc9"
+ integrity sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA==
+
+"@noble/ciphers@1.3.0", "@noble/ciphers@^1.3.0":
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc"
+ integrity sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==
+
"@noble/curves@1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35"
@@ -1690,6 +2902,27 @@
dependencies:
"@noble/hashes" "1.3.2"
+"@noble/curves@1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6"
+ integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg==
+ dependencies:
+ "@noble/hashes" "1.4.0"
+
+"@noble/curves@1.7.0", "@noble/curves@~1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45"
+ integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==
+ dependencies:
+ "@noble/hashes" "1.6.0"
+
+"@noble/curves@1.8.0":
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.0.tgz#fe035a23959e6aeadf695851b51a87465b5ba8f7"
+ integrity sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==
+ dependencies:
+ "@noble/hashes" "1.7.0"
+
"@noble/curves@1.8.1", "@noble/curves@^1.6.0", "@noble/curves@~1.8.1":
version "1.8.1"
resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff"
@@ -1697,40 +2930,81 @@
dependencies:
"@noble/hashes" "1.7.1"
-"@noble/curves@~1.3.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.3.0.tgz#01be46da4fd195822dab821e72f71bf4aeec635e"
- integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==
+"@noble/curves@1.9.1":
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.1.tgz#9654a0bc6c13420ae252ddcf975eaf0f58f0a35c"
+ integrity sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==
dependencies:
- "@noble/hashes" "1.3.3"
+ "@noble/hashes" "1.8.0"
-"@noble/curves@~1.4.0":
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9"
- integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==
+"@noble/curves@1.9.2":
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.2.tgz#73388356ce733922396214a933ff7c95afcef911"
+ integrity sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==
dependencies:
- "@noble/hashes" "1.4.0"
+ "@noble/hashes" "1.8.0"
+
+"@noble/curves@1.9.6":
+ version "1.9.6"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.6.tgz#b45ebedca85bb75782f6be7e7f120f0c423c99e0"
+ integrity sha512-GIKz/j99FRthB8icyJQA51E8Uk5hXmdyThjgQXRKiv9h0zeRlzSCLIzFw6K1LotZ3XuB7yzlf76qk7uBmTdFqA==
+ dependencies:
+ "@noble/hashes" "1.8.0"
+
+"@noble/curves@^1.3.0", "@noble/curves@^1.9.1", "@noble/curves@^1.9.7", "@noble/curves@~1.9.0":
+ version "1.9.7"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.7.tgz#79d04b4758a43e4bca2cbdc62e7771352fa6b951"
+ integrity sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==
+ dependencies:
+ "@noble/hashes" "1.8.0"
+
+"@noble/curves@^2.0.0", "@noble/curves@~2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-2.0.0.tgz#1b1d75b447e5ccfaa6a4a3c34280f0c02a763f57"
+ integrity sha512-RiwZZeJnsTnhT+/gg2KvITJZhK5oagQrpZo+yQyd3mv3D5NAG2qEeEHpw7IkXRlpkoD45wl2o4ydHAvY9wyEfw==
+ dependencies:
+ "@noble/hashes" "2.0.0"
"@noble/hashes@1.3.2":
version "1.3.2"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39"
integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==
-"@noble/hashes@1.3.3", "@noble/hashes@~1.3.3":
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699"
- integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==
-
"@noble/hashes@1.4.0":
version "1.4.0"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426"
integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==
-"@noble/hashes@1.7.1", "@noble/hashes@^1.4.0", "@noble/hashes@^1.5.0", "@noble/hashes@~1.7.1":
+"@noble/hashes@1.6.0":
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5"
+ integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==
+
+"@noble/hashes@1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.0.tgz#5d9e33af2c7d04fee35de1519b80c958b2e35e39"
+ integrity sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==
+
+"@noble/hashes@1.7.1", "@noble/hashes@^1.5.0", "@noble/hashes@~1.7.1":
version "1.7.1"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f"
integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ==
+"@noble/hashes@1.8.0", "@noble/hashes@^1.2.0", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0":
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a"
+ integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==
+
+"@noble/hashes@2.0.0", "@noble/hashes@~2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-2.0.0.tgz#5c39388259a0868cadb17d688cd8cf07eae344a4"
+ integrity sha512-h8VUBlE8R42+XIDO229cgisD287im3kdY6nbNZJFjc6ZvKIXPYXe6Vc/t+kyjFdMFyt5JpapzTsEg8n63w5/lw==
+
+"@noble/hashes@~1.6.0":
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5"
+ integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==
+
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -1934,6 +3208,123 @@
resolved "https://registry.yarnpkg.com/@redis/time-series/-/time-series-1.1.0.tgz#cba454c05ec201bd5547aaf55286d44682ac8eb5"
integrity sha512-c1Q99M5ljsIuc4YdaCwfUEXsofakb9c8+Zse2qxTadu8TalLXuAESzLvFAvNVbkmSlvlzIQOLpBCmWI9wTOt+g==
+"@reduxjs/toolkit@1.x.x || 2.x.x":
+ version "2.9.0"
+ resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-2.9.0.tgz#d4b12b90c27716a6a507193f8c3b2880729b97d5"
+ integrity sha512-fSfQlSRu9Z5yBkvsNhYF2rPS8cGXn/TZVrlwN1948QyZ8xMZ0JvP50S2acZNaf+o63u6aEeMjipFyksjIcWrog==
+ dependencies:
+ "@standard-schema/spec" "^1.0.0"
+ "@standard-schema/utils" "^0.3.0"
+ immer "^10.0.3"
+ redux "^5.0.1"
+ redux-thunk "^3.1.0"
+ reselect "^5.1.0"
+
+"@reown/appkit-common@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-common/-/appkit-common-1.7.8.tgz#6fc29db977b7325e8170b1fd08176fe15ea0b39c"
+ integrity sha512-ridIhc/x6JOp7KbDdwGKY4zwf8/iK8EYBl+HtWrruutSLwZyVi5P8WaZa+8iajL6LcDcDF7LoyLwMTym7SRuwQ==
+ dependencies:
+ big.js "6.2.2"
+ dayjs "1.11.13"
+ viem ">=2.29.0"
+
+"@reown/appkit-controllers@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-controllers/-/appkit-controllers-1.7.8.tgz#0e4c24afaacca2251745c8844463589dda6d9e66"
+ integrity sha512-IdXlJlivrlj6m63VsGLsjtPHHsTWvKGVzWIP1fXZHVqmK+rZCBDjCi9j267Rb9/nYRGHWBtlFQhO8dK35WfeDA==
+ dependencies:
+ "@reown/appkit-common" "1.7.8"
+ "@reown/appkit-wallet" "1.7.8"
+ "@walletconnect/universal-provider" "2.21.0"
+ valtio "1.13.2"
+ viem ">=2.29.0"
+
+"@reown/appkit-pay@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-pay/-/appkit-pay-1.7.8.tgz#c1ff423635869578f6ad12e6c08180c0532bf8ab"
+ integrity sha512-OSGQ+QJkXx0FEEjlpQqIhT8zGJKOoHzVnyy/0QFrl3WrQTjCzg0L6+i91Ad5Iy1zb6V5JjqtfIFpRVRWN4M3pw==
+ dependencies:
+ "@reown/appkit-common" "1.7.8"
+ "@reown/appkit-controllers" "1.7.8"
+ "@reown/appkit-ui" "1.7.8"
+ "@reown/appkit-utils" "1.7.8"
+ lit "3.3.0"
+ valtio "1.13.2"
+
+"@reown/appkit-polyfills@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-polyfills/-/appkit-polyfills-1.7.8.tgz#a0d362df8479cc66b7c6aa89e696f30783a3d21b"
+ integrity sha512-W/kq786dcHHAuJ3IV2prRLEgD/2iOey4ueMHf1sIFjhhCGMynMkhsOhQMUH0tzodPqUgAC494z4bpIDYjwWXaA==
+ dependencies:
+ buffer "6.0.3"
+
+"@reown/appkit-scaffold-ui@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-scaffold-ui/-/appkit-scaffold-ui-1.7.8.tgz#36b5eb71b2e4d6525fa9a696af5c4ae83ae17f63"
+ integrity sha512-RCeHhAwOrIgcvHwYlNWMcIDibdI91waaoEYBGw71inE0kDB8uZbE7tE6DAXJmDkvl0qPh+DqlC4QbJLF1FVYdQ==
+ dependencies:
+ "@reown/appkit-common" "1.7.8"
+ "@reown/appkit-controllers" "1.7.8"
+ "@reown/appkit-ui" "1.7.8"
+ "@reown/appkit-utils" "1.7.8"
+ "@reown/appkit-wallet" "1.7.8"
+ lit "3.3.0"
+
+"@reown/appkit-ui@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-ui/-/appkit-ui-1.7.8.tgz#014b30a7378cfc685aa1d5a543d59ac5a9dd8ed2"
+ integrity sha512-1hjCKjf6FLMFzrulhl0Y9Vb9Fu4royE+SXCPSWh4VhZhWqlzUFc7kutnZKx8XZFVQH4pbBvY62SpRC93gqoHow==
+ dependencies:
+ "@reown/appkit-common" "1.7.8"
+ "@reown/appkit-controllers" "1.7.8"
+ "@reown/appkit-wallet" "1.7.8"
+ lit "3.3.0"
+ qrcode "1.5.3"
+
+"@reown/appkit-utils@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-utils/-/appkit-utils-1.7.8.tgz#86a35184976a9ba8a935ba44ca68567eea10fba0"
+ integrity sha512-8X7UvmE8GiaoitCwNoB86pttHgQtzy4ryHZM9kQpvjQ0ULpiER44t1qpVLXNM4X35O0v18W0Dk60DnYRMH2WRw==
+ dependencies:
+ "@reown/appkit-common" "1.7.8"
+ "@reown/appkit-controllers" "1.7.8"
+ "@reown/appkit-polyfills" "1.7.8"
+ "@reown/appkit-wallet" "1.7.8"
+ "@walletconnect/logger" "2.1.2"
+ "@walletconnect/universal-provider" "2.21.0"
+ valtio "1.13.2"
+ viem ">=2.29.0"
+
+"@reown/appkit-wallet@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit-wallet/-/appkit-wallet-1.7.8.tgz#291b8c225fd3c2585d1f3e65c689a791d5ce3e5d"
+ integrity sha512-kspz32EwHIOT/eg/ZQbFPxgXq0B/olDOj3YMu7gvLEFz4xyOFd/wgzxxAXkp5LbG4Cp++s/elh79rVNmVFdB9A==
+ dependencies:
+ "@reown/appkit-common" "1.7.8"
+ "@reown/appkit-polyfills" "1.7.8"
+ "@walletconnect/logger" "2.1.2"
+ zod "3.22.4"
+
+"@reown/appkit@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@reown/appkit/-/appkit-1.7.8.tgz#6174bca032a4a2bf4fcfc78969e09210dff85214"
+ integrity sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA==
+ dependencies:
+ "@reown/appkit-common" "1.7.8"
+ "@reown/appkit-controllers" "1.7.8"
+ "@reown/appkit-pay" "1.7.8"
+ "@reown/appkit-polyfills" "1.7.8"
+ "@reown/appkit-scaffold-ui" "1.7.8"
+ "@reown/appkit-ui" "1.7.8"
+ "@reown/appkit-utils" "1.7.8"
+ "@reown/appkit-wallet" "1.7.8"
+ "@walletconnect/types" "2.21.0"
+ "@walletconnect/universal-provider" "2.21.0"
+ bs58 "6.0.0"
+ valtio "1.13.2"
+ viem ">=2.29.0"
+
"@rtsao/scc@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8"
@@ -1944,10 +3335,15 @@
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz#427d5549943a9c6fce808e39ea64dbe60d4047f1"
integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==
-"@scure/base@~1.1.3":
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1"
- integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==
+"@scure/base@1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.1.tgz#dd0b2a533063ca612c17aa9ad26424a2ff5aa865"
+ integrity sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==
+
+"@scure/base@1.2.6", "@scure/base@~1.2.5":
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6"
+ integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==
"@scure/base@~1.2.2", "@scure/base@~1.2.4":
version "1.2.4"
@@ -1963,6 +3359,15 @@
"@noble/hashes" "~1.7.1"
"@scure/base" "~1.2.2"
+"@scure/bip32@1.7.0", "@scure/bip32@^1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.7.0.tgz#b8683bab172369f988f1589640e53c4606984219"
+ integrity sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==
+ dependencies:
+ "@noble/curves" "~1.9.0"
+ "@noble/hashes" "~1.8.0"
+ "@scure/base" "~1.2.5"
+
"@scure/bip39@1.5.4", "@scure/bip39@^1.4.0":
version "1.5.4"
resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.4.tgz#07fd920423aa671be4540d59bdd344cc1461db51"
@@ -1971,13 +3376,29 @@
"@noble/hashes" "~1.7.1"
"@scure/base" "~1.2.4"
-"@scure/starknet@~1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@scure/starknet/-/starknet-1.0.0.tgz#4419bc2fdf70f3dd6cb461d36c878c9ef4419f8c"
- integrity sha512-o5J57zY0f+2IL/mq8+AYJJ4Xpc1fOtDhr+mFQKbHnYFmm3WQrC+8zj2HEgxak1a+x86mhmBC1Kq305KUpVf0wg==
+"@scure/bip39@1.6.0", "@scure/bip39@^1.6.0":
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.6.0.tgz#475970ace440d7be87a6086cbee77cb8f1a684f9"
+ integrity sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==
dependencies:
- "@noble/curves" "~1.3.0"
- "@noble/hashes" "~1.3.3"
+ "@noble/hashes" "~1.8.0"
+ "@scure/base" "~1.2.5"
+
+"@scure/starknet@1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@scure/starknet/-/starknet-1.1.0.tgz#d1902e053d98196e161b9b2c3996b20999094e7a"
+ integrity sha512-83g3M6Ix2qRsPN4wqLDqiRZ2GBNbjVWfboJE/9UjfG+MHr6oDSu/CWgy8hsBSJejr09DkkL+l0Ze4KVrlCIdtQ==
+ dependencies:
+ "@noble/curves" "~1.7.0"
+ "@noble/hashes" "~1.6.0"
+
+"@scure/starknet@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@scure/starknet/-/starknet-2.0.0.tgz#e73514828b5128176ddef16e67001b17a4360fa6"
+ integrity sha512-uDGDGleYeqsYQTpPU2IZdO7WeCeYO2sORIJdLnjX/vuENxnu8WRhabFKHjoQGQf0sPuMRD5nKyQBxKWy45W5cg==
+ dependencies:
+ "@noble/curves" "~2.0.0"
+ "@noble/hashes" "~2.0.0"
"@stablelib/aead@^1.0.1":
version "1.0.1"
@@ -2113,56 +3534,85 @@
"@stablelib/random" "^1.0.2"
"@stablelib/wipe" "^1.0.1"
-"@starknet-io/get-starknet-core@4.0.6", "@starknet-io/get-starknet-core@^4.0.2":
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/@starknet-io/get-starknet-core/-/get-starknet-core-4.0.6.tgz#92658419185e1289f9962ec3c95f28e56fb7090a"
- integrity sha512-Ka7d1+ZnpVcQObph4eQyQ/pz5vkZVTdtoFMotTarLXi5S4DvDAlCwnTC/LX3gSJK4UXBSxn9MPP1S+VPw3W/9Q==
+"@standard-schema/spec@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.0.0.tgz#f193b73dc316c4170f2e82a881da0f550d551b9c"
+ integrity sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==
+
+"@standard-schema/utils@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@standard-schema/utils/-/utils-0.3.0.tgz#3d5e608f16c2390c10528e98e59aef6bf73cae7b"
+ integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==
+
+"@starknet-io/get-starknet-core@4.0.7", "@starknet-io/get-starknet-core@^4.0.6":
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/@starknet-io/get-starknet-core/-/get-starknet-core-4.0.7.tgz#d9122ffe66557d7d925d80303db0f607960bed40"
+ integrity sha512-ocwQTdDvGa+0CvjGygyaTuFkda2R82dofydts8uXr9p0Diy/bmYW1fkuqJfi1nC5M+YcvvuEpl6wFvwXM1og5w==
dependencies:
"@module-federation/runtime" "^0.1.2"
"@starknet-io/types-js" "^0.7.7"
async-mutex "^0.5.0"
-"@starknet-io/get-starknet@^4.0.2":
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/@starknet-io/get-starknet/-/get-starknet-4.0.6.tgz#e6082610fa5094eaf4c3a44a52299f6a460f59fe"
- integrity sha512-FhyYF90g1FQHRJudv1FOWtSRLSFoVAM4PTb14Pgy+5aeENubr5hekprqFhZWNk9c3msxK/Nxio+Xc+sgg9zvEg==
+"@starknet-io/get-starknet@^4.0.6":
+ version "4.0.7"
+ resolved "https://registry.yarnpkg.com/@starknet-io/get-starknet/-/get-starknet-4.0.7.tgz#e650bbd135cced29a02bf8463a9ac0dce459daac"
+ integrity sha512-env/ZN5EmDJ6vDtIgjOjsEvvzdKBDaWZ0aLe79IVJ7lq2icqKbX86yR1/CUf4AU31AFYZHWZ3daOaGFT4nHSUQ==
dependencies:
- "@starknet-io/get-starknet-core" "4.0.6"
+ "@starknet-io/get-starknet-core" "4.0.7"
bowser "^2.11.0"
+"@starknet-io/starknet-types-08@npm:@starknet-io/types-js@~0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@starknet-io/types-js/-/types-js-0.8.4.tgz#bbc07422e89cb5bac45da28e8457f0f17535950d"
+ integrity sha512-0RZ3TZHcLsUTQaq1JhDSCM8chnzO4/XNsSCozwDET64JK5bjFDIf2ZUkta+tl5Nlbf4usoU7uZiDI/Q57kt2SQ==
+
+"@starknet-io/starknet-types-09@npm:@starknet-io/types-js@~0.9.1":
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/@starknet-io/types-js/-/types-js-0.9.1.tgz#0c93a54fb802cba4feddb56216887eb46ba068bc"
+ integrity sha512-ngLjOFuWOI4EFij8V+nl5tgHVACr6jqgLNUQbgD+AgnTcAN33SemBPXDIsovwK1Mz1U04Cz3qjDOnTq7067ZQw==
+
+"@starknet-io/types-js@0.8.4", "@starknet-io/types-js@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@starknet-io/types-js/-/types-js-0.8.4.tgz#bbc07422e89cb5bac45da28e8457f0f17535950d"
+ integrity sha512-0RZ3TZHcLsUTQaq1JhDSCM8chnzO4/XNsSCozwDET64JK5bjFDIf2ZUkta+tl5Nlbf4usoU7uZiDI/Q57kt2SQ==
+
+"@starknet-io/types-js@^0.7.10":
+ version "0.7.10"
+ resolved "https://registry.yarnpkg.com/@starknet-io/types-js/-/types-js-0.7.10.tgz#d21dc973d0cd04d7b6293ce461f2f06a5873c760"
+ integrity sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==
+
"@starknet-io/types-js@^0.7.7":
version "0.7.7"
resolved "https://registry.yarnpkg.com/@starknet-io/types-js/-/types-js-0.7.7.tgz#444be5e4e585ec6f599d42d3407280d98b2dfdf8"
integrity sha512-WLrpK7LIaIb8Ymxu6KF/6JkGW1sso988DweWu7p5QY/3y7waBIiPvzh27D9bX5KIJNRDyOoOVoHVEKYUYWZ/RQ==
-"@starknet-react/chains@3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@starknet-react/chains/-/chains-3.0.0.tgz#04e72669f8cb25c521ae36d63ca8ebea044130c7"
- integrity sha512-+XulhJZMSDAEX9JXHI5qJetHlf1Xr0nc7K2+efUMotGxXM31ovKWc/0JFlJh9Jwjgik/UO859Dh4yLkb92PAhw==
-
-"@starknet-react/chains@^3.0.0":
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/@starknet-react/chains/-/chains-3.1.2.tgz#8944d1f544ec87832cb07ed184b4c6a3ccf45459"
- integrity sha512-/Oldb4AVYdvHXzlBRxu01s0WwdOjqL2Q47BAmiv07/aBRU7mSZl6r/6l+bYKNrChSZl7WVnlpb+ojfwhRpbGcw==
+"@starknet-react/chains@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@starknet-react/chains/-/chains-5.0.1.tgz#c832220b0e7f0646d8e8c19d5f978221c92e8f34"
+ integrity sha512-QO2vRTUJct+PSSYVdzc0t3CEumPkfSPDLpR/eB7r5X52WP3sPWQASTrYu60H3r/mas/Q8wUczUWtcWIxYydVKw==
-"@starknet-react/core@3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@starknet-react/core/-/core-3.0.1.tgz#cb0b78bd9c830d3240dfe646323da3fac8d5d696"
- integrity sha512-LBWEDmZRVy90exHSCaG/h9SqolpnkBfCo/bWQDLv1tYLgVcZDMz4FqYlY8zIHOyhappHEIQ6pIclVR/P3OC/2Q==
+"@starknet-react/core@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/@starknet-react/core/-/core-5.0.1.tgz#45186e3543e3e773805b09ce5cbdadd73c94a8bf"
+ integrity sha512-LH13ahisJqCwgSytr8ip+1SeglNx+/QU9Y4mlzcqc9Rrc0v+x6WNPUoTBxHAOaYsBahswRBvVvPJ05phPclq2g==
dependencies:
- "@starknet-io/types-js" "^0.7.7"
- "@starknet-react/chains" "^3.0.0"
+ "@starknet-io/types-js" "^0.7.10"
+ "@starknet-react/chains" "^5.0.1"
"@tanstack/react-query" "^5.25.0"
+ abi-wan-kanabi "^2.2.4"
eventemitter3 "^5.0.1"
- viem "^2.19.1"
+ viem "^2.21.1"
zod "^3.22.4"
-"@strkfarm/sdk@^1.0.51":
- version "1.0.51"
- resolved "https://registry.yarnpkg.com/@strkfarm/sdk/-/sdk-1.0.51.tgz#7958e24336c07c7dbba6a76cbe91e45b1f968bbd"
- integrity sha512-cE9YI+6kmbBlMtpTC96wZ0P1wn2zvIIfsWO3h9bKPgb2jwO+4qWFW2vT+lS3WLtX0TzK6diN2U15WlxKKtM1mA==
+"@strkfarm/sdk@1.1.3":
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/@strkfarm/sdk/-/sdk-1.1.3.tgz#70948f7ceb61066ec6008747d94656d2bd3de170"
+ integrity sha512-WtoMskSy1EwMjiG5SlbQ8G8nTSjCdG2RBB6+mdKjvhX+BetFMfIfDALUJt7vorJ9Re5b3zZagcp9TDrTRwxwvg==
dependencies:
"@avnu/avnu-sdk" "3.0.2"
+ "@ericnordelo/strk-merkle-tree" "^1.0.0"
+ "@noble/curves" "^1.9.7"
+ "@scure/starknet" "^2.0.0"
bignumber.js "4.0.4"
browser-assert "^1.2.1"
chalk "^4.1.2"
@@ -2175,6 +3625,112 @@
stacktrace-js "^2.0.2"
winston "^3.13.0"
+"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22"
+ integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==
+
+"@svgr/babel-plugin-remove-jsx-attribute@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186"
+ integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==
+
+"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44"
+ integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==
+
+"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27"
+ integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==
+
+"@svgr/babel-plugin-svg-dynamic-title@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0"
+ integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==
+
+"@svgr/babel-plugin-svg-em-dimensions@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501"
+ integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==
+
+"@svgr/babel-plugin-transform-react-native-svg@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754"
+ integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==
+
+"@svgr/babel-plugin-transform-svg-component@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e"
+ integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==
+
+"@svgr/babel-preset@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece"
+ integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==
+ dependencies:
+ "@svgr/babel-plugin-add-jsx-attribute" "8.0.0"
+ "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0"
+ "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0"
+ "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0"
+ "@svgr/babel-plugin-svg-dynamic-title" "8.0.0"
+ "@svgr/babel-plugin-svg-em-dimensions" "8.0.0"
+ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
+ "@svgr/babel-plugin-transform-svg-component" "8.0.0"
+
+"@svgr/core@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88"
+ integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@svgr/babel-preset" "8.1.0"
+ camelcase "^6.2.0"
+ cosmiconfig "^8.1.3"
+ snake-case "^3.0.4"
+
+"@svgr/hast-util-to-babel-ast@8.0.0":
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4"
+ integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==
+ dependencies:
+ "@babel/types" "^7.21.3"
+ entities "^4.4.0"
+
+"@svgr/plugin-jsx@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928"
+ integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@svgr/babel-preset" "8.1.0"
+ "@svgr/hast-util-to-babel-ast" "8.0.0"
+ svg-parser "^2.0.4"
+
+"@svgr/plugin-svgo@8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00"
+ integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==
+ dependencies:
+ cosmiconfig "^8.1.3"
+ deepmerge "^4.3.1"
+ svgo "^3.0.2"
+
+"@svgr/webpack@^8.1.0":
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2"
+ integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==
+ dependencies:
+ "@babel/core" "^7.21.3"
+ "@babel/plugin-transform-react-constant-elements" "^7.21.3"
+ "@babel/preset-env" "^7.20.2"
+ "@babel/preset-react" "^7.18.6"
+ "@babel/preset-typescript" "^7.21.0"
+ "@svgr/core" "8.1.0"
+ "@svgr/plugin-jsx" "8.1.0"
+ "@svgr/plugin-svgo" "8.1.0"
+
"@swc/helpers@0.5.2":
version "0.5.2"
resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d"
@@ -2197,17 +3753,151 @@
resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.59.0.tgz#5dcc21cfb85ecad6dcb1bf2a616d2820c0b49754"
integrity sha512-YDXp3OORbYR+8HNQx+lf4F73NoiCmCcSvZvgxE29OifmQFk0sBlO26NWLHpcNERo92tVk3w+JQ53/vkcRUY1hA==
dependencies:
- "@tanstack/query-core" "5.59.0"
+ "@tanstack/query-core" "5.59.0"
+
+"@telegram-apps/bridge@^1.9.2":
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/@telegram-apps/bridge/-/bridge-1.9.2.tgz#5dbff521fbe3160ff6134fbb53fd3a8306306eb2"
+ integrity sha512-SJLcNWLXhbbZr9MiqFH/g2ceuitSJKMxUIZysK4zUNyTUNuonrQG80Q/yrO+XiNbKUj8WdDNM86NBARhuyyinQ==
+ dependencies:
+ "@telegram-apps/signals" "^1.1.1"
+ "@telegram-apps/toolkit" "^1.1.1"
+ "@telegram-apps/transformers" "^1.2.2"
+ "@telegram-apps/types" "^1.2.1"
+
+"@telegram-apps/navigation@^1.0.13":
+ version "1.0.14"
+ resolved "https://registry.yarnpkg.com/@telegram-apps/navigation/-/navigation-1.0.14.tgz#606df093f89d68f3013d8086acc7b63d9cc5ec3c"
+ integrity sha512-bqNgF/J8Po7ZtsELm3E1a6aPr7awwxO3sIqD8J6u12urOlGoW5+1KxKKbkPa58mgXuQdsltd8apI+OVy0IYiUA==
+
+"@telegram-apps/sdk@^2.4.0":
+ version "2.11.3"
+ resolved "https://registry.yarnpkg.com/@telegram-apps/sdk/-/sdk-2.11.3.tgz#cc3ba119bd659a39298d894cdf78c073f997ed45"
+ integrity sha512-KdULzgRe1gcR8B3Z/t3hQrEaDmLGrfsL2IePtPP6ehtMn5tT0uPfnjtDLjDNQMyI7D4Tv2ZOzvDx45wOhhreXg==
+ dependencies:
+ "@telegram-apps/bridge" "^1.9.2"
+ "@telegram-apps/navigation" "^1.0.13"
+ "@telegram-apps/signals" "^1.1.1"
+ "@telegram-apps/toolkit" "^1.1.1"
+ "@telegram-apps/transformers" "^1.2.2"
+
+"@telegram-apps/signals@^1.1.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@telegram-apps/signals/-/signals-1.1.2.tgz#a533420b658b555c2fb85063f87b969792a57a4b"
+ integrity sha512-1P1kdCLX7MfETGPxH7f3UZKIsdE7Tz5S7QmN4Km1sbYQMakD5Bi1NecSMR7/wnHp50gWMI1JzENcMtCEmouhSg==
+
+"@telegram-apps/toolkit@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@telegram-apps/toolkit/-/toolkit-1.1.1.tgz#939c30f07dab7c3d754765b60021210cb9669b84"
+ integrity sha512-+vhKx6ngfvjyTE6Xagl3z1TPVbfx5s7xAkcYzCdHYUo6T60jLIqLgyZMcI1UPoIAMuMu1pHoO+p8QNCj/+tFmw==
+
+"@telegram-apps/transformers@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@telegram-apps/transformers/-/transformers-1.2.2.tgz#f995461b0f4dcfe54c6baed9a1abf4e21ca29339"
+ integrity sha512-vvMwXckd1D7Ozc0h66PSUwF5QLrRV9HlGJFFeBuUex8QEk5mSPtsJkLiqB8aBbwuFDa91+TUSM/CxqPZO/e9YQ==
+ dependencies:
+ "@telegram-apps/toolkit" "^1.1.1"
+ "@telegram-apps/types" "^1.2.1"
+
+"@telegram-apps/types@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@telegram-apps/types/-/types-1.2.1.tgz#e5886f65ec399c06838c257e96e2b130213c6d6c"
+ integrity sha512-so4HLh7clur0YyMthi9KVIgWoGpZdXlFOuQjk3+Q5NAvJZ11nAheBSwPlGw/Ko92+zwvrSBE/lQyN2+p17RP+w==
+
+"@trpc/client@^10.38.1":
+ version "10.45.2"
+ resolved "https://registry.yarnpkg.com/@trpc/client/-/client-10.45.2.tgz#15f9ba81303bf3417083fc6bb742e4e86b49da90"
+ integrity sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==
+
+"@trpc/server@^10.38.1":
+ version "10.45.2"
+ resolved "https://registry.yarnpkg.com/@trpc/server/-/server-10.45.2.tgz#5f2778c4810f93b5dc407146334f8da70a0b51fb"
+ integrity sha512-wOrSThNNE4HUnuhJG6PfDRp4L2009KDVxsd+2VYH8ro6o/7/jwYZ8Uu5j+VaW+mOmc8EHerHzGcdbGNQSAUPgg==
+
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
+"@turnkey/api-key-stamper@0.4.5":
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/@turnkey/api-key-stamper/-/api-key-stamper-0.4.5.tgz#a5b75297d38ef20ac5d0891732ee342955ec64b5"
+ integrity sha512-8UeYt/2WtMrK2uSFzjiRXdCVc9SmKlMVuA4f1Z+SlxcsW0wlEpNM/7bd8N4VVVAjoE8Yy50Vhk3ylfQFtlaKsQ==
+ dependencies:
+ "@noble/curves" "^1.3.0"
+ "@turnkey/encoding" "0.4.0"
+ sha256-uint8array "^0.10.7"
+
+"@turnkey/crypto@2.3.1":
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/@turnkey/crypto/-/crypto-2.3.1.tgz#22d3d263cf67daba71d72f73206a3024291e2028"
+ integrity sha512-fHKCw0inuThEKIpZnC8pvz16egZHf08wES0LdSkM9XrGDcI7p0eqF7nAHgfAMW/0qNVZD8AKW+g/5O97HBwZ4w==
+ dependencies:
+ "@noble/ciphers" "0.5.3"
+ "@noble/curves" "1.4.0"
+ "@noble/hashes" "1.4.0"
+ "@turnkey/encoding" "0.4.0"
+ bs58 "^5.0.0"
+ bs58check "3.0.1"
+
+"@turnkey/encoding@0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@turnkey/encoding/-/encoding-0.4.0.tgz#9d06efe6447322bcc9eb4d51b48961054a3c102d"
+ integrity sha512-ptLgcpWVt34KTPx0omF2QLJrosW6I//clCJ4G2+yngYFCzrdR0yBchV/BOcfME67mK1v3MmauyXl9AAnQTmB4Q==
+
+"@turnkey/http@3.3.0":
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/@turnkey/http/-/http-3.3.0.tgz#b7f6b54ef0f81f89bf80fe42cc55c1128b8459dc"
+ integrity sha512-m1fP8aqQcI0U4j7Gw89UbavavWP7AWGmEwoJl5nBhQz88mtep6AaZTsUoDDU4HXg0ch+aQ2/lfl0KFPp8s2u5Q==
+ dependencies:
+ "@turnkey/api-key-stamper" "0.4.5"
+ "@turnkey/encoding" "0.4.0"
+ "@turnkey/webauthn-stamper" "0.5.0"
+ cross-fetch "^3.1.5"
+
+"@turnkey/iframe-stamper@2.5.0":
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/@turnkey/iframe-stamper/-/iframe-stamper-2.5.0.tgz#4543458a3ac380c96f239c6c2a997c03bac0bd7b"
+ integrity sha512-XjntbA5CNjxGRH+loceAlVLL9PG9Q4Y7p5zjBm4DeKclhD6lpUl9h8INArMEXIFbfLwLjjS6Q+SmQG4BHvNY6A==
+
+"@turnkey/sdk-browser@^4.0.0":
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/@turnkey/sdk-browser/-/sdk-browser-4.3.0.tgz#90bdaa4f7a6f2c9f3ef5eaad53dbd87ec9509515"
+ integrity sha512-TBAWpA28PnqFOeD45Ljzq5RfAabj4Qlnvo1toekt+yf6Hk13Nsm6R5FEiivHUMSNcvKBAwf5uQg+MPbBndymlQ==
+ dependencies:
+ "@turnkey/api-key-stamper" "0.4.5"
+ "@turnkey/crypto" "2.3.1"
+ "@turnkey/encoding" "0.4.0"
+ "@turnkey/http" "3.3.0"
+ "@turnkey/iframe-stamper" "2.5.0"
+ "@turnkey/wallet-stamper" "1.0.3"
+ "@turnkey/webauthn-stamper" "0.5.0"
+ bs58check "^3.0.1"
+ buffer "^6.0.3"
+ cross-fetch "^3.1.5"
+ hpke-js "^1.2.7"
+
+"@turnkey/wallet-stamper@1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@turnkey/wallet-stamper/-/wallet-stamper-1.0.3.tgz#9e0a006dffd671fd5d4f9d84aa21b21ceb42add8"
+ integrity sha512-8DMuVPo/u8oIzQ9Snsa24ZQO3nXVMfpd8VnlPLfZiW2jjZHPFyBGCJOYSArfp+W2xoudpYVu//JElBAVxk/u/g==
+ dependencies:
+ "@turnkey/crypto" "2.3.1"
+ "@turnkey/encoding" "0.4.0"
+ optionalDependencies:
+ viem "^2.21.35"
-"@trpc/client@^10.38.1":
- version "10.45.2"
- resolved "https://registry.yarnpkg.com/@trpc/client/-/client-10.45.2.tgz#15f9ba81303bf3417083fc6bb742e4e86b49da90"
- integrity sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==
+"@turnkey/webauthn-stamper@0.5.0":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/@turnkey/webauthn-stamper/-/webauthn-stamper-0.5.0.tgz#014b8c20b1732af49dacb04f396edf010d3b7f47"
+ integrity sha512-iUbTUwD4f4ibdLy5PWWb7ITEz4S4VAP9/mNjFhoRY3cKVVTDfmykrVTKjPOIHWzDgAmLtgrLvySIIC9ZBVENBw==
+ dependencies:
+ sha256-uint8array "^0.10.7"
-"@trpc/server@^10.38.1":
- version "10.45.2"
- resolved "https://registry.yarnpkg.com/@trpc/server/-/server-10.45.2.tgz#5f2778c4810f93b5dc407146334f8da70a0b51fb"
- integrity sha512-wOrSThNNE4HUnuhJG6PfDRp4L2009KDVxsd+2VYH8ro6o/7/jwYZ8Uu5j+VaW+mOmc8EHerHzGcdbGNQSAUPgg==
+"@types/d3-array@^3.0.3":
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.1.tgz#1f6658e3d2006c4fceac53fde464166859f8b8c5"
+ integrity sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==
"@types/d3-color@*":
version "3.1.3"
@@ -2221,18 +3911,52 @@
dependencies:
"@types/d3-selection" "*"
-"@types/d3-interpolate@*":
+"@types/d3-ease@^3.0.0":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.2.tgz#e28db1bfbfa617076f7770dd1d9a48eaa3b6c51b"
+ integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==
+
+"@types/d3-interpolate@*", "@types/d3-interpolate@^3.0.1":
version "3.0.4"
resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c"
integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==
dependencies:
"@types/d3-color" "*"
+"@types/d3-path@*":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.1.1.tgz#f632b380c3aca1dba8e34aa049bcd6a4af23df8a"
+ integrity sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==
+
+"@types/d3-scale@^4.0.2":
+ version "4.0.9"
+ resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.9.tgz#57a2f707242e6fe1de81ad7bfcccaaf606179afb"
+ integrity sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==
+ dependencies:
+ "@types/d3-time" "*"
+
"@types/d3-selection@*", "@types/d3-selection@^3.0.10":
version "3.0.11"
resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-3.0.11.tgz#bd7a45fc0a8c3167a631675e61bc2ca2b058d4a3"
integrity sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==
+"@types/d3-shape@^3.1.0":
+ version "3.1.7"
+ resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.1.7.tgz#2b7b423dc2dfe69c8c93596e673e37443348c555"
+ integrity sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==
+ dependencies:
+ "@types/d3-path" "*"
+
+"@types/d3-time@*", "@types/d3-time@^3.0.0":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.4.tgz#8472feecd639691450dd8000eb33edd444e1323f"
+ integrity sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==
+
+"@types/d3-timer@^3.0.0":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.2.tgz#70bbda77dc23aa727413e22e214afa3f0e852f70"
+ integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==
+
"@types/d3-transition@^3.0.8":
version "3.0.9"
resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-3.0.9.tgz#1136bc57e9ddb3c390dccc9b5ff3b7d2b8d94706"
@@ -2295,11 +4019,11 @@
"@types/node" "*"
"@types/node@*":
- version "24.0.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-24.0.3.tgz#f935910f3eece3a3a2f8be86b96ba833dc286cab"
- integrity sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==
+ version "24.3.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-24.3.0.tgz#89b09f45cb9a8ee69466f18ee5864e4c3eb84dec"
+ integrity sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==
dependencies:
- undici-types "~7.8.0"
+ undici-types "~7.10.0"
"@types/node@18.15.13":
version "18.15.13"
@@ -2321,9 +4045,9 @@
undici-types "~6.19.2"
"@types/node@^22.5.5":
- version "22.15.32"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.32.tgz#c301cc2275b535a5e54bb81d516b1d2e9afe06e5"
- integrity sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==
+ version "22.18.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.0.tgz#9e4709be4f104e3568f7dd1c71e2949bf147a47b"
+ integrity sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==
dependencies:
undici-types "~6.21.0"
@@ -2374,6 +4098,16 @@
resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c"
integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==
+"@types/trusted-types@^2.0.2":
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11"
+ integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
+
+"@types/use-sync-external-store@^0.0.6":
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz#60be8d21baab8c305132eb9cb912ed497852aadc"
+ integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==
+
"@types/wrap-ansi@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz#18b97a972f94f60a679fd5c796d96421b9abb9fd"
@@ -2557,6 +4291,52 @@
lodash.isequal "4.5.0"
uint8arrays "3.1.0"
+"@walletconnect/core@2.21.0":
+ version "2.21.0"
+ resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.21.0.tgz#a8927c79cd5ff47a2eaa8dd6a8e8f0060619393d"
+ integrity sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw==
+ dependencies:
+ "@walletconnect/heartbeat" "1.2.2"
+ "@walletconnect/jsonrpc-provider" "1.0.14"
+ "@walletconnect/jsonrpc-types" "1.0.4"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/jsonrpc-ws-connection" "1.0.16"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/logger" "2.1.2"
+ "@walletconnect/relay-api" "1.0.11"
+ "@walletconnect/relay-auth" "1.1.0"
+ "@walletconnect/safe-json" "1.0.2"
+ "@walletconnect/time" "1.0.2"
+ "@walletconnect/types" "2.21.0"
+ "@walletconnect/utils" "2.21.0"
+ "@walletconnect/window-getters" "1.0.1"
+ es-toolkit "1.33.0"
+ events "3.3.0"
+ uint8arrays "3.1.0"
+
+"@walletconnect/core@2.21.8":
+ version "2.21.8"
+ resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.21.8.tgz#57929f64d54a7273265c58e4ce1fc7d59dbdc81f"
+ integrity sha512-MD1SY7KAeHWvufiBK8C1MwP9/pxxI7SnKi/rHYfjco2Xvke+M+Bbm2OzvuSN7dYZvwLTkZCiJmBccTNVPCpSUQ==
+ dependencies:
+ "@walletconnect/heartbeat" "1.2.2"
+ "@walletconnect/jsonrpc-provider" "1.0.14"
+ "@walletconnect/jsonrpc-types" "1.0.4"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/jsonrpc-ws-connection" "1.0.16"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/logger" "2.1.2"
+ "@walletconnect/relay-api" "1.0.11"
+ "@walletconnect/relay-auth" "1.1.0"
+ "@walletconnect/safe-json" "1.0.2"
+ "@walletconnect/time" "1.0.2"
+ "@walletconnect/types" "2.21.8"
+ "@walletconnect/utils" "2.21.8"
+ "@walletconnect/window-getters" "1.0.1"
+ es-toolkit "1.39.3"
+ events "3.3.0"
+ uint8arrays "3.1.1"
+
"@walletconnect/environment@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7"
@@ -2564,6 +4344,23 @@
dependencies:
tslib "1.14.1"
+"@walletconnect/ethereum-provider@^2.20.0":
+ version "2.21.8"
+ resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.21.8.tgz#4bb7e2bd728059cefa3b93b33a87e883dee91e47"
+ integrity sha512-yjDlPpGMkuSXoIdmX7q7K7mDjPBqBqRW3hjXExhrRpbScdP92ZEFHoJf3E4ALDxdaV894ivXrOmMyGsoY5Eexg==
+ dependencies:
+ "@reown/appkit" "1.7.8"
+ "@walletconnect/jsonrpc-http-connection" "1.0.8"
+ "@walletconnect/jsonrpc-provider" "1.0.14"
+ "@walletconnect/jsonrpc-types" "1.0.4"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/sign-client" "2.21.8"
+ "@walletconnect/types" "2.21.8"
+ "@walletconnect/universal-provider" "2.21.8"
+ "@walletconnect/utils" "2.21.8"
+ events "3.3.0"
+
"@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c"
@@ -2581,6 +4378,16 @@
"@walletconnect/time" "^1.0.2"
events "^3.3.0"
+"@walletconnect/jsonrpc-http-connection@1.0.8":
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz#2f4c3948f074960a3edd07909560f3be13e2c7ae"
+ integrity sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==
+ dependencies:
+ "@walletconnect/jsonrpc-utils" "^1.0.6"
+ "@walletconnect/safe-json" "^1.0.1"
+ cross-fetch "^3.1.4"
+ events "^3.3.0"
+
"@walletconnect/jsonrpc-provider@1.0.14":
version "1.0.14"
resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz#696f3e3b6d728b361f2e8b853cfc6afbdf2e4e3e"
@@ -2617,6 +4424,16 @@
events "^3.3.0"
ws "^7.5.1"
+"@walletconnect/jsonrpc-ws-connection@1.0.16":
+ version "1.0.16"
+ resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.16.tgz#666bb13fbf32a2d4f7912d5b4d0bdef26a1d057b"
+ integrity sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==
+ dependencies:
+ "@walletconnect/jsonrpc-utils" "^1.0.6"
+ "@walletconnect/safe-json" "^1.0.2"
+ events "^3.3.0"
+ ws "^7.5.1"
+
"@walletconnect/keyvaluestorage@1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842"
@@ -2653,6 +4470,17 @@
tslib "1.14.1"
uint8arrays "^3.0.0"
+"@walletconnect/relay-auth@1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.1.0.tgz#c3c5f54abd44a5138ea7d4fe77970597ba66c077"
+ integrity sha512-qFw+a9uRz26jRCDgL7Q5TA9qYIgcNY8jpJzI1zAWNZ8i7mQjaijRnWFKsCHAU9CyGjvt6RKrRXyFtFOpWTVmCQ==
+ dependencies:
+ "@noble/curves" "1.8.0"
+ "@noble/hashes" "1.7.0"
+ "@walletconnect/safe-json" "^1.0.1"
+ "@walletconnect/time" "^1.0.2"
+ uint8arrays "^3.0.0"
+
"@walletconnect/safe-json@1.0.2", "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77"
@@ -2660,6 +4488,36 @@
dependencies:
tslib "1.14.1"
+"@walletconnect/sign-client@2.21.0":
+ version "2.21.0"
+ resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.21.0.tgz#3dc3be83be58ad9a9fb53d0fd8fa5e571cfdd046"
+ integrity sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA==
+ dependencies:
+ "@walletconnect/core" "2.21.0"
+ "@walletconnect/events" "1.0.1"
+ "@walletconnect/heartbeat" "1.2.2"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/logger" "2.1.2"
+ "@walletconnect/time" "1.0.2"
+ "@walletconnect/types" "2.21.0"
+ "@walletconnect/utils" "2.21.0"
+ events "3.3.0"
+
+"@walletconnect/sign-client@2.21.8":
+ version "2.21.8"
+ resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.21.8.tgz#9d0c94df25bee38204c701103ba8ed442bffef59"
+ integrity sha512-lTcUbMjQ0YUZ5wzCLhpBeS9OkWYgLLly6BddEp2+pm4QxiwCCU2Nao0nBJXgzKbZYQOgrEGqtdm/7ze67gjzRA==
+ dependencies:
+ "@walletconnect/core" "2.21.8"
+ "@walletconnect/events" "1.0.1"
+ "@walletconnect/heartbeat" "1.2.2"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/logger" "2.1.2"
+ "@walletconnect/time" "1.0.2"
+ "@walletconnect/types" "2.21.8"
+ "@walletconnect/utils" "2.21.8"
+ events "3.3.0"
+
"@walletconnect/sign-client@^2.11.0":
version "2.17.0"
resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.17.0.tgz#efe811b1bb10082d964e2f0378aaa1b40f424503"
@@ -2694,6 +4552,66 @@
"@walletconnect/logger" "2.1.2"
events "3.3.0"
+"@walletconnect/types@2.21.0":
+ version "2.21.0"
+ resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.21.0.tgz#afb47ff5966d57f97dd955dc3fa4817c616b9c24"
+ integrity sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw==
+ dependencies:
+ "@walletconnect/events" "1.0.1"
+ "@walletconnect/heartbeat" "1.2.2"
+ "@walletconnect/jsonrpc-types" "1.0.4"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/logger" "2.1.2"
+ events "3.3.0"
+
+"@walletconnect/types@2.21.8":
+ version "2.21.8"
+ resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.21.8.tgz#14fddcc61fd5ff2fbacaf89792a14c251c67087f"
+ integrity sha512-xuLIPrLxe6viMu8Uk28Nf0sgyMy+4oT0mroOjBe5Vqyft8GTiwUBKZXmrGU9uDzZsYVn1FXLO9CkuNHXda3ODA==
+ dependencies:
+ "@walletconnect/events" "1.0.1"
+ "@walletconnect/heartbeat" "1.2.2"
+ "@walletconnect/jsonrpc-types" "1.0.4"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/logger" "2.1.2"
+ events "3.3.0"
+
+"@walletconnect/universal-provider@2.21.0":
+ version "2.21.0"
+ resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.21.0.tgz#fb21e9726a8eb983df70cf2b304b110b6a0b1354"
+ integrity sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg==
+ dependencies:
+ "@walletconnect/events" "1.0.1"
+ "@walletconnect/jsonrpc-http-connection" "1.0.8"
+ "@walletconnect/jsonrpc-provider" "1.0.14"
+ "@walletconnect/jsonrpc-types" "1.0.4"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/logger" "2.1.2"
+ "@walletconnect/sign-client" "2.21.0"
+ "@walletconnect/types" "2.21.0"
+ "@walletconnect/utils" "2.21.0"
+ es-toolkit "1.33.0"
+ events "3.3.0"
+
+"@walletconnect/universal-provider@2.21.8":
+ version "2.21.8"
+ resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.21.8.tgz#9745948b3bfbd28399f1c2645876acdf00f263be"
+ integrity sha512-Nc1Z6VXnya152yucNDPnlTkrhG289tCUfcjiWqDmwNYzFSfdT5oJQHlnffQXlvoks90kn5Ru8Rnwag2CH1YOVQ==
+ dependencies:
+ "@walletconnect/events" "1.0.1"
+ "@walletconnect/jsonrpc-http-connection" "1.0.8"
+ "@walletconnect/jsonrpc-provider" "1.0.14"
+ "@walletconnect/jsonrpc-types" "1.0.4"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/logger" "2.1.2"
+ "@walletconnect/sign-client" "2.21.8"
+ "@walletconnect/types" "2.21.8"
+ "@walletconnect/utils" "2.21.8"
+ es-toolkit "1.39.3"
+ events "3.3.0"
+
"@walletconnect/utils@2.17.0":
version "2.17.0"
resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.17.0.tgz#02b3af0b80d0c1a994d692d829d066271b04d071"
@@ -2716,6 +4634,55 @@
query-string "7.1.3"
uint8arrays "3.1.0"
+"@walletconnect/utils@2.21.0":
+ version "2.21.0"
+ resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.21.0.tgz#53517aab2ba456b9765b8ab064c7f721acfc4626"
+ integrity sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig==
+ dependencies:
+ "@noble/ciphers" "1.2.1"
+ "@noble/curves" "1.8.1"
+ "@noble/hashes" "1.7.1"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/relay-api" "1.0.11"
+ "@walletconnect/relay-auth" "1.1.0"
+ "@walletconnect/safe-json" "1.0.2"
+ "@walletconnect/time" "1.0.2"
+ "@walletconnect/types" "2.21.0"
+ "@walletconnect/window-getters" "1.0.1"
+ "@walletconnect/window-metadata" "1.0.1"
+ bs58 "6.0.0"
+ detect-browser "5.3.0"
+ query-string "7.1.3"
+ uint8arrays "3.1.0"
+ viem "2.23.2"
+
+"@walletconnect/utils@2.21.8":
+ version "2.21.8"
+ resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.21.8.tgz#2bd3ed74ba586c8e161908f0279efd035de6fa73"
+ integrity sha512-HtMraGJ9qXo55l4wGSM1aZvyz0XVv460iWhlRGAyRl9Yz8RQeKyXavDhwBfcTFha/6kwLxPExqQ+MURtKeVVXw==
+ dependencies:
+ "@msgpack/msgpack" "3.1.2"
+ "@noble/ciphers" "1.3.0"
+ "@noble/curves" "1.9.2"
+ "@noble/hashes" "1.8.0"
+ "@scure/base" "1.2.6"
+ "@walletconnect/jsonrpc-utils" "1.0.8"
+ "@walletconnect/keyvaluestorage" "1.1.1"
+ "@walletconnect/relay-api" "1.0.11"
+ "@walletconnect/relay-auth" "1.1.0"
+ "@walletconnect/safe-json" "1.0.2"
+ "@walletconnect/time" "1.0.2"
+ "@walletconnect/types" "2.21.8"
+ "@walletconnect/window-getters" "1.0.1"
+ "@walletconnect/window-metadata" "1.0.1"
+ blakejs "1.2.1"
+ bs58 "6.0.0"
+ detect-browser "5.3.0"
+ query-string "7.1.3"
+ uint8arrays "3.1.1"
+ viem "2.31.0"
+
"@walletconnect/window-getters@1.0.1", "@walletconnect/window-getters@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc"
@@ -2813,7 +4780,7 @@ JSONStream@^1.3.5:
jsonparse "^1.2.0"
through ">=2.2.7 <3"
-abi-wan-kanabi@^2.2.2:
+abi-wan-kanabi@2.2.4, abi-wan-kanabi@^2.2.3, abi-wan-kanabi@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/abi-wan-kanabi/-/abi-wan-kanabi-2.2.4.tgz#47ebbafbb7f8df81773efbdcca60cdda8008c821"
integrity sha512-0aA81FScmJCPX+8UvkXLki3X1+yPQuWxEkqXBVKltgPAK79J+NB+Lp5DouMXa7L6f+zcRlIA/6XO7BN/q9fnvg==
@@ -2828,6 +4795,11 @@ abitype@1.0.8, abitype@^1.0.6:
resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba"
integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==
+abitype@^1.0.8:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.9.tgz#f66940f69caf2b6c190088a017e289dbe41090a6"
+ integrity sha512-oN0S++TQmlwWuB+rkA6aiEefLv3SP+2l/tC5mux/TLj6qdA6rF15Vbpex4fHovLsMkwLwTIRj8/Q8vXCS3GfOg==
+
acorn-jsx@^5.3.2:
version "5.3.2"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
@@ -2935,9 +4907,9 @@ argparse@^2.0.1:
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
aria-hidden@^1.2.3:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522"
- integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.6.tgz#73051c9b088114c795b1ea414e9c0fff874ffc1a"
+ integrity sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==
dependencies:
tslib "^2.0.0"
@@ -3176,11 +5148,50 @@ babel-plugin-macros@^3.1.0:
cosmiconfig "^7.0.0"
resolve "^1.19.0"
+babel-plugin-polyfill-corejs2@^0.4.14:
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f"
+ integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
+ dependencies:
+ "@babel/compat-data" "^7.27.7"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ semver "^6.3.1"
+
+babel-plugin-polyfill-corejs3@^0.13.0:
+ version "0.13.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164"
+ integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ core-js-compat "^3.43.0"
+
+babel-plugin-polyfill-regenerator@^0.6.5:
+ version "0.6.5"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5"
+ integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+base-x@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.1.tgz#817fb7b57143c501f649805cb247617ad016a885"
+ integrity sha512-uAZ8x6r6S3aUM9rbHGVOIsR15U/ZSc82b3ymnCPsT45Gk1DDvhDPdIgB5MrhirZWt+5K0EEPQH985kNqZgNPFw==
+
+base-x@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/base-x/-/base-x-5.0.1.tgz#16bf35254be1df8aca15e36b7c1dda74b2aa6b03"
+ integrity sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==
+
+base64-js@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
bcrypt-pbkdf@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
@@ -3188,6 +5199,11 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
+big.js@6.2.2:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.2.tgz#be3bb9ac834558b53b099deef2a1d06ac6368e1a"
+ integrity sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==
+
bignumber.js@4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-4.0.4.tgz#7c40f5abcd2d6623ab7b99682ee7db81b11889a4"
@@ -3206,6 +5222,11 @@ bl@^1.2.3:
readable-stream "^2.3.5"
safe-buffer "^5.1.1"
+blakejs@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814"
+ integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==
+
bluebird@^3.5.0:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
@@ -3216,6 +5237,16 @@ bn.js@^4.11.9:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+bn.js@^5.2.1:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566"
+ integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==
+
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
bowser@^2.11.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f"
@@ -3263,6 +5294,46 @@ browserslist@^4.14.5:
node-releases "^2.0.18"
update-browserslist-db "^1.1.0"
+browserslist@^4.24.0, browserslist@^4.25.3:
+ version "4.25.4"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.4.tgz#ebdd0e1d1cf3911834bab3a6cd7b917d9babf5af"
+ integrity sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==
+ dependencies:
+ caniuse-lite "^1.0.30001737"
+ electron-to-chromium "^1.5.211"
+ node-releases "^2.0.19"
+ update-browserslist-db "^1.1.3"
+
+bs58@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/bs58/-/bs58-6.0.0.tgz#a2cda0130558535dd281a2f8697df79caaf425d8"
+ integrity sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==
+ dependencies:
+ base-x "^5.0.0"
+
+bs58@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279"
+ integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==
+ dependencies:
+ base-x "^4.0.0"
+
+bs58check@3.0.1, bs58check@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-3.0.1.tgz#2094d13720a28593de1cba1d8c4e48602fdd841c"
+ integrity sha512-hjuuJvoWEybo7Hn/0xOrczQKKEKD63WguEjlhLExYs2wUBcebDC1jDNK17eEAD2lYfw82d5ASC1d7K3SWszjaQ==
+ dependencies:
+ "@noble/hashes" "^1.2.0"
+ bs58 "^5.0.0"
+
+buffer@6.0.3, buffer@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
busboy@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
@@ -3317,11 +5388,26 @@ camelcase-css@^2.0.1:
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+camelcase@^5.0.0:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+camelcase@^6.2.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
+ integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+
caniuse-lite@^1.0.30001137, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001663:
version "1.0.30001664"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz#d588d75c9682d3301956b05a3749652a80677df4"
integrity sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==
+caniuse-lite@^1.0.30001737:
+ version "1.0.30001739"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz#b34ce2d56bfc22f4352b2af0144102d623a124f4"
+ integrity sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==
+
cardinal@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505"
@@ -3335,6 +5421,27 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
+cbor-extract@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cbor-extract/-/cbor-extract-2.2.0.tgz#cee78e630cbeae3918d1e2e58e0cebaf3a3be840"
+ integrity sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA==
+ dependencies:
+ node-gyp-build-optional-packages "5.1.1"
+ optionalDependencies:
+ "@cbor-extract/cbor-extract-darwin-arm64" "2.2.0"
+ "@cbor-extract/cbor-extract-darwin-x64" "2.2.0"
+ "@cbor-extract/cbor-extract-linux-arm" "2.2.0"
+ "@cbor-extract/cbor-extract-linux-arm64" "2.2.0"
+ "@cbor-extract/cbor-extract-linux-x64" "2.2.0"
+ "@cbor-extract/cbor-extract-win32-x64" "2.2.0"
+
+cbor-x@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/cbor-x/-/cbor-x-1.6.0.tgz#89c35d2d805efc30e09a28349425cc05d57aacd7"
+ integrity sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg==
+ optionalDependencies:
+ cbor-extract "^2.2.0"
+
chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
@@ -3413,6 +5520,15 @@ clipboardy@^4.0.0:
is-wsl "^3.1.0"
is64bit "^2.0.0"
+cliui@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
+ integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.0"
+ wrap-ansi "^6.2.0"
+
cliui@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
@@ -3422,6 +5538,11 @@ cliui@^8.0.1:
strip-ansi "^6.0.1"
wrap-ansi "^7.0.0"
+clsx@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
+ integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
+
cluster-key-slot@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac"
@@ -3518,6 +5639,11 @@ commander@^4.0.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
compare-func@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
@@ -3667,6 +5793,11 @@ convert-source-map@^1.5.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
+convert-source-map@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+
cookie-es@^1.1.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.2.2.tgz#18ceef9eb513cac1cb6c14bcbf8bdb2679b34821"
@@ -3679,6 +5810,13 @@ copy-to-clipboard@3.3.3:
dependencies:
toggle-selection "^1.0.6"
+core-js-compat@^3.43.0:
+ version "3.45.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.45.1.tgz#424f3f4af30bf676fd1b67a579465104f64e9c7a"
+ integrity sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==
+ dependencies:
+ browserslist "^4.25.3"
+
core-util-is@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -3700,6 +5838,23 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0"
yaml "^1.10.0"
+cosmiconfig@^8.1.3:
+ version "8.3.6"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3"
+ integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
+ dependencies:
+ import-fresh "^3.3.0"
+ js-yaml "^4.1.0"
+ parse-json "^5.2.0"
+ path-type "^4.0.0"
+
+cross-fetch@^3.1.4, cross-fetch@^3.1.5:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3"
+ integrity sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==
+ dependencies:
+ node-fetch "^2.7.0"
+
cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -3726,16 +5881,62 @@ css-box-model@1.2.1:
dependencies:
tiny-invariant "^1.0.6"
+css-select@^5.1.0:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e"
+ integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.1.0"
+ domhandler "^5.0.2"
+ domutils "^3.0.1"
+ nth-check "^2.0.1"
+
+css-tree@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20"
+ integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
+ dependencies:
+ mdn-data "2.0.30"
+ source-map-js "^1.0.1"
+
+css-tree@~2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032"
+ integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==
+ dependencies:
+ mdn-data "2.0.28"
+ source-map-js "^1.0.1"
+
+css-what@^6.1.0:
+ version "6.2.2"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea"
+ integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==
+
cssesc@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+csso@^5.0.5:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6"
+ integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==
+ dependencies:
+ css-tree "~2.2.0"
+
csstype@^3.0.2, csstype@^3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5"
+ integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
+ dependencies:
+ internmap "1 - 2"
+
"d3-color@1 - 3":
version "3.1.0"
resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2"
@@ -3754,24 +5955,66 @@ csstype@^3.0.2, csstype@^3.1.2:
d3-dispatch "1 - 3"
d3-selection "3"
-"d3-ease@1 - 3":
+"d3-ease@1 - 3", d3-ease@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4"
integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
-"d3-interpolate@1 - 3":
+"d3-format@1 - 3":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641"
+ integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==
+
+"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d"
integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
dependencies:
- d3-color "1 - 3"
+ d3-color "1 - 3"
+
+d3-path@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526"
+ integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==
+
+d3-scale@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396"
+ integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==
+ dependencies:
+ d3-array "2.10.0 - 3"
+ d3-format "1 - 3"
+ d3-interpolate "1.2.0 - 3"
+ d3-time "2.1.1 - 3"
+ d3-time-format "2 - 4"
+
+"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31"
+ integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==
+
+d3-shape@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5"
+ integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==
+ dependencies:
+ d3-path "^3.1.0"
+
+"d3-time-format@2 - 4":
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a"
+ integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==
+ dependencies:
+ d3-time "1 - 3"
-"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31"
- integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==
+"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7"
+ integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==
+ dependencies:
+ d3-array "2 - 3"
-"d3-timer@1 - 3":
+"d3-timer@1 - 3", d3-timer@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0"
integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
@@ -3869,6 +6112,11 @@ data-view-byte-offset@^1.0.1:
es-errors "^1.3.0"
is-data-view "^1.0.1"
+dayjs@1.11.13:
+ version "1.11.13"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c"
+ integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
+
debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5:
version "4.3.7"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52"
@@ -3890,6 +6138,23 @@ debug@^3.2.7:
dependencies:
ms "^2.1.1"
+debug@^4.1.0, debug@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b"
+ integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
+ dependencies:
+ ms "^2.1.3"
+
+decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+
+decimal.js-light@^2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934"
+ integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==
+
decode-uri-component@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
@@ -3924,6 +6189,11 @@ 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.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==
+
define-data-property@^1.0.1, define-data-property@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
@@ -3952,6 +6222,11 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+derive-valtio@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/derive-valtio/-/derive-valtio-0.1.0.tgz#4b9fb393dfefccfef15fcbbddd745dd22d5d63d7"
+ integrity sha512-OCg2UsLbXK7GmmpzMXhYkdO64vhJ1ROUUGaTFyHjVwEdMEcTTRj7W1TxLbSBxdY8QLBPCcp66MTyaSy0RpO17A==
+
destr@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449"
@@ -3967,6 +6242,11 @@ detect-libc@^1.0.3:
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
+detect-libc@^2.0.1:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.4.tgz#f04715b8ba815e53b4d8109655b6508a6865a7e8"
+ integrity sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==
+
detect-libc@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700"
@@ -3982,6 +6262,11 @@ didyoumean@^1.2.2:
resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
+dijkstrajs@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23"
+ integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==
+
dir-glob@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
@@ -4016,6 +6301,44 @@ dom-helpers@^5.0.1:
"@babel/runtime" "^7.8.7"
csstype "^3.0.2"
+dom-serializer@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
+ integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
+ dependencies:
+ domelementtype "^2.3.0"
+ domhandler "^5.0.2"
+ entities "^4.2.0"
+
+domelementtype@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domhandler@^5.0.2, domhandler@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
+ integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
+ dependencies:
+ domelementtype "^2.3.0"
+
+domutils@^3.0.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78"
+ integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==
+ dependencies:
+ dom-serializer "^2.0.0"
+ domelementtype "^2.3.0"
+ domhandler "^5.0.3"
+
+dot-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
+ integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+ dependencies:
+ no-case "^3.0.4"
+ tslib "^2.0.3"
+
dot-prop@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -4055,11 +6378,29 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
+electron-to-chromium@^1.5.211:
+ version "1.5.213"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.213.tgz#f434187f227fb7e67bfcf8243b959cf3ce14013e"
+ integrity sha512-xr9eRzSLNa4neDO0xVFrkXu3vyIzG4Ay08dApecw42Z1NbmCt+keEpXdvlYGVe0wtvY5dhW0Ay0lY0IOfsCg0Q==
+
electron-to-chromium@^1.5.28:
version "1.5.30"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.30.tgz#5b264b489cfe0c3dd71097c164d795444834e7c7"
integrity sha512-sXI35EBN4lYxzc/pIGorlymYNzDBOqkSlVRe6MkgBsW/hW1tpC/HDJ2fjG7XnjakzfLEuvdmux0Mjs6jHq4UOA==
+elliptic@6.6.1:
+ version "6.6.1"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06"
+ integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==
+ 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"
+
elliptic@^6.5.7:
version "6.5.7"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b"
@@ -4111,6 +6452,11 @@ enabled@2.0.x:
resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
+encode-utf8@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda"
+ integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==
+
end-of-stream@^1.1.0:
version "1.4.5"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c"
@@ -4133,6 +6479,11 @@ enhanced-resolve@^5.15.0:
graceful-fs "^4.2.4"
tapable "^2.2.0"
+entities@^4.2.0, entities@^4.4.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
error-ex@^1.3.1, error-ex@^1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -4369,6 +6720,21 @@ es-to-primitive@^1.3.0:
is-date-object "^1.0.5"
is-symbol "^1.0.4"
+es-toolkit@1.33.0:
+ version "1.33.0"
+ resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.33.0.tgz#bcc9d92ef2e1ed4618c00dd30dfda9faddf4a0b7"
+ integrity sha512-X13Q/ZSc+vsO1q600bvNK4bxgXMkHcf//RxCmYDaRY5DAcT+eoXjY5hoAPGMdRnWQjvyLEcyauG3b6hz76LNqg==
+
+es-toolkit@1.39.3:
+ version "1.39.3"
+ resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.39.3.tgz#934b2cab9578c496dcbc0305cae687258cb14aee"
+ integrity sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==
+
+es-toolkit@^1.39.3:
+ version "1.39.10"
+ resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.39.10.tgz#513407af73e79f9940e7ec7650f2e6dceeaf1d81"
+ integrity sha512-E0iGnTtbDhkeczB0T+mxmoVlT4YNweEKBLq7oaU4p11mecdsZpNWOglI4895Vh4usbQ+LsJiuLuI2L0Vdmfm2w==
+
escalade@^3.1.1, escalade@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
@@ -4625,9 +6991,9 @@ ethers@6.11.1:
ws "8.5.0"
ethers@^6.13.5:
- version "6.14.4"
- resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.14.4.tgz#0f6fbc562a8425c7c888da307fa71ef796be0c04"
- integrity sha512-Jm/dzRs2Z9iBrT6e9TvGxyb5YVKAPLlpna7hjxH7KH/++DSh2T/JVmQUv7iHI5E55hDbp/gEVvstWYXVxXFzsA==
+ version "6.15.0"
+ resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.15.0.tgz#2980f2a3baf0509749b7e21f8692fa8a8349c0e3"
+ integrity sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==
dependencies:
"@adraffy/ens-normalize" "1.10.1"
"@noble/curves" "1.2.0"
@@ -4734,13 +7100,13 @@ fecha@^4.2.0:
resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
-fetch-cookie@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/fetch-cookie/-/fetch-cookie-3.1.0.tgz#3989b929e48cc410b151a3e476b762ca19ffcb2d"
- integrity sha512-s/XhhreJpqH0ftkGVcQt8JE9bqk+zRn4jF5mPJXWZeQMCI5odV9K+wEWYbnzFPHgQZlvPSMjS4n4yawWE8RINw==
+fetch-cookie@~3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/fetch-cookie/-/fetch-cookie-3.0.1.tgz#6a77f7495e1a639ae019db916a234db8c85d5963"
+ integrity sha512-ZGXe8Y5Z/1FWqQ9q/CrJhkUD73DyBU9VF0hBQmEO/wPHe4A9PKTjplFDLeFX8aOsYypZUcX5Ji/eByn3VCVO3Q==
dependencies:
set-cookie-parser "^2.4.8"
- tough-cookie "^5.0.0"
+ tough-cookie "^4.0.0"
file-entry-cache@^6.0.1:
version "6.0.1"
@@ -4771,6 +7137,14 @@ find-root@^1.1.0:
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+find-up@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
find-up@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
@@ -4806,10 +7180,10 @@ fn.name@1.x.x:
resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
-focus-lock@^1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-1.3.5.tgz#aa644576e5ec47d227b57eb14e1efb2abf33914c"
- integrity sha512-QFaHbhv9WPUeLYBDe/PAuLKJ4Dd9OPvKs9xZBr3yLXnUrDNaVXKu2baDBXe3naPY30hgHYSsf2JW4jzas2mDEQ==
+focus-lock@^1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-1.3.6.tgz#955eec1e10591d56f679258edb94aedb11d691cd"
+ integrity sha512-Ik/6OCk9RQQ0T5Xw+hKNLWrjSMtv51dD4GRmJjbD5a58TIEpI5a5iXagKVl3Z5UuyslMCA8Xwnu76jQob62Yhg==
dependencies:
tslib "^2.0.3"
@@ -4854,10 +7228,10 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
-form-data@~4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.3.tgz#608b1b3f3e28be0fccf5901fc85fb3641e5cf0ae"
- integrity sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==
+form-data@~4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4"
+ integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
@@ -4958,7 +7332,12 @@ generic-pool@3.9.0:
resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.9.0.tgz#36f4a678e963f4fdb8707eab050823abc4e8f5e4"
integrity sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==
-get-caller-file@^2.0.5:
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-caller-file@^2.0.1, get-caller-file@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
@@ -5008,21 +7387,21 @@ get-proto@^1.0.1:
dunder-proto "^1.0.1"
es-object-atoms "^1.0.0"
-get-starknet-core@3.3.3, get-starknet-core@^3.3.3:
+get-starknet-core@^3.3.3:
version "3.3.3"
resolved "https://registry.yarnpkg.com/get-starknet-core/-/get-starknet-core-3.3.3.tgz#26a5203bc29d7906b8963684374eea8c356c7fad"
integrity sha512-IscL4lAigJpc/9Idkg07sdyUOXkB+/goTDQm8EhMGn/nIAW4rn04d+D47ils75drNQIfZZKDIIZrWrbIKvjoWA==
dependencies:
"@module-federation/runtime" "^0.1.2"
-get-starknet-core@^4.0.0-next.3:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/get-starknet-core/-/get-starknet-core-4.0.0.tgz#9a81101b3a4e54e090f76492b566abaa3b5865c7"
- integrity sha512-6pLmidQZkC3wZsrHY99grQHoGpuuXqkbSP65F8ov1/JsEI8DDLkhsAuLCKFzNOK56cJp+f1bWWfTJ57e9r5eqQ==
+get-starknet-core@^3.3.5:
+ version "3.3.5"
+ resolved "https://registry.yarnpkg.com/get-starknet-core/-/get-starknet-core-3.3.5.tgz#01b3267ad8f289db75c332c09bd18e6de6f5d7fb"
+ integrity sha512-EiXfbVp1ZIKc4jjGA5hEyNsy9rnkH4ALpiMCD+4G2jtqo/Gq4TrcVzh//mJclLA8yHRh3576H1vbAeH5zA1CiQ==
dependencies:
- "@starknet-io/types-js" "^0.7.7"
+ "@module-federation/runtime" "^0.1.2"
-get-starknet@3.3.3:
+get-starknet@^3.3.3:
version "3.3.3"
resolved "https://registry.yarnpkg.com/get-starknet/-/get-starknet-3.3.3.tgz#5cac8c9551e84bb596d5ee3d507fb121b7142b8b"
integrity sha512-SdxNGKFmynRRf3p2VtaBEc1P/VbQHIt8igZC4+xCkKipm/DtZ5jptLXWhqTMYF9vARAmUNZsj8HGujKpqGEBEA==
@@ -5283,7 +7662,7 @@ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2:
dependencies:
has-symbols "^1.0.3"
-hash.js@^1.0.0, hash.js@^1.0.3:
+hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.7"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
@@ -5326,6 +7705,17 @@ hosted-git-info@^7.0.0:
dependencies:
lru-cache "^10.0.1"
+hpke-js@^1.2.7:
+ version "1.6.4"
+ resolved "https://registry.yarnpkg.com/hpke-js/-/hpke-js-1.6.4.tgz#25d77187c53997af64ffd1ca595d6388602523b9"
+ integrity sha512-hssVL7cGvRNxE/YJ9RwxTsi48xKbX2O6SjPfGyeuFTBGDe/C/akLIjQYpE2Ea1GrSgH4htY0AW9z98w82C6OAA==
+ dependencies:
+ "@hpke/chacha20poly1305" "^1.7.0"
+ "@hpke/common" "^1.8.1"
+ "@hpke/core" "^1.7.4"
+ "@hpke/dhkem-x25519" "^1.6.4"
+ "@hpke/dhkem-x448" "^1.6.4"
+
http-shutdown@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f"
@@ -5370,11 +7760,21 @@ idb-keyval@^6.2.1:
resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33"
integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==
+ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
ignore@^5.2.0, ignore@^5.3.1:
version "5.3.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
+immer@^10.0.3, immer@^10.1.1:
+ version "10.1.1"
+ resolved "https://registry.yarnpkg.com/immer/-/immer-10.1.1.tgz#206f344ea372d8ea176891545ee53ccc062db7bc"
+ integrity sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==
+
import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -5383,6 +7783,14 @@ import-fresh@^3.2.1:
parent-module "^1.0.0"
resolve-from "^4.0.0"
+import-fresh@^3.3.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
+ integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -5433,12 +7841,10 @@ internal-slot@^1.1.0:
hasown "^2.0.2"
side-channel "^1.1.0"
-invariant@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
- dependencies:
- loose-envify "^1.0.0"
+"internmap@1 - 2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009"
+ integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==
iron-webcrypto@^1.1.1:
version "1.2.1"
@@ -5543,6 +7949,13 @@ is-core-module@^2.13.0, is-core-module@^2.15.1:
dependencies:
hasown "^2.0.2"
+is-core-module@^2.16.0:
+ version "2.16.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
+ integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
+ dependencies:
+ hasown "^2.0.2"
+
is-data-view@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f"
@@ -5829,7 +8242,7 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-isomorphic-fetch@^3.0.0:
+isomorphic-fetch@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4"
integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==
@@ -5842,6 +8255,11 @@ isows@1.0.6:
resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7"
integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==
+isows@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.7.tgz#1c06400b7eed216fbba3bcbd68f12490fc342915"
+ integrity sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==
+
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -5896,6 +8314,11 @@ jotai@2.6.4:
resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.6.4.tgz#a68a76f0e5cd2b614afae7112cfc52a77dbfe038"
integrity sha512-RniwQPX4893YlNR1muOtyUGHYaTD1fhEN4qnOuZJSrDHj6xdEMrqlRSN/hCm2fshwk78ruecB/P2l+NCVWe6TQ==
+js-sha3@0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
+ integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
+
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -5918,6 +8341,16 @@ jsesc@^2.5.1:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+jsesc@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
+jsesc@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e"
+ integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==
+
json-buffer@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
@@ -5960,6 +8393,11 @@ json5@^1.0.2:
dependencies:
minimist "^1.2.0"
+json5@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
@@ -6077,6 +8515,38 @@ listhen@^1.7.2:
untun "^0.1.3"
uqr "^0.1.2"
+lit-element@^4.2.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-4.2.1.tgz#0a3782f36eaa545862fe07f84abcb14b2903a042"
+ integrity sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==
+ dependencies:
+ "@lit-labs/ssr-dom-shim" "^1.4.0"
+ "@lit/reactive-element" "^2.1.0"
+ lit-html "^3.3.0"
+
+lit-html@^3.3.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-3.3.1.tgz#f0a7e4b9ea0a1d034eb28a4bf2d1b0a0096253e3"
+ integrity sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==
+ dependencies:
+ "@types/trusted-types" "^2.0.2"
+
+lit@3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/lit/-/lit-3.3.0.tgz#b3037ea94676fb89c3dde9951914efefd0441f17"
+ integrity sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==
+ dependencies:
+ "@lit/reactive-element" "^2.1.0"
+ lit-element "^4.2.0"
+ lit-html "^3.3.0"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
locate-path@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
@@ -6138,7 +8608,7 @@ logform@^2.7.0:
safe-stable-stringify "^2.3.1"
triple-beam "^1.3.0"
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
+loose-envify@^1.1.0, loose-envify@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
@@ -6150,16 +8620,40 @@ lossless-json@^4.0.1:
resolved "https://registry.yarnpkg.com/lossless-json/-/lossless-json-4.0.2.tgz#f00c52815805d1421930a87e2670e27350958a3f"
integrity sha512-+z0EaLi2UcWi8MZRxA5iTb6m4Ys4E80uftGY+yG5KNFJb5EceQXOhdW/pWJZ8m97s26u7yZZAYMcKWNztSZssA==
+lower-case@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
+ integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+ dependencies:
+ tslib "^2.0.3"
+
lru-cache@^10.0.1, lru-cache@^10.2.0, lru-cache@^10.4.3:
version "10.4.3"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119"
integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
math-intrinsics@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+mdn-data@2.0.28:
+ version "2.0.28"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba"
+ integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==
+
+mdn-data@2.0.30:
+ version "2.0.30"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc"
+ integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+
memoize-one@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
@@ -6268,6 +8762,11 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707"
integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
+mipd@^0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9"
+ integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg==
+
mixpanel-browser@2.49.0:
version "2.49.0"
resolved "https://registry.yarnpkg.com/mixpanel-browser/-/mixpanel-browser-2.49.0.tgz#de3f4f2d0f3a32b4babf6d827ef983a9fd48a711"
@@ -6372,6 +8871,14 @@ next@14.1.0:
"@next/swc-win32-ia32-msvc" "14.1.0"
"@next/swc-win32-x64-msvc" "14.1.0"
+no-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
+ integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+ dependencies:
+ lower-case "^2.0.2"
+ tslib "^2.0.3"
+
node-addon-api@^7.0.0:
version "7.1.1"
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558"
@@ -6382,7 +8889,7 @@ node-fetch-native@^1.6.4:
resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e"
integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==
-node-fetch@^2.6.0, node-fetch@^2.6.1:
+node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.7.0:
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==
@@ -6394,11 +8901,23 @@ node-forge@^1.3.1:
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
+node-gyp-build-optional-packages@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz#52b143b9dd77b7669073cbfe39e3f4118bfc603c"
+ integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==
+ dependencies:
+ detect-libc "^2.0.1"
+
node-releases@^2.0.18:
version "2.0.18"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
+node-releases@^2.0.19:
+ version "2.0.19"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
+ integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
+
node-telegram-bot-api@^0.66.0:
version "0.66.0"
resolved "https://registry.yarnpkg.com/node-telegram-bot-api/-/node-telegram-bot-api-0.66.0.tgz#9ad27e357b30fd3a89a37365ed95a82a70ac9f94"
@@ -6440,6 +8959,13 @@ npm-run-path@^5.1.0:
dependencies:
path-key "^4.0.0"
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
@@ -6613,10 +9139,10 @@ own-keys@^1.0.1:
object-keys "^1.1.1"
safe-push-apply "^1.0.0"
-ox@0.6.9:
- version "0.6.9"
- resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.9.tgz#da1ee04fa10de30c8d04c15bfb80fe58b1f554bd"
- integrity sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug==
+ox@0.6.7:
+ version "0.6.7"
+ resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.7.tgz#afd53f2ecef68b8526660e9d29dee6e6b599a832"
+ integrity sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA==
dependencies:
"@adraffy/ens-normalize" "^1.10.1"
"@noble/curves" "^1.6.0"
@@ -6626,6 +9152,41 @@ ox@0.6.9:
abitype "^1.0.6"
eventemitter3 "5.0.1"
+ox@0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/ox/-/ox-0.7.1.tgz#fb23a770dd966c051ad916d4e2e655a6f995e1cf"
+ integrity sha512-+k9fY9PRNuAMHRFIUbiK9Nt5seYHHzSQs9Bj+iMETcGtlpS7SmBzcGSVUQO3+nqGLEiNK4598pHNFlVRaZbRsg==
+ dependencies:
+ "@adraffy/ens-normalize" "^1.10.1"
+ "@noble/ciphers" "^1.3.0"
+ "@noble/curves" "^1.6.0"
+ "@noble/hashes" "^1.5.0"
+ "@scure/bip32" "^1.5.0"
+ "@scure/bip39" "^1.4.0"
+ abitype "^1.0.6"
+ eventemitter3 "5.0.1"
+
+ox@0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/ox/-/ox-0.9.1.tgz#d3300afe70c5b2ec50a9df3097f8bb0523b306a5"
+ integrity sha512-NVI0cajROntJWtFnxZQ1aXDVy+c6DLEXJ3wwON48CgbPhmMJrpRTfVbuppR+47RmXm3lZ/uMaKiFSkLdAO1now==
+ dependencies:
+ "@adraffy/ens-normalize" "^1.11.0"
+ "@noble/ciphers" "^1.3.0"
+ "@noble/curves" "^1.9.1"
+ "@noble/hashes" "^1.8.0"
+ "@scure/bip32" "^1.7.0"
+ "@scure/bip39" "^1.6.0"
+ abitype "^1.0.8"
+ eventemitter3 "5.0.1"
+
+p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ dependencies:
+ p-try "^2.0.0"
+
p-limit@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
@@ -6640,6 +9201,13 @@ p-limit@^4.0.0:
dependencies:
yocto-queue "^1.0.0"
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
p-locate@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
@@ -6654,6 +9222,11 @@ p-locate@^6.0.0:
dependencies:
p-limit "^4.0.0"
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
package-json-from-dist@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
@@ -6671,7 +9244,7 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
-parse-json@^5.0.0:
+parse-json@^5.0.0, parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
@@ -6750,6 +9323,11 @@ picocolors@^1.0.0, picocolors@^1.1.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59"
integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==
+picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
+
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
@@ -6804,6 +9382,11 @@ pkg-types@^1.1.1:
mlly "^1.7.1"
pathe "^1.1.2"
+pngjs@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
+ integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
+
popmotion@11.0.3:
version "11.0.3"
resolved "https://registry.yarnpkg.com/popmotion/-/popmotion-11.0.3.tgz#565c5f6590bbcddab7a33a074bb2ba97e24b0cc9"
@@ -6917,6 +9500,11 @@ prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2,
object-assign "^4.1.1"
react-is "^16.13.1"
+proxy-compare@2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.6.0.tgz#5e8c8b5c3af7e7f17e839bf6cf1435bcc4d315b0"
+ integrity sha512-8xuCeM3l8yqdmbPoYeLbrAXCBWu19XEYc5/F28f5qOaoAIMyfmBUkl5axiK+x9olUvRlcekvnm98AP9RDngOIw==
+
proxy-from-env@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
@@ -6942,6 +9530,16 @@ punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+qrcode@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170"
+ integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==
+ dependencies:
+ dijkstrajs "^1.0.1"
+ encode-utf8 "^1.0.3"
+ pngjs "^5.0.0"
+ yargs "^15.3.1"
+
qs@6.14.0, qs@^6.7.0:
version "6.14.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930"
@@ -6984,14 +9582,14 @@ radix3@^1.1.2:
resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.2.tgz#fd27d2af3896c6bf4bcdfab6427c69c2afc69ec0"
integrity sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==
-react-clientside-effect@^1.2.6:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz#29f9b14e944a376b03fb650eed2a754dd128ea3a"
- integrity sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==
+react-clientside-effect@^1.2.7:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/react-clientside-effect/-/react-clientside-effect-1.2.8.tgz#0b90a9d7b2a1823a3a10ed1ea3f651f7e0301cb7"
+ integrity sha512-ma2FePH0z3px2+WOu6h+YycZcEvFmmxIlAb62cF52bG86eMySciO/EQZeQMXd07kPCYB0a1dWDT5J+KE9mCDUw==
dependencies:
"@babel/runtime" "^7.12.13"
-react-dom@18:
+react-dom@18, react-dom@^18.2.0:
version "18.3.1"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4"
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
@@ -7012,16 +9610,16 @@ react-fast-compare@3.2.2:
integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==
react-focus-lock@^2.9.4:
- version "2.13.2"
- resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.13.2.tgz#e1addac2f8b9550bc0581f3c416755ba0f81f5ef"
- integrity sha512-T/7bsofxYqnod2xadvuwjGKHOoL5GH7/EIPI5UyEvaU/c2CcphvGI371opFtuY/SYdbMsNiuF4HsHQ50nA/TKQ==
+ version "2.13.6"
+ resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.13.6.tgz#29751bf2e4e30f6248673cd87a347c74ff2af672"
+ integrity sha512-ehylFFWyYtBKXjAO9+3v8d0i+cnc1trGS0vlTGhzFW1vbFXVUTmR8s2tt/ZQG8x5hElg6rhENlLG1H3EZK0Llg==
dependencies:
"@babel/runtime" "^7.0.0"
- focus-lock "^1.3.5"
+ focus-lock "^1.3.6"
prop-types "^15.6.2"
- react-clientside-effect "^1.2.6"
- use-callback-ref "^1.3.2"
- use-sidecar "^1.1.2"
+ react-clientside-effect "^1.2.7"
+ use-callback-ref "^1.3.3"
+ use-sidecar "^1.1.3"
react-hot-toast@2.4.1:
version "2.4.1"
@@ -7055,24 +9653,32 @@ react-pro-sidebar@1.1.0:
"@popperjs/core" "^2.11.6"
classnames "^2.3.2"
-react-remove-scroll-bar@^2.3.6:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c"
- integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==
+"react-redux@8.x.x || 9.x.x":
+ version "9.2.0"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.2.0.tgz#96c3ab23fb9a3af2cb4654be4b51c989e32366f5"
+ integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==
+ dependencies:
+ "@types/use-sync-external-store" "^0.0.6"
+ use-sync-external-store "^1.4.0"
+
+react-remove-scroll-bar@^2.3.7:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223"
+ integrity sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==
dependencies:
- react-style-singleton "^2.2.1"
+ react-style-singleton "^2.2.2"
tslib "^2.0.0"
react-remove-scroll@^2.5.6:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz#fb03a0845d7768a4f1519a99fdb84983b793dc07"
- integrity sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz#d2101d414f6d81d7d3bf033f3c1cb4785789f753"
+ integrity sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==
dependencies:
- react-remove-scroll-bar "^2.3.6"
- react-style-singleton "^2.2.1"
+ react-remove-scroll-bar "^2.3.7"
+ react-style-singleton "^2.2.3"
tslib "^2.1.0"
- use-callback-ref "^1.3.0"
- use-sidecar "^1.1.2"
+ use-callback-ref "^1.3.3"
+ use-sidecar "^1.1.3"
react-responsive-carousel@3.2.23:
version "3.2.23"
@@ -7106,13 +9712,12 @@ react-share@5.1.0:
classnames "^2.3.2"
jsonp "^0.2.1"
-react-style-singleton@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4"
- integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==
+react-style-singleton@^2.2.2, react-style-singleton@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388"
+ integrity sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==
dependencies:
get-nonce "^1.0.0"
- invariant "^2.2.4"
tslib "^2.0.0"
react-transition-group@^4.3.0:
@@ -7125,7 +9730,7 @@ react-transition-group@^4.3.0:
loose-envify "^1.4.0"
prop-types "^15.6.2"
-react@18:
+react@18, react@^18.2.0:
version "18.3.1"
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
@@ -7192,6 +9797,23 @@ real-require@^0.1.0:
resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381"
integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==
+recharts@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/recharts/-/recharts-3.1.0.tgz#8c97bc3b9d21c844052220c88d37d9913947342d"
+ integrity sha512-NqAqQcGBmLrfDs2mHX/bz8jJCQtG2FeXfE0GqpZmIuXIjkpIwj8sd9ad0WyvKiBKPd8ZgNG0hL85c8sFDwascw==
+ dependencies:
+ "@reduxjs/toolkit" "1.x.x || 2.x.x"
+ clsx "^2.1.1"
+ decimal.js-light "^2.5.1"
+ es-toolkit "^1.39.3"
+ eventemitter3 "^5.0.1"
+ immer "^10.1.1"
+ react-redux "8.x.x || 9.x.x"
+ reselect "5.1.1"
+ tiny-invariant "^1.3.3"
+ use-sync-external-store "^1.2.2"
+ victory-vendor "^37.0.2"
+
redeyed@~2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b"
@@ -7211,6 +9833,16 @@ redis@^4.7.0:
"@redis/search" "1.2.0"
"@redis/time-series" "1.1.0"
+redux-thunk@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-3.1.0.tgz#94aa6e04977c30e14e892eae84978c1af6058ff3"
+ integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==
+
+redux@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-5.0.1.tgz#97fa26881ce5746500125585d5642c77b6e9447b"
+ integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==
+
reflect.getprototypeof@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859"
@@ -7238,6 +9870,18 @@ reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
get-proto "^1.0.1"
which-builtin-type "^1.2.1"
+regenerate-unicode-properties@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0"
+ integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==
+ dependencies:
+ regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
regenerator-runtime@^0.14.0:
version "0.14.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
@@ -7265,6 +9909,30 @@ regexp.prototype.flags@^1.5.4:
gopd "^1.2.0"
set-function-name "^2.0.2"
+regexpu-core@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826"
+ integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==
+ dependencies:
+ regenerate "^1.4.2"
+ regenerate-unicode-properties "^10.2.0"
+ regjsgen "^0.8.0"
+ regjsparser "^0.12.0"
+ unicode-match-property-ecmascript "^2.0.0"
+ unicode-match-property-value-ecmascript "^2.1.0"
+
+regjsgen@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab"
+ integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+
+regjsparser@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc"
+ integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==
+ dependencies:
+ jsesc "~3.0.2"
+
rehackt@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/rehackt/-/rehackt-0.1.0.tgz#a7c5e289c87345f70da8728a7eb878e5d03c696b"
@@ -7282,11 +9950,21 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+require-main-filename@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+ integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+reselect@5.1.1, reselect@^5.1.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/reselect/-/reselect-5.1.1.tgz#c766b1eb5d558291e5e550298adb0becc24bb72e"
+ integrity sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==
+
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
@@ -7306,6 +9984,15 @@ resolve@^1.1.7, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.22.4:
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
+resolve@^1.22.10:
+ version "1.22.10"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
+ integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
+ dependencies:
+ is-core-module "^2.16.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
resolve@^2.0.0-next.5:
version "2.0.0-next.5"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c"
@@ -7440,10 +10127,15 @@ server-only@^0.0.1:
resolved "https://registry.yarnpkg.com/server-only/-/server-only-0.0.1.tgz#0f366bb6afb618c37c9255a314535dc412cd1c9e"
integrity sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
set-cookie-parser@^2.4.8:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz#ef5552b56dc01baae102acb5fc9fb8cd060c30f9"
- integrity sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz#3016f150072202dfbe90fadee053573cc89d2943"
+ integrity sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==
set-function-length@^1.2.1, set-function-length@^1.2.2:
version "1.2.2"
@@ -7476,6 +10168,11 @@ set-proto@^1.0.0:
es-errors "^1.3.0"
es-object-atoms "^1.0.0"
+sha256-uint8array@^0.10.7:
+ version "0.10.7"
+ resolved "https://registry.yarnpkg.com/sha256-uint8array/-/sha256-uint8array-0.10.7.tgz#c751fc914f4227b26d996980562065fa4eadcf99"
+ integrity sha512-1Q6JQU4tX9NqsDGodej6pkrUVQVNapLZnvkwIhddH/JqzBZF1fSaxSWNY6sziXBE8aEa2twtGkXUrwzGeZCMpQ==
+
sharp@0.33.4:
version "0.33.4"
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.4.tgz#b88e6e843e095c6ab5e1a0c59c4885e580cd8405"
@@ -7584,6 +10281,14 @@ slash@^3.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+snake-case@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
+ integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
+ dependencies:
+ dot-case "^3.0.4"
+ tslib "^2.0.3"
+
sonic-boom@^2.2.1:
version "2.8.0"
resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611"
@@ -7591,7 +10296,7 @@ sonic-boom@^2.2.1:
dependencies:
atomic-sleep "^1.0.0"
-source-map-js@^1.0.2, source-map-js@^1.2.1:
+source-map-js@^1.0.1, source-map-js@^1.0.2, source-map-js@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
@@ -7696,38 +10401,54 @@ stacktrace-js@^2.0.2:
stack-generator "^2.0.5"
stacktrace-gps "^3.0.4"
-"starknet-types-07@npm:@starknet-io/types-js@^0.7.7":
+"starknet-types-07@npm:@starknet-io/types-js@^0.7.10":
version "0.7.10"
resolved "https://registry.yarnpkg.com/@starknet-io/types-js/-/types-js-0.7.10.tgz#d21dc973d0cd04d7b6293ce461f2f06a5873c760"
integrity sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==
-starknet@6.11.0:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/starknet/-/starknet-6.11.0.tgz#5d7e868e913777e9bf64323e59ed8be86437f291"
- integrity sha512-u50KrGDi9fbu1Ogu7ynwF/tSeFlp3mzOg1/Y5x50tYFICImo3OfY4lOz9OtYDk404HK4eUujKkhov9tG7GAKlg==
- dependencies:
- "@noble/curves" "~1.4.0"
- "@noble/hashes" "^1.4.0"
- "@scure/base" "~1.1.3"
- "@scure/starknet" "~1.0.0"
- abi-wan-kanabi "^2.2.2"
- fetch-cookie "^3.0.0"
- get-starknet-core "^4.0.0-next.3"
- isomorphic-fetch "^3.0.0"
+starknet@8.5.2:
+ version "8.5.2"
+ resolved "https://registry.yarnpkg.com/starknet/-/starknet-8.5.2.tgz#befa50e5d924bb4bb7802d94623fb2b8680c7d8c"
+ integrity sha512-d/GNASyo569y2kNZX+qS8faVxANyVANeEZWhwq0B7jVGcU6gE9W/aPThz3fMT3QN/srm+2XEiGTYbKuX+w5IKg==
+ dependencies:
+ "@noble/curves" "1.7.0"
+ "@noble/hashes" "1.6.0"
+ "@scure/base" "1.2.1"
+ "@scure/starknet" "1.1.0"
+ "@starknet-io/starknet-types-08" "npm:@starknet-io/types-js@~0.8.4"
+ "@starknet-io/starknet-types-09" "npm:@starknet-io/types-js@~0.9.1"
+ abi-wan-kanabi "2.2.4"
lossless-json "^4.0.1"
pako "^2.0.4"
- starknet-types-07 "npm:@starknet-io/types-js@^0.7.7"
ts-mixer "^6.0.3"
- url-join "^4.0.1"
-starknetkit@2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/starknetkit/-/starknetkit-2.4.0.tgz#922dacd4686755bdabe2dc1825c990aa5bf0195a"
- integrity sha512-k6an2qrr3OUS9QaUVmjfikEMYLppyLvy0V4DRX8MKYEIGZ0VBG5dNAj9uuBIWyjlNlJPY9RwmmHhOMNazbgBmg==
- dependencies:
- "@starknet-io/get-starknet" "^4.0.2"
- "@starknet-io/get-starknet-core" "^4.0.2"
- "@starknet-io/types-js" "^0.7.7"
+starknet@^6.11.0:
+ version "6.24.1"
+ resolved "https://registry.yarnpkg.com/starknet/-/starknet-6.24.1.tgz#87333339795038e93ef32a20726b5272ddb78fe1"
+ integrity sha512-g7tiCt73berhcNi41otlN3T3kxZnIvZhMi8WdC21Y6GC6zoQgbI2z1t7JAZF9c4xZiomlanwVnurcpyfEdyMpg==
+ dependencies:
+ "@noble/curves" "1.7.0"
+ "@noble/hashes" "1.6.0"
+ "@scure/base" "1.2.1"
+ "@scure/starknet" "1.1.0"
+ abi-wan-kanabi "^2.2.3"
+ fetch-cookie "~3.0.0"
+ isomorphic-fetch "~3.0.0"
+ lossless-json "^4.0.1"
+ pako "^2.0.4"
+ starknet-types-07 "npm:@starknet-io/types-js@^0.7.10"
+ ts-mixer "^6.0.3"
+
+starknetkit@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/starknetkit/-/starknetkit-3.0.3.tgz#8a9683c2e243ef126197a2854d38ea5865263ec1"
+ integrity sha512-Pm1SXR2J1Ldt/n4oBXJ3QH/D5S99AsAJfqoOfzLxdBfL5GAIsDSauchE3VJCSzb8SrNbRILyV7m5oPaVPq9MRQ==
+ dependencies:
+ "@argent/x-ui" "^1.109.0"
+ "@cartridge/controller" "^0.9.2"
+ "@starknet-io/get-starknet" "^4.0.6"
+ "@starknet-io/get-starknet-core" "^4.0.6"
+ "@starknet-io/types-js" "0.8.4"
"@trpc/client" "^10.38.1"
"@trpc/server" "^10.38.1"
"@walletconnect/sign-client" "^2.11.0"
@@ -7736,6 +10457,8 @@ starknetkit@2.4.0:
eventemitter3 "^5.0.1"
events "^3.3.0"
lodash-es "^4.17.21"
+ react "^18.2.0"
+ react-dom "^18.2.0"
svelte-forms "^2.3.1"
trpc-browser "^1.3.2"
@@ -8000,6 +10723,24 @@ svelte-forms@^2.3.1:
dependencies:
is-promise "^4.0.0"
+svg-parser@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
+ integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
+
+svgo@^3.0.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8"
+ integrity sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^5.1.0"
+ css-tree "^2.3.1"
+ css-what "^6.1.0"
+ csso "^5.0.5"
+ picocolors "^1.0.0"
+
swr@2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/swr/-/swr-2.2.5.tgz#063eea0e9939f947227d5ca760cc53696f46446b"
@@ -8099,22 +10840,22 @@ thread-stream@^0.15.1:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-tiny-invariant@^1.0.6:
+tiny-invariant@^1.0.6, tiny-invariant@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127"
integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
-tldts-core@^6.1.84:
- version "6.1.84"
- resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.84.tgz#f8ac2af9969bf9c2f7a99fa05d9c667b5e5b768c"
- integrity sha512-NaQa1W76W2aCGjXybvnMYzGSM4x8fvG2AN/pla7qxcg0ZHbooOPhA8kctmOZUDfZyhDL27OGNbwAeig8P4p1vg==
+tldts-core@^6.1.86:
+ version "6.1.86"
+ resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.86.tgz#a93e6ed9d505cb54c542ce43feb14c73913265d8"
+ integrity sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==
tldts@^6.1.32:
- version "6.1.84"
- resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.84.tgz#fb58b1ceb70972a1ecd683606cea3d06c78f7238"
- integrity sha512-aRGIbCIF3teodtUFAYSdQONVmDRy21REM3o6JnqWn5ZkQBJJ4gHxhw6OfwQ+WkSAi3ASamrS4N4nyazWx6uTYg==
+ version "6.1.86"
+ resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.86.tgz#087e0555b31b9725ee48ca7e77edc56115cd82f7"
+ integrity sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==
dependencies:
- tldts-core "^6.1.84"
+ tldts-core "^6.1.86"
tmp@^0.0.33:
version "0.0.33"
@@ -8140,7 +10881,7 @@ toggle-selection@^1.0.6:
resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
-tough-cookie@^4.1.3:
+tough-cookie@^4.0.0, tough-cookie@^4.1.3:
version "4.1.4"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==
@@ -8214,11 +10955,16 @@ tslib@2.4.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
-tslib@2.7.0, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0:
+tslib@2.7.0, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01"
integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==
+tslib@^2.0.0, tslib@^2.0.3:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
+ integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
+
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@@ -8369,7 +11115,7 @@ uint8arrays@3.1.0:
dependencies:
multiformats "^9.4.2"
-uint8arrays@^3.0.0:
+uint8arrays@3.1.1, uint8arrays@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0"
integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==
@@ -8411,10 +11157,10 @@ undici-types@~6.21.0:
resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb"
integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==
-undici-types@~7.8.0:
- version "7.8.0"
- resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294"
- integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==
+undici-types@~7.10.0:
+ version "7.10.0"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.10.0.tgz#4ac2e058ce56b462b056e629cc6a02393d3ff350"
+ integrity sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==
unenv@^1.9.0:
version "1.10.0"
@@ -8427,6 +11173,29 @@ unenv@^1.9.0:
node-fetch-native "^1.6.4"
pathe "^1.1.2"
+unicode-canonical-property-names-ecmascript@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2"
+ integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==
+
+unicode-match-property-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+ integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^2.0.0"
+ unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71"
+ integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
+ integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
+
universalify@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
@@ -8470,6 +11239,14 @@ update-browserslist-db@^1.1.0:
escalade "^3.2.0"
picocolors "^1.1.0"
+update-browserslist-db@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
+ dependencies:
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
+
uqr@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d"
@@ -8482,11 +11259,6 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
-url-join@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
- integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
-
url-parse@^1.5.3:
version "1.5.10"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
@@ -8495,10 +11267,10 @@ url-parse@^1.5.3:
querystringify "^2.1.1"
requires-port "^1.0.0"
-use-callback-ref@^1.3.0, use-callback-ref@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693"
- integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==
+use-callback-ref@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.3.tgz#98d9fab067075841c5b2c6852090d5d0feabe2bf"
+ integrity sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==
dependencies:
tslib "^2.0.0"
@@ -8507,14 +11279,19 @@ use-isomorphic-layout-effect@^1.1.2:
resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb"
integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==
-use-sidecar@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2"
- integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==
+use-sidecar@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.3.tgz#10e7fd897d130b896e2c546c63a5e8233d00efdb"
+ integrity sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==
dependencies:
detect-node-es "^1.1.0"
tslib "^2.0.0"
+use-sync-external-store@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
+ integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
+
use-sync-external-store@^1.2.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9"
@@ -8525,6 +11302,11 @@ use-sync-external-store@^1.2.2:
resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz#adbc795d8eeb47029963016cefdf89dc799fcebc"
integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==
+use-sync-external-store@^1.4.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz#55122e2a3edd2a6c106174c27485e0fd59bcfca0"
+ integrity sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==
+
util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
@@ -8543,6 +11325,15 @@ validate-npm-package-license@^3.0.4:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+valtio@1.13.2:
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.13.2.tgz#e31d452d5da3550935417670aafd34d832dc7241"
+ integrity sha512-Qik0o+DSy741TmkqmRfjq+0xpZBXi/Y6+fXZLn0xNF1z/waFMbE3rkivv5Zcf9RrMUp6zswf2J7sbh2KBlba5A==
+ dependencies:
+ derive-valtio "0.1.0"
+ proxy-compare "2.6.0"
+ use-sync-external-store "1.2.0"
+
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
@@ -8552,10 +11343,30 @@ verror@1.10.0:
core-util-is "1.0.2"
extsprintf "^1.2.0"
-viem@^2.19.1:
- version "2.23.12"
- resolved "https://registry.yarnpkg.com/viem/-/viem-2.23.12.tgz#5b1d7ff9142cb8f48c2783fa5eff1e774a3089a9"
- integrity sha512-zq2mL4KcUfpVMLMaKjwzRG3akjjVUo9AhaNohrQ86ufltX1aUxapE+Z6YQ0U6F6MBQEMBgLiFTWgalgVDWqQyQ==
+victory-vendor@^37.0.2:
+ version "37.3.6"
+ resolved "https://registry.yarnpkg.com/victory-vendor/-/victory-vendor-37.3.6.tgz#401ac4b029a0b3d33e0cba8e8a1d765c487254da"
+ integrity sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==
+ dependencies:
+ "@types/d3-array" "^3.0.3"
+ "@types/d3-ease" "^3.0.0"
+ "@types/d3-interpolate" "^3.0.1"
+ "@types/d3-scale" "^4.0.2"
+ "@types/d3-shape" "^3.1.0"
+ "@types/d3-time" "^3.0.0"
+ "@types/d3-timer" "^3.0.0"
+ d3-array "^3.1.6"
+ d3-ease "^3.0.1"
+ d3-interpolate "^3.0.1"
+ d3-scale "^4.0.2"
+ d3-shape "^3.1.0"
+ d3-time "^3.0.0"
+ d3-timer "^3.0.1"
+
+viem@2.23.2:
+ version "2.23.2"
+ resolved "https://registry.yarnpkg.com/viem/-/viem-2.23.2.tgz#db395c8cf5f4fb5572914b962fb8ce5db09f681c"
+ integrity sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA==
dependencies:
"@noble/curves" "1.8.1"
"@noble/hashes" "1.7.1"
@@ -8563,8 +11374,36 @@ viem@^2.19.1:
"@scure/bip39" "1.5.4"
abitype "1.0.8"
isows "1.0.6"
- ox "0.6.9"
- ws "8.18.1"
+ ox "0.6.7"
+ ws "8.18.0"
+
+viem@2.31.0:
+ version "2.31.0"
+ resolved "https://registry.yarnpkg.com/viem/-/viem-2.31.0.tgz#2263426cce091d440e283b88183dff6f1d8bae5c"
+ integrity sha512-U7OMQ6yqK+bRbEIarf2vqxL7unSEQvNxvML/1zG7suAmKuJmipqdVTVJGKBCJiYsm/EremyO2FS4dHIPpGv+eA==
+ dependencies:
+ "@noble/curves" "1.9.1"
+ "@noble/hashes" "1.8.0"
+ "@scure/bip32" "1.7.0"
+ "@scure/bip39" "1.6.0"
+ abitype "1.0.8"
+ isows "1.0.7"
+ ox "0.7.1"
+ ws "8.18.2"
+
+viem@>=2.29.0, viem@^2.21.1, viem@^2.21.35:
+ version "2.36.0"
+ resolved "https://registry.yarnpkg.com/viem/-/viem-2.36.0.tgz#e564484018c6e4432dfa936fdda4ca585008d4f7"
+ integrity sha512-Xz7AkGtR43K+NY74X2lBevwfRrsXuifGUzt8QiULO47NXIcT7g3jcA4nIvl5m2OTE5v8SlzishwXmg64xOIVmQ==
+ dependencies:
+ "@noble/curves" "1.9.6"
+ "@noble/hashes" "1.8.0"
+ "@scure/bip32" "1.7.0"
+ "@scure/bip39" "1.6.0"
+ abitype "1.0.8"
+ isows "1.0.7"
+ ox "0.9.1"
+ ws "8.18.3"
webidl-conversions@^3.0.0:
version "3.0.1"
@@ -8653,6 +11492,11 @@ which-collection@^1.0.1, which-collection@^1.0.2:
is-weakmap "^2.0.2"
is-weakset "^2.0.3"
+which-module@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409"
+ integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
+
which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15:
version "1.1.15"
resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d"
@@ -8771,10 +11615,20 @@ ws@8.17.1:
resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b"
integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
-ws@8.18.1:
- version "8.18.1"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.1.tgz#ea131d3784e1dfdff91adb0a4a116b127515e3cb"
- integrity sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==
+ws@8.18.0:
+ version "8.18.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"
+ integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==
+
+ws@8.18.2:
+ version "8.18.2"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a"
+ integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==
+
+ws@8.18.3:
+ version "8.18.3"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472"
+ integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==
ws@8.5.0:
version "8.5.0"
@@ -8786,6 +11640,11 @@ ws@^7.5.1:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9"
integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
+y18n@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
y18n@^5.0.5:
version "5.0.8"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
@@ -8796,16 +11655,46 @@ yallist@4.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
yaml@^1.10.0, yaml@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+yargs-parser@^18.1.2:
+ version "18.1.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
yargs-parser@^21.1.1:
version "21.1.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+yargs@^15.3.1:
+ version "15.4.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
+ integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
+ dependencies:
+ cliui "^6.0.0"
+ decamelize "^1.2.0"
+ find-up "^4.1.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^4.2.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^18.1.2"
+
yargs@^17.7.2:
version "17.7.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
@@ -8830,9 +11719,9 @@ yocto-queue@^1.0.0:
integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==
yoctocolors-cjs@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz#f4b905a840a37506813a7acaa28febe97767a242"
- integrity sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz#7e4964ea8ec422b7a40ac917d3a344cfd2304baa"
+ integrity sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==
zen-observable-ts@^1.2.5:
version "1.2.5"
@@ -8846,6 +11735,11 @@ zen-observable@0.8.15:
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
+zod@3.22.4:
+ version "3.22.4"
+ resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff"
+ integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==
+
zod@^3.22.4:
version "3.23.8"
resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d"
| |