diff --git a/apps/evm/package.json b/apps/evm/package.json index 802142769d..e81eb9732c 100644 --- a/apps/evm/package.json +++ b/apps/evm/package.json @@ -85,6 +85,7 @@ "zustand": "^5.0.0" }, "devDependencies": { + "@babel/core": "^7.29.0", "@biomejs/biome": "1.6.4", "@changesets/cli": "^2.27.1", "@dotenvx/dotenvx": "^1.26.2", @@ -94,7 +95,7 @@ "@graphql-codegen/client-preset": "^4.5.1", "@graphql-codegen/typed-document-node": "^6.0.2", "@graphql-codegen/typescript-operations": "^4.0.1", - "@rollup/plugin-inject": "^5.0.3", + "@rolldown/plugin-babel": "^0.2.3", "@storybook/addon-essentials": "8.6.14", "@storybook/addon-interactions": "8.6.14", "@storybook/addon-links": "8.6.14", @@ -106,6 +107,7 @@ "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", + "@types/babel__core": "^7.20.5", "@types/get-pixels": "^3.3.4", "@types/lodash-es": "^4.17.12", "@types/react": "^19.1.5", @@ -123,8 +125,9 @@ "@venusprotocol/typescript-config": "*", "@venusprotocol/venus-periphery": "^1.1.0", "@venusprotocol/venus-protocol": "10.2.0-slim-dev.2", - "@vitejs/plugin-react": "^4.3.3", + "@vitejs/plugin-react": "^6.0.2", "@vitest/coverage-v8": "^2.1.5", + "babel-plugin-react-compiler": "^1.0.0", "c8": "^10.0.0", "fs": "^0.0.1-security", "genversion": "^3.1.1", @@ -150,7 +153,7 @@ "tsx": "^4.1.2", "tw-animate-css": "^1.4.0", "typescript": "^5.1.6", - "vite": "^6.2.5", + "vite": "^8.0.16", "vite-plugin-svgr": "^4.3.0", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.1.1", diff --git a/apps/evm/src/components/Icon/icons/index.ts b/apps/evm/src/components/Icon/icons/index.ts index 27c0ae09a3..d0faebafe4 100644 --- a/apps/evm/src/components/Icon/icons/index.ts +++ b/apps/evm/src/components/Icon/icons/index.ts @@ -98,4 +98,4 @@ export { default as protectionShield } from './protectionShield'; export { default as resilientOracle } from './resilientOracle'; export { default as sunset } from './sunset'; export { default as fullScreen } from './fullScreen'; -export { default as switch } from './switch'; +export { default as swap } from './swap'; diff --git a/apps/evm/src/components/Icon/icons/switch.tsx b/apps/evm/src/components/Icon/icons/swap.tsx similarity index 86% rename from apps/evm/src/components/Icon/icons/switch.tsx rename to apps/evm/src/components/Icon/icons/swap.tsx index 16e36f0d53..fefcb6065d 100644 --- a/apps/evm/src/components/Icon/icons/switch.tsx +++ b/apps/evm/src/components/Icon/icons/swap.tsx @@ -1,6 +1,6 @@ import type { SVGProps } from 'react'; -const SvgSwitch = (props: SVGProps) => ( +const SvgSwap = (props: SVGProps) => ( ) => ( ); -export default SvgSwitch; +export default SvgSwap; diff --git a/apps/evm/src/containers/Layout/NavBar/Settings/GaslessTransactionSetting/index.tsx b/apps/evm/src/containers/Layout/NavBar/Settings/GaslessTransactionSetting/index.tsx index f061a1f806..e96ed3ec75 100644 --- a/apps/evm/src/containers/Layout/NavBar/Settings/GaslessTransactionSetting/index.tsx +++ b/apps/evm/src/containers/Layout/NavBar/Settings/GaslessTransactionSetting/index.tsx @@ -2,7 +2,7 @@ import { type ChainId, chains as chainMetadata } from '@venusprotocol/chains'; import { Icon, Toggle } from 'components'; import { useTranslation } from 'libs/translations'; -import { store } from 'store'; +import { useStore } from 'store'; export interface GaslessTransactionSettingProps { chainId: ChainId; @@ -13,8 +13,8 @@ export const GaslessTransactionSetting: React.FC }) => { const { t } = useTranslation(); - const userSettings = store.use.userSettings()[chainId]; - const setUserSettings = store.use.setUserSettings(); + const userSettings = useStore(state => state.userSettings)[chainId]; + const setUserSettings = useStore(state => state.setUserSettings); const chainName = chainMetadata[chainId].name; diff --git a/apps/evm/src/containers/Layout/ScrollToTop/index.tsx b/apps/evm/src/containers/Layout/ScrollToTop/index.tsx index 12acbd630a..2d633d9f8a 100644 --- a/apps/evm/src/containers/Layout/ScrollToTop/index.tsx +++ b/apps/evm/src/containers/Layout/ScrollToTop/index.tsx @@ -2,12 +2,12 @@ import { cn } from '@venusprotocol/ui'; import { Button, Icon } from 'components'; import { PAGE_CONTAINER_ID } from 'constants/layout'; -import { store } from 'containers/Layout/store'; +import { useStore } from 'containers/Layout/store'; import { forwardRef } from 'react'; const ScrollToTop = forwardRef((_, ref) => { - const isVisible = store.use.isScrollToTopVisible(); - const isCloseToBottom = store.use.isCloseToBottom(); + const isVisible = useStore(state => state.isScrollToTopVisible); + const isCloseToBottom = useStore(state => state.isCloseToBottom); const scrollElem = document.getElementById(PAGE_CONTAINER_ID); return ( diff --git a/apps/evm/src/containers/Layout/index.tsx b/apps/evm/src/containers/Layout/index.tsx index 74cdf7681a..1581a7a971 100644 --- a/apps/evm/src/containers/Layout/index.tsx +++ b/apps/evm/src/containers/Layout/index.tsx @@ -10,7 +10,7 @@ import { Header } from './Header'; import { NavBar } from './NavBar'; import ScrollToTop from './ScrollToTop'; import { TestEnvWarning } from './TestEnvWarning'; -import { store } from './store'; +import { useStore } from './store'; const NO_WRAPPER_PATHNAMES = [Subdirectory.LANDING] as string[]; @@ -20,10 +20,10 @@ export const Layout: React.FC = () => { const { pathname } = useLocation(); - const isCloseToBottomState = store.use.isCloseToBottom(); - const setIsCloseToBottom = store.use.setIsCloseToBottom(); - const setScrollToTopVisible = store.use.setScrollToTopVisible(); - const isScrollToTopVisible = store.use.isScrollToTopVisible(); + const isCloseToBottomState = useStore(state => state.isCloseToBottom); + const setIsCloseToBottom = useStore(state => state.setIsCloseToBottom); + const setScrollToTopVisible = useStore(state => state.setScrollToTopVisible); + const isScrollToTopVisible = useStore(state => state.isScrollToTopVisible); const viewportHeight = window.innerHeight; const handleScroll = (event: React.UIEvent) => { diff --git a/apps/evm/src/containers/Layout/store.ts b/apps/evm/src/containers/Layout/store.ts index aeaca3fd09..633b4fde6a 100644 --- a/apps/evm/src/containers/Layout/store.ts +++ b/apps/evm/src/containers/Layout/store.ts @@ -9,11 +9,11 @@ interface State { setIsCloseToBottom: (isCloseToBottom: State['isCloseToBottom']) => void; } -const useStore = create()(set => ({ +const store = create()(set => ({ isScrollToTopVisible: false, setScrollToTopVisible: (v: boolean) => set({ isScrollToTopVisible: v }), isCloseToBottom: false, setIsCloseToBottom: (v: boolean) => set({ isCloseToBottom: v }), })); -export const store = createStoreSelectors(useStore); +export const useStore = createStoreSelectors(store); diff --git a/apps/evm/src/containers/ResendPayingGasModal/Modal/index.tsx b/apps/evm/src/containers/ResendPayingGasModal/Modal/index.tsx index 03f7d587d4..b8cc464dc9 100644 --- a/apps/evm/src/containers/ResendPayingGasModal/Modal/index.tsx +++ b/apps/evm/src/containers/ResendPayingGasModal/Modal/index.tsx @@ -2,7 +2,7 @@ import { Button, Icon, Modal as ModalComp, type ModalProps as ModalCompProps } f import { useSendTransaction } from 'hooks/useSendTransaction'; import { handleError } from 'libs/errors'; import { useTranslation } from 'libs/translations'; -import { store } from '../store'; +import { useStore } from '../store'; import type { LastFailedGaslessTransaction } from '../types'; export interface ModalProps | void> @@ -15,7 +15,7 @@ export function Modal | void>({ ...otherProps }: ModalProps) { const { t } = useTranslation(); - const closeModal = store.use.closeModal(); + const closeModal = useStore(state => state.closeModal); const { mutateAsync: sendTransaction, isPending: isSendingTransaction } = useSendTransaction< TMutateInput, any, diff --git a/apps/evm/src/containers/ResendPayingGasModal/index.tsx b/apps/evm/src/containers/ResendPayingGasModal/index.tsx index 57b3a08325..276b1d326d 100644 --- a/apps/evm/src/containers/ResendPayingGasModal/index.tsx +++ b/apps/evm/src/containers/ResendPayingGasModal/index.tsx @@ -1,8 +1,8 @@ import { Modal } from './Modal'; -import { store } from './store'; +import { useStore } from './store'; const ResendPayingGasModal: React.FC = () => { - const lastFailedGaslessTransaction = store.use.lastFailedGaslessTransaction(); + const lastFailedGaslessTransaction = useStore(state => state.lastFailedGaslessTransaction); if (lastFailedGaslessTransaction) { return ; diff --git a/apps/evm/src/containers/ResendPayingGasModal/store/index.ts b/apps/evm/src/containers/ResendPayingGasModal/store/index.ts index dbb662ed09..41fea6dee7 100644 --- a/apps/evm/src/containers/ResendPayingGasModal/store/index.ts +++ b/apps/evm/src/containers/ResendPayingGasModal/store/index.ts @@ -3,10 +3,10 @@ import { create } from 'zustand'; import { createStoreSelectors } from 'utilities/createStoreSelectors'; import type { StoreState } from '../types'; -const useStore = create>()(set => ({ +const store = create>()(set => ({ lastFailedGaslessTransaction: undefined, openModal: ({ lastFailedGaslessTransaction }) => set({ lastFailedGaslessTransaction }), closeModal: () => set({ lastFailedGaslessTransaction: undefined }), })); -export const store = createStoreSelectors(useStore); +export const useStore = createStoreSelectors(store); diff --git a/apps/evm/src/hooks/useSendTransaction/__tests__/index.gaslessTransactions.spec.tsx b/apps/evm/src/hooks/useSendTransaction/__tests__/index.gaslessTransactions.spec.tsx index 030bf9930e..04934c2612 100644 --- a/apps/evm/src/hooks/useSendTransaction/__tests__/index.gaslessTransactions.spec.tsx +++ b/apps/evm/src/hooks/useSendTransaction/__tests__/index.gaslessTransactions.spec.tsx @@ -2,7 +2,6 @@ import fakeAccountAddress from '__mocks__/models/address'; import fakeContractTransaction from '__mocks__/models/contractTransaction'; import { txData } from '__mocks__/models/transactionData'; import { useGetPaymasterInfo } from 'clients/api'; -import { store } from 'containers/ResendPayingGasModal/store'; import { type UseIsFeatureEnabledInput, useIsFeatureEnabled } from 'hooks/useIsFeatureEnabled'; import { defaultUserChainSettings, useUserChainSettings } from 'hooks/useUserChainSettings'; import { VError } from 'libs/errors'; @@ -25,6 +24,7 @@ vi.mock('../sendTransaction'); const mockWalletClient = {} as unknown as WalletClient; const mockPublicClient = {} as unknown as PublicClient; +const mockOpenModal = vi.fn(); vi.mock('wagmi', async () => { const actual = await vi.importActual('wagmi'); @@ -38,9 +38,11 @@ vi.mock('wagmi', async () => { }); vi.mock('containers/ResendPayingGasModal/store', () => ({ - store: { - use: { openModal: vi.fn() }, - }, + useStore: vi.fn((selector: (state: { openModal: typeof mockOpenModal }) => unknown) => + selector({ + openModal: mockOpenModal, + }), + ), })); const fakeHookInput = { @@ -52,6 +54,8 @@ const fakeMutationInput = {}; describe('useSendTransaction - Feature enabled: gaslessTransactions', () => { beforeEach(() => { + mockOpenModal.mockReset(); + (useIsFeatureEnabled as Mock).mockImplementation( ({ name }: UseIsFeatureEnabledInput) => name === 'gaslessTransactions', ); @@ -126,9 +130,6 @@ describe('useSendTransaction - Feature enabled: gaslessTransactions', () => { }), ); - const openModalMock = vi.fn(); - (store.use.openModal as Mock).mockImplementation(() => openModalMock); - const customFakeHookInput = { ...fakeHookInput, options: { @@ -160,8 +161,8 @@ describe('useSendTransaction - Feature enabled: gaslessTransactions', () => { expect(refetchMock).toHaveBeenCalledTimes(1); - expect(openModalMock).toHaveBeenCalledTimes(1); - expect(openModalMock).toHaveBeenCalledWith( + expect(mockOpenModal).toHaveBeenCalledTimes(1); + expect(mockOpenModal).toHaveBeenCalledWith( expect.objectContaining({ lastFailedGaslessTransaction: { ...customFakeHookInput, diff --git a/apps/evm/src/hooks/useSendTransaction/index.ts b/apps/evm/src/hooks/useSendTransaction/index.ts index a39b9b6ca6..0d87d554ea 100644 --- a/apps/evm/src/hooks/useSendTransaction/index.ts +++ b/apps/evm/src/hooks/useSendTransaction/index.ts @@ -7,7 +7,7 @@ import { type MutationObserverOptions, useMutation } from '@tanstack/react-query import type { TransactionType } from 'types'; import { useGetPaymasterInfo } from 'clients/api'; -import { store as resendPayingGasModalStore } from 'containers/ResendPayingGasModal/store'; +import { useStore as useResendPayingGasModalStore } from 'containers/ResendPayingGasModal/store'; import { useIsFeatureEnabled } from 'hooks/useIsFeatureEnabled'; import { useUserChainSettings } from 'hooks/useUserChainSettings'; import { VError, logError } from 'libs/errors'; @@ -92,7 +92,7 @@ export const useSendTransaction = < ); const meeClient = data?.meeClient; - const openResendPayingGasModalStoreModal = resendPayingGasModalStore.use.openModal(); + const openResendPayingGasModalStoreModal = useResendPayingGasModalStore(state => state.openModal); const [userChainSettings] = useUserChainSettings(); diff --git a/apps/evm/src/hooks/useUserChainSettings/__tests__/index.spec.tsx b/apps/evm/src/hooks/useUserChainSettings/__tests__/index.spec.tsx index 568874677d..aa84bc8416 100644 --- a/apps/evm/src/hooks/useUserChainSettings/__tests__/index.spec.tsx +++ b/apps/evm/src/hooks/useUserChainSettings/__tests__/index.spec.tsx @@ -1,30 +1,29 @@ -import type { Mock } from 'vitest'; - -import { store } from 'store'; +import type { UserChainSettings } from 'store'; import { renderHook as renderHookWithContext } from 'testUtils/render'; import { ChainId } from 'types'; import { useUserChainSettings } from '..'; vi.unmock('hooks/useUserChainSettings'); +const mockSetUserSettings = vi.fn(); +const mockStoreState = { + setUserSettings: mockSetUserSettings, + userSettings: {} as Partial>>, +}; + vi.mock('store', () => ({ - store: { - use: { - setUserSettings: vi.fn(() => vi.fn()), - userSettings: vi.fn(() => ({ - gaslessTransactions: true, - })), - }, - }, + useStore: vi.fn((selector: (state: typeof mockStoreState) => unknown) => + selector(mockStoreState), + ), })); describe('useUserChainSettings', () => { it('returns correct settings from the store', () => { - (store.use.userSettings as Mock).mockReturnValue({ + mockStoreState.userSettings = { [ChainId.BSC_TESTNET]: { gaslessTransactions: true, }, - }); + }; const { result: { @@ -36,7 +35,7 @@ describe('useUserChainSettings', () => { }); it('calls setState when updating settings', () => { - (store.use.setUserSettings as Mock).mockReturnValue(vi.fn(() => vi.fn())); + mockSetUserSettings.mockReset(); const { result: { @@ -46,7 +45,7 @@ describe('useUserChainSettings', () => { setUserChainSettings({ gaslessTransactions: false }); - expect(store.use.setUserSettings()).toHaveBeenCalledWith({ + expect(mockSetUserSettings).toHaveBeenCalledWith({ settings: { gaslessTransactions: false, }, diff --git a/apps/evm/src/hooks/useUserChainSettings/index.tsx b/apps/evm/src/hooks/useUserChainSettings/index.tsx index 4d5bb28478..b13dbcadbc 100644 --- a/apps/evm/src/hooks/useUserChainSettings/index.tsx +++ b/apps/evm/src/hooks/useUserChainSettings/index.tsx @@ -1,6 +1,6 @@ import { DEFAULT_SLIPPAGE_TOLERANCE_PERCENTAGE } from 'constants/swap'; import { useAccountAddress, useChainId } from 'libs/wallet'; -import { type State, type UserChainSettings, store } from 'store'; +import { type State, type UserChainSettings, useStore } from 'store'; export const defaultUserChainSettings: UserChainSettings = { gaslessTransactions: false, @@ -17,14 +17,14 @@ export const useUserChainSettings = () => { const { chainId } = useChainId(); const { accountAddress } = useAccountAddress(); - const userSettings = store.use.userSettings(); + const userSettings = useStore(state => state.userSettings); const userChainSettings: UserChainSettings = { ...defaultUserChainSettings, ...userSettings[chainId], showUserAssetsOnly: !!accountAddress && !!userSettings[chainId]?.showUserAssetsOnly, }; - const setUserSettings = store.use.setUserSettings(); + const setUserSettings = useStore(state => state.setUserSettings); const setUserChainSettings = (input: Parameters[0]['settings']) => setUserSettings({ diff --git a/apps/evm/src/index.tsx b/apps/evm/src/index.tsx index efceefba3c..628ecbb5a1 100755 --- a/apps/evm/src/index.tsx +++ b/apps/evm/src/index.tsx @@ -1,10 +1,15 @@ -import App from 'App'; +// biome-ignore lint/style/useNodejsImportProtocol: Vite browser client must resolve the npm buffer polyfill instead of Node's builtin module +import { Buffer } from 'buffer'; import { createRoot } from 'react-dom/client'; import 'assets/styles/index.css'; +import App from 'App'; import initializeLibraries from './initializeLibraries'; +// Some wallet SDK dependencies still expect Buffer on the browser global. +globalThis.Buffer ??= Buffer; + initializeLibraries(); const container = document.getElementById('root'); diff --git a/apps/evm/src/libs/notifications/NotificationCenter/__tests__/index.spec.tsx b/apps/evm/src/libs/notifications/NotificationCenter/__tests__/index.spec.tsx index 5e4fdc025c..0a9eacad22 100644 --- a/apps/evm/src/libs/notifications/NotificationCenter/__tests__/index.spec.tsx +++ b/apps/evm/src/libs/notifications/NotificationCenter/__tests__/index.spec.tsx @@ -1,6 +1,6 @@ import { renderComponent } from 'testUtils/render'; -import { store } from 'libs/notifications/store'; +import { useStore } from 'libs/notifications/store'; import NotificationCenter from '..'; import { notifications as fakeNotifications } from '../../__mocks__/models/notifications'; @@ -13,7 +13,7 @@ describe('NotificationCenter', () => { it('renders notifications correctly', () => { // Add fake notifications to the store - store.setState({ + useStore.setState({ notifications: fakeNotifications, }); diff --git a/apps/evm/src/libs/notifications/NotificationCenter/index.tsx b/apps/evm/src/libs/notifications/NotificationCenter/index.tsx index 89b6cfc06a..73cb5ff902 100644 --- a/apps/evm/src/libs/notifications/NotificationCenter/index.tsx +++ b/apps/evm/src/libs/notifications/NotificationCenter/index.tsx @@ -4,14 +4,14 @@ import { createPortal } from 'react-dom'; import { Notice } from 'components/Notice'; -import { store } from '../store'; +import { useStore } from '../store'; import TEST_IDS from './testIds'; const ANIMATION_BASE_DURATION_S = 0.75; const EASE = [0.23, 1, 0.32, 1]; const NotificationCenter: React.FC = () => { - const notifications = store.use.notifications(); + const notifications = useStore(state => state.notifications); return createPortal(
    { beforeEach(() => { // Add fake notifications to the store - store.setState({ + useStore.setState({ notifications: fakeNotifications, }); }); @@ -18,10 +18,10 @@ describe('store', () => { }; // Add notification - const newNotificationId = store.getState().addNotification(fakeNotificationInput); + const newNotificationId = useStore.getState().addNotification(fakeNotificationInput); expect(newNotificationId).toBe(fakeNotificationInput.id); - expect(store.getState().notifications).toMatchInlineSnapshot(` + expect(useStore.getState().notifications).toMatchInlineSnapshot(` [ { "description": "Fake description", @@ -42,9 +42,9 @@ describe('store', () => { `); // Test onClose function of newly added notification - store.getState().notifications[0].onClose!(); + useStore.getState().notifications[0].onClose!(); - expect(store.getState().notifications).toMatchInlineSnapshot(` + expect(useStore.getState().notifications).toMatchInlineSnapshot(` [ { "description": "Fake description 0", @@ -62,7 +62,7 @@ describe('store', () => { it('automatically assigns an ID if none was passed', () => { // Add notification - const newNotificationId = store + const newNotificationId = useStore .getState() .addNotification({ description: 'Fake description' }); @@ -73,14 +73,14 @@ describe('store', () => { describe('updateNotification', () => { it('updates the right notification with the right arguments', () => { // Update notification - store.getState().updateNotification({ + useStore.getState().updateNotification({ id: fakeNotifications[1].id, title: 'New fake title', description: 'New fake description', variant: 'error', }); - expect(store.getState().notifications).toMatchInlineSnapshot(` + expect(useStore.getState().notifications).toMatchInlineSnapshot(` [ { "description": "Fake description 0", @@ -101,11 +101,11 @@ describe('store', () => { describe('removeNotification', () => { it('removes the right notification', () => { // Remove notification - store.getState().removeNotification({ + useStore.getState().removeNotification({ id: fakeNotifications[1].id, }); - expect(store.getState().notifications).toMatchInlineSnapshot(` + expect(useStore.getState().notifications).toMatchInlineSnapshot(` [ { "description": "Fake description 0", diff --git a/apps/evm/src/libs/notifications/store/index.ts b/apps/evm/src/libs/notifications/store/index.ts index 3b49dbd2d2..84bbd5e76b 100644 --- a/apps/evm/src/libs/notifications/store/index.ts +++ b/apps/evm/src/libs/notifications/store/index.ts @@ -4,7 +4,7 @@ import { createStoreSelectors } from 'utilities/createStoreSelectors'; import type { Notification, StoreState } from '../types'; -const useStore = create()(set => ({ +const store = create()(set => ({ notifications: [], addNotification: input => { @@ -41,4 +41,4 @@ const useStore = create()(set => ({ })), })); -export const store = createStoreSelectors(useStore); +export const useStore = createStoreSelectors(store); diff --git a/apps/evm/src/libs/notifications/utilities/__tests__/index.spec.ts b/apps/evm/src/libs/notifications/utilities/__tests__/index.spec.ts index 64b6e2909e..1e43f1cd58 100644 --- a/apps/evm/src/libs/notifications/utilities/__tests__/index.spec.ts +++ b/apps/evm/src/libs/notifications/utilities/__tests__/index.spec.ts @@ -2,7 +2,7 @@ import type { Mock } from 'vitest'; import { MAX_NOTIFICATIONS, displayNotification, hideNotification, updateNotification } from '..'; import { notifications as fakeNotifications } from '../../__mocks__/models/notifications'; -import { store } from '../../store'; +import { useStore } from '../../store'; import type { AddNotificationInput, UpdateNotificationInput } from '../../store/types'; const fakeNotificationInput: AddNotificationInput = { @@ -23,7 +23,7 @@ describe('utilities', async () => { global.clearTimeout = vi.fn(); vi.mock('../../store', () => ({ - store: { + useStore: { getState: vi.fn(() => ({ notifications: fakeNotifications, removeNotification: removeNotificationMock, @@ -39,22 +39,22 @@ describe('utilities', async () => { const newNotificationId = displayNotification(fakeNotificationInput); expect(newNotificationId).toBe(fakeNotificationInput.id); - expect(store.getState().addNotification).toHaveBeenCalledTimes(1); - expect(store.getState().addNotification).toHaveBeenCalledWith(fakeNotificationInput); + expect(useStore.getState().addNotification).toHaveBeenCalledTimes(1); + expect(useStore.getState().addNotification).toHaveBeenCalledWith(fakeNotificationInput); // Fast-forward until all timers have been executed vi.runAllTimers(); - expect(store.getState().removeNotification).toBeCalledTimes(1); - expect(store.getState().removeNotification).toHaveBeenCalledWith({ + expect(useStore.getState().removeNotification).toBeCalledTimes(1); + expect(useStore.getState().removeNotification).toHaveBeenCalledWith({ id: fakeNotificationInput.id, }); }); it('removes the last notification from the store when the maximum number of notifications allowed has been reached', () => { // Add maximum amount of notifications allowed to store - const state = store.getState(); - (store.getState as Mock).mockImplementation(() => ({ + const state = useStore.getState(); + (useStore.getState as Mock).mockImplementation(() => ({ ...state, notifications: new Array(MAX_NOTIFICATIONS).fill(undefined).map((_, id) => ({ id, @@ -66,10 +66,10 @@ describe('utilities', async () => { description: 'Fake description', }); - const { notifications } = store.getState(); + const { notifications } = useStore.getState(); - expect(store.getState().removeNotification).toHaveBeenCalledTimes(1); - expect(store.getState().removeNotification).toHaveBeenCalledWith({ + expect(useStore.getState().removeNotification).toHaveBeenCalledTimes(1); + expect(useStore.getState().removeNotification).toHaveBeenCalledWith({ id: notifications[notifications.length - 1].id, }); }); @@ -82,13 +82,13 @@ describe('utilities', async () => { const newNotificationId = displayNotification(customFakeNotificationInput); expect(newNotificationId).toBe(customFakeNotificationInput.id); - expect(store.getState().addNotification).toHaveBeenCalledTimes(1); - expect(store.getState().addNotification).toHaveBeenCalledWith(customFakeNotificationInput); + expect(useStore.getState().addNotification).toHaveBeenCalledTimes(1); + expect(useStore.getState().addNotification).toHaveBeenCalledWith(customFakeNotificationInput); // Fast-forward until all timers have been executed vi.runAllTimers(); - expect(store.getState().removeNotification).not.toHaveBeenCalledWith(1); + expect(useStore.getState().removeNotification).not.toHaveBeenCalledWith(1); }); }); @@ -100,8 +100,8 @@ describe('utilities', async () => { // Check hide timeout is cleared expect(global.clearTimeout).toHaveBeenCalledTimes(1); - expect(store.getState().removeNotification).toHaveBeenCalledTimes(1); - expect(store.getState().removeNotification).toHaveBeenCalledWith({ + expect(useStore.getState().removeNotification).toHaveBeenCalledTimes(1); + expect(useStore.getState().removeNotification).toHaveBeenCalledWith({ id: fakeNotificationId, }); }); @@ -120,14 +120,14 @@ describe('utilities', async () => { // Check hide timeout is cleared expect(global.clearTimeout).toHaveBeenCalledTimes(1); - expect(store.getState().updateNotification).toHaveBeenCalledTimes(1); - expect(store.getState().updateNotification).toHaveBeenCalledWith(fakeNotificationUpdate); + expect(useStore.getState().updateNotification).toHaveBeenCalledTimes(1); + expect(useStore.getState().updateNotification).toHaveBeenCalledWith(fakeNotificationUpdate); // Fast-forward until all timers have been executed vi.runAllTimers(); - expect(store.getState().removeNotification).toHaveBeenCalledTimes(1); - expect(store.getState().removeNotification).toHaveBeenCalledWith({ + expect(useStore.getState().removeNotification).toHaveBeenCalledTimes(1); + expect(useStore.getState().removeNotification).toHaveBeenCalledWith({ id: fakeNotificationUpdate.id, }); }); @@ -140,13 +140,13 @@ describe('utilities', async () => { const newNotificationId = displayNotification(customFakeNotificationInput); expect(newNotificationId).toBe(customFakeNotificationInput.id); - expect(store.getState().addNotification).toHaveBeenCalledTimes(1); - expect(store.getState().addNotification).toHaveBeenCalledWith(customFakeNotificationInput); + expect(useStore.getState().addNotification).toHaveBeenCalledTimes(1); + expect(useStore.getState().addNotification).toHaveBeenCalledWith(customFakeNotificationInput); // Fast-forward until all timers have been executed vi.runAllTimers(); - expect(store.getState().removeNotification).not.toHaveBeenCalledWith(1); + expect(useStore.getState().removeNotification).not.toHaveBeenCalledWith(1); }); }); }); diff --git a/apps/evm/src/libs/notifications/utilities/index.ts b/apps/evm/src/libs/notifications/utilities/index.ts index f562a5e306..9908b7b4ea 100644 --- a/apps/evm/src/libs/notifications/utilities/index.ts +++ b/apps/evm/src/libs/notifications/utilities/index.ts @@ -1,4 +1,4 @@ -import { store } from '../store'; +import { useStore } from '../store'; import type { AddNotificationInput, Notification, @@ -14,7 +14,7 @@ const timeoutsMapping: { } = {}; const setHideTimeout = ({ id }: { id: Notification['id'] }) => { - const { removeNotification } = store.getState(); + const { removeNotification } = useStore.getState(); // Automatically hide notification after a certain time timeoutsMapping[id] = setTimeout(() => removeNotification({ id }), DISPLAY_TIME_MS); @@ -24,7 +24,7 @@ export const hideNotification = ({ id }: RemoveNotificationInput) => { // Clear hide timeout if one was set clearTimeout(timeoutsMapping[id]); - const { removeNotification } = store.getState(); + const { removeNotification } = useStore.getState(); removeNotification({ id }); }; @@ -36,7 +36,7 @@ export const displayNotification = ({ autoClose = true, ...addNotificationInput }: DisplayNotificationInput) => { - const { addNotification, notifications } = store.getState(); + const { addNotification, notifications } = useStore.getState(); // Remove last notification if we've reached the maximum allowed if (notifications.length >= MAX_NOTIFICATIONS) { @@ -64,7 +64,7 @@ export const updateNotification = ({ // Clear hide timeout if one was set clearTimeout(timeoutsMapping[updateNotificationInput.id]); - const { updateNotification: updateStoreNotification } = store.getState(); + const { updateNotification: updateStoreNotification } = useStore.getState(); // Update notification updateStoreNotification(updateNotificationInput); diff --git a/apps/evm/src/pages/Dashboard/Guide/index.tsx b/apps/evm/src/pages/Dashboard/Guide/index.tsx index 8766d07a57..bfbe7e51e4 100644 --- a/apps/evm/src/pages/Dashboard/Guide/index.tsx +++ b/apps/evm/src/pages/Dashboard/Guide/index.tsx @@ -8,7 +8,7 @@ import { useUserChainSettings } from 'hooks/useUserChainSettings'; import { useTranslation } from 'libs/translations'; import { useAccountAddress } from 'libs/wallet'; import { useEffect } from 'react'; -import { store } from 'store'; +import { useStore } from 'store'; import { StepCard, type StepCardProps } from './StepCard'; export const Guide: React.FC = () => { @@ -37,7 +37,7 @@ export const Guide: React.FC = () => { const isUserBorrowing = pool?.userBorrowBalanceCents?.isGreaterThan(0) || false; const [userChainSettings] = useUserChainSettings(); - const setUserSettings = store.use.setUserSettings(); + const setUserSettings = useStore(state => state.setUserSettings); // biome-ignore lint/correctness/useExhaustiveDependencies: useEffect(() => { diff --git a/apps/evm/src/pages/Dashboard/Overview/__tests__/index.spec.tsx b/apps/evm/src/pages/Dashboard/Overview/__tests__/index.spec.tsx index def31f03c3..d476f27d4b 100644 --- a/apps/evm/src/pages/Dashboard/Overview/__tests__/index.spec.tsx +++ b/apps/evm/src/pages/Dashboard/Overview/__tests__/index.spec.tsx @@ -3,7 +3,7 @@ import { fireEvent, waitFor } from '@testing-library/react'; import fakeAccountAddress from '__mocks__/models/address'; import { defaultUserChainSettings, useUserChainSettings } from 'hooks/useUserChainSettings'; import { en } from 'libs/translations'; -import { store } from 'store'; +import * as storeModule from 'store'; import { renderComponent } from 'testUtils/render'; import { Overview } from '..'; import { testIds } from '../testIds'; @@ -48,7 +48,12 @@ describe('Overview', () => { vi.fn(), ]); - vi.spyOn(store.use, 'setUserSettings').mockReturnValue(mockSetUserSettings); + vi.spyOn(storeModule, 'useStore').mockImplementation((selector: any) => + selector({ + userSettings: {}, + setUserSettings: mockSetUserSettings, + }), + ); const { container, queryAllByRole } = renderComponent(, { accountAddress: fakeAccountAddress, diff --git a/apps/evm/src/pages/Dashboard/Overview/index.tsx b/apps/evm/src/pages/Dashboard/Overview/index.tsx index 9402e3a297..0f91d2e150 100644 --- a/apps/evm/src/pages/Dashboard/Overview/index.tsx +++ b/apps/evm/src/pages/Dashboard/Overview/index.tsx @@ -27,7 +27,7 @@ import { useUserChainSettings } from 'hooks/useUserChainSettings'; import { useGetToken } from 'libs/tokens'; import { useTranslation } from 'libs/translations'; import { useAccountAddress } from 'libs/wallet'; -import { store } from 'store'; +import { useStore } from 'store'; import { convertDollarsToCents, formatCentsToReadableValue, @@ -49,7 +49,7 @@ export const Overview: React.FC = ({ ...otherProps }) => { }); const [userChainSettings] = useUserChainSettings(); - const setUserSettings = store.use.setUserSettings(); + const setUserSettings = useStore(state => state.setUserSettings); const toggleShowUserBalances = () => setUserSettings({ diff --git a/apps/evm/src/pages/Trade/Banner/index.tsx b/apps/evm/src/pages/Trade/Banner/index.tsx index e9f702fe24..7b59d3ffa8 100644 --- a/apps/evm/src/pages/Trade/Banner/index.tsx +++ b/apps/evm/src/pages/Trade/Banner/index.tsx @@ -5,7 +5,7 @@ import { VENUS_DOC_URL } from 'constants/production'; import { Link } from 'containers/Link'; import { useTranslation } from 'libs/translations'; import illustrationSrc from './illustration.png'; -import { store } from './store'; +import { useStore } from './store'; const LEARN_MORE_URL = `${VENUS_DOC_URL}/guides/trade`; @@ -16,7 +16,7 @@ export interface BannerProps { export const Banner: React.FC = ({ className }) => { const { t } = useTranslation(); - const hideBanner = store.use.hideBanner(); + const hideBanner = useStore(state => state.hideBanner); return ( diff --git a/apps/evm/src/pages/Trade/Banner/store/__tests__/index.spec.ts b/apps/evm/src/pages/Trade/Banner/store/__tests__/index.spec.ts index 9fcbf2626e..3e98647bc3 100644 --- a/apps/evm/src/pages/Trade/Banner/store/__tests__/index.spec.ts +++ b/apps/evm/src/pages/Trade/Banner/store/__tests__/index.spec.ts @@ -1,17 +1,17 @@ -import { store } from '..'; +import { useStore } from '..'; describe('store', () => { describe('doNotShowBanner', () => { it('sets correct initial props', () => { - expect(store.getState().doNotShowBanner).toMatchInlineSnapshot('false'); + expect(useStore.getState().doNotShowBanner).toMatchInlineSnapshot('false'); }); }); describe('hideBanner', () => { it('updates props correctly', () => { - store.getState().hideBanner(); + useStore.getState().hideBanner(); - expect(store.getState().doNotShowBanner).toMatchInlineSnapshot('true'); + expect(useStore.getState().doNotShowBanner).toMatchInlineSnapshot('true'); }); }); }); diff --git a/apps/evm/src/pages/Trade/Banner/store/index.ts b/apps/evm/src/pages/Trade/Banner/store/index.ts index ea6d7de341..24079f0798 100644 --- a/apps/evm/src/pages/Trade/Banner/store/index.ts +++ b/apps/evm/src/pages/Trade/Banner/store/index.ts @@ -11,7 +11,7 @@ export interface State { const deepMerge = createDeepMerge({ all: true }); -const useStore = create()( +const store = create()( persist( set => ({ doNotShowBanner: false, @@ -28,4 +28,4 @@ const useStore = create()( ), ); -export const store = createStoreSelectors(useStore); +export const useStore = createStoreSelectors(store); diff --git a/apps/evm/src/pages/Trade/ClosePositionModal/Form/index.tsx b/apps/evm/src/pages/Trade/ClosePositionModal/Form/index.tsx index fb029da4ca..eb981752c9 100644 --- a/apps/evm/src/pages/Trade/ClosePositionModal/Form/index.tsx +++ b/apps/evm/src/pages/Trade/ClosePositionModal/Form/index.tsx @@ -1,13 +1,13 @@ import { Spinner } from 'components'; import { ReduceForm } from 'pages/Trade/ReduceForm'; import { useGetSelectedTradePosition } from 'pages/Trade/useGetSelectedTradePosition'; -import { store } from '../store'; +import { useStore } from '../store'; export const Form: React.FC = () => { const { data, isLoading } = useGetSelectedTradePosition(); const selectedPosition = data?.position; - const hideClosePositionModal = store.use.hideModal(); + const hideClosePositionModal = useStore(state => state.hideModal); if (isLoading) { return ; diff --git a/apps/evm/src/pages/Trade/ClosePositionModal/__tests__/index.spec.tsx b/apps/evm/src/pages/Trade/ClosePositionModal/__tests__/index.spec.tsx index 913da15628..1408adcb61 100644 --- a/apps/evm/src/pages/Trade/ClosePositionModal/__tests__/index.spec.tsx +++ b/apps/evm/src/pages/Trade/ClosePositionModal/__tests__/index.spec.tsx @@ -6,7 +6,7 @@ import type { Mock } from 'vitest'; import { ClosePositionModal } from '..'; import { useGetSelectedTradePosition } from '../../useGetSelectedTradePosition'; -import { store } from '../store'; +import { useStore } from '../store'; vi.mock('components', () => ({ Icon: () => , @@ -33,7 +33,7 @@ const selectedPosition = tradePositions[0]; describe('ClosePositionModal', () => { beforeEach(() => { - store.setState({ + useStore.setState({ isModalShown: false, }); @@ -51,7 +51,7 @@ describe('ClosePositionModal', () => { }); it('renders modal content when modal is shown', async () => { - store.setState({ + useStore.setState({ isModalShown: true, }); @@ -62,7 +62,7 @@ describe('ClosePositionModal', () => { }); it('hides modal when close button is clicked', async () => { - store.setState({ + useStore.setState({ isModalShown: true, }); @@ -73,6 +73,6 @@ describe('ClosePositionModal', () => { await waitFor(() => expect(screen.queryByTestId('close-position-form')).not.toBeInTheDocument(), ); - expect(store.getState().isModalShown).toBe(false); + expect(useStore.getState().isModalShown).toBe(false); }); }); diff --git a/apps/evm/src/pages/Trade/ClosePositionModal/index.tsx b/apps/evm/src/pages/Trade/ClosePositionModal/index.tsx index a1d08c36d5..e778d6783e 100644 --- a/apps/evm/src/pages/Trade/ClosePositionModal/index.tsx +++ b/apps/evm/src/pages/Trade/ClosePositionModal/index.tsx @@ -4,7 +4,7 @@ import { Icon } from 'components'; import { useTranslation } from 'libs/translations'; import { useGetSelectedTradePosition } from '../useGetSelectedTradePosition'; import { Form } from './Form'; -import { store } from './store'; +import { useStore } from './store'; const ANIMATION_BASE_DURATION_S = 0.75; const EASE = [0.23, 1, 0.32, 1]; @@ -15,8 +15,8 @@ export const ClosePositionModal: React.FC = () => { const { data } = useGetSelectedTradePosition(); const selectedPosition = data?.position; - const isModalShown = store.use.isModalShown(); - const hideModal = store.use.hideModal(); + const isModalShown = useStore(state => state.isModalShown); + const hideModal = useStore(state => state.hideModal); return ( diff --git a/apps/evm/src/pages/Trade/ClosePositionModal/store/__tests__/index.spec.ts b/apps/evm/src/pages/Trade/ClosePositionModal/store/__tests__/index.spec.ts index f718655302..905ba43037 100644 --- a/apps/evm/src/pages/Trade/ClosePositionModal/store/__tests__/index.spec.ts +++ b/apps/evm/src/pages/Trade/ClosePositionModal/store/__tests__/index.spec.ts @@ -1,35 +1,35 @@ -import { store } from '..'; +import { useStore } from '..'; describe('store', () => { beforeEach(() => { - store.setState({ + useStore.setState({ isModalShown: false, }); }); describe('isModalShown', () => { it('sets correct initial props', () => { - expect(store.getState().isModalShown).toMatchInlineSnapshot('false'); + expect(useStore.getState().isModalShown).toMatchInlineSnapshot('false'); }); }); describe('showModal', () => { it('updates props correctly', () => { - store.getState().showModal(); + useStore.getState().showModal(); - expect(store.getState().isModalShown).toMatchInlineSnapshot('true'); + expect(useStore.getState().isModalShown).toMatchInlineSnapshot('true'); }); }); describe('hideModal', () => { it('updates props correctly', () => { - store.setState({ + useStore.setState({ isModalShown: true, }); - store.getState().hideModal(); + useStore.getState().hideModal(); - expect(store.getState().isModalShown).toMatchInlineSnapshot('false'); + expect(useStore.getState().isModalShown).toMatchInlineSnapshot('false'); }); }); }); diff --git a/apps/evm/src/pages/Trade/ClosePositionModal/store/index.ts b/apps/evm/src/pages/Trade/ClosePositionModal/store/index.ts index dd65030c88..25ab28b5bb 100644 --- a/apps/evm/src/pages/Trade/ClosePositionModal/store/index.ts +++ b/apps/evm/src/pages/Trade/ClosePositionModal/store/index.ts @@ -8,7 +8,7 @@ export interface State { hideModal: () => void; } -const useStore = create()(set => ({ +const store = create()(set => ({ isModalShown: false, showModal: () => set(state => ({ @@ -22,4 +22,4 @@ const useStore = create()(set => ({ })), })); -export const store = createStoreSelectors(useStore); +export const useStore = createStoreSelectors(store); diff --git a/apps/evm/src/pages/Trade/PairInfo/index.tsx b/apps/evm/src/pages/Trade/PairInfo/index.tsx index 92222a0085..c9666b5a0b 100644 --- a/apps/evm/src/pages/Trade/PairInfo/index.tsx +++ b/apps/evm/src/pages/Trade/PairInfo/index.tsx @@ -208,7 +208,7 @@ export const PairInfo: React.FC = ({ changePercentage, priceCents onClick={switchSelectedTokens} data-testid="pair-info-switch-tokens-button" > - + diff --git a/apps/evm/src/pages/Trade/Positions/PositionList/__tests__/index.spec.tsx b/apps/evm/src/pages/Trade/Positions/PositionList/__tests__/index.spec.tsx index 48aeff0e9d..4c155f9f87 100644 --- a/apps/evm/src/pages/Trade/Positions/PositionList/__tests__/index.spec.tsx +++ b/apps/evm/src/pages/Trade/Positions/PositionList/__tests__/index.spec.tsx @@ -1,7 +1,7 @@ import { fireEvent, screen, waitFor, within } from '@testing-library/react'; import { useIsFeatureEnabled } from 'hooks/useIsFeatureEnabled'; import { t } from 'libs/translations'; -import { store } from 'pages/Trade/ClosePositionModal/store'; +import { useStore } from 'pages/Trade/ClosePositionModal/store'; import { useTokenPair } from 'pages/Trade/useTokenPair'; import { useSearchParams } from 'react-router'; import { renderComponent } from 'testUtils/render'; @@ -93,7 +93,7 @@ const setComponentState = ({ (useIsFeatureEnabled as Mock).mockReturnValue(false); - store.setState({ + useStore.setState({ isModalShown: false, }); }; @@ -185,7 +185,7 @@ describe('PositionList', () => { shortTokenAddress: selectedPosition.shortAsset.vToken.underlyingToken.address, }); - await waitFor(() => expect(store.getState().isModalShown).toBe(true)); + await waitFor(() => expect(useStore.getState().isModalShown).toBe(true)); expect(screen.queryByText(collateralLabel)).not.toBeInTheDocument(); }); }); diff --git a/apps/evm/src/pages/Trade/Positions/PositionList/index.tsx b/apps/evm/src/pages/Trade/Positions/PositionList/index.tsx index 6bb0f0f15e..1e3dee3af6 100644 --- a/apps/evm/src/pages/Trade/Positions/PositionList/index.tsx +++ b/apps/evm/src/pages/Trade/Positions/PositionList/index.tsx @@ -2,7 +2,7 @@ import { Table } from 'components'; import { useMemo, useState } from 'react'; import { useTranslation } from 'libs/translations'; -import { store } from 'pages/Trade/ClosePositionModal/store'; +import { useStore } from 'pages/Trade/ClosePositionModal/store'; import { LONG_TOKEN_ADDRESS_PARAM_KEY, SHORT_TOKEN_ADDRESS_PARAM_KEY } from 'pages/Trade/constants'; import { useSearchParams } from 'react-router'; import type { TradePosition } from 'types'; @@ -36,7 +36,7 @@ export const PositionList: React.FC = ({ positions }) => { return ; }; - const showClosePositionModal = store.use.showModal(); + const showClosePositionModal = useStore(state => state.showModal); const renderRowControl = (row: TradePosition) => { const handleClick = (e: React.MouseEvent) => { diff --git a/apps/evm/src/pages/Trade/ReduceForm/index.tsx b/apps/evm/src/pages/Trade/ReduceForm/index.tsx index afac3c3c8e..75ff1c3ee0 100644 --- a/apps/evm/src/pages/Trade/ReduceForm/index.tsx +++ b/apps/evm/src/pages/Trade/ReduceForm/index.tsx @@ -17,7 +17,7 @@ import { usePositionForm } from 'pages/Trade/OperationForm/usePositionForm'; import { PositionForm } from 'pages/Trade/PositionForm'; import type { AssetBalanceMutation, TradePosition } from 'types'; import { areTokensEqual, convertTokensToMantissa } from 'utilities'; -import { store } from '../ClosePositionModal/store'; +import { useStore } from '../ClosePositionModal/store'; export interface ReduceFormProps { position: TradePosition; @@ -29,7 +29,7 @@ export const ReduceForm: React.FC = ({ position, closePosition const { userSlippageTolerancePercentage } = useGetUserSlippageTolerance(); const { formValues, setFormValues } = usePositionForm({ position }); - const hideClosePositionModal = store.use.hideModal(); + const hideClosePositionModal = useStore(state => state.hideModal); const { mutateAsync: reducePositionWithProfit, isPending: isReducingPositionWithProfit } = useReduceTradePositionWithProfit({ diff --git a/apps/evm/src/pages/Trade/__tests__/index.spec.tsx b/apps/evm/src/pages/Trade/__tests__/index.spec.tsx index fe97c2d0a9..bdaa618caf 100644 --- a/apps/evm/src/pages/Trade/__tests__/index.spec.tsx +++ b/apps/evm/src/pages/Trade/__tests__/index.spec.tsx @@ -7,7 +7,7 @@ import { poolData } from '__mocks__/models/pools'; import { renderComponent } from 'testUtils/render'; import type { Token } from 'types'; import Trade from '..'; -import { store } from '../Banner/store'; +import { useStore } from '../Banner/store'; import { LONG_TOKEN_ADDRESS_PARAM_KEY, SHORT_TOKEN_ADDRESS_PARAM_KEY } from '../constants'; import { useGetLiveKLineCandles } from '../useGetLiveKLineCandles'; import { useGetTradeAssets } from '../useGetTradeAssets'; @@ -42,11 +42,11 @@ vi.mock('../useTokenPair', () => ({ })); vi.mock('../Banner/store', () => ({ - store: { - use: { - doNotShowBanner: vi.fn(), - }, - }, + useStore: vi.fn((selector: (state: { doNotShowBanner: boolean }) => unknown) => + selector({ + doNotShowBanner: false, + }), + ), })); vi.mock('../Banner', () => ({ @@ -128,7 +128,12 @@ const setPageState = ( liveCandle: undefined, }); - (store.use.doNotShowBanner as Mock).mockReturnValue(doNotShowBanner); + vi.mocked(useStore as unknown as Mock).mockImplementation( + (selector: (state: { doNotShowBanner: boolean }) => unknown) => + selector({ + doNotShowBanner, + }), + ); }; const expectSearchParamsToResetToDefaults = async () => { diff --git a/apps/evm/src/pages/Trade/index.tsx b/apps/evm/src/pages/Trade/index.tsx index 0b55d7a513..cfb1ff6c18 100644 --- a/apps/evm/src/pages/Trade/index.tsx +++ b/apps/evm/src/pages/Trade/index.tsx @@ -6,7 +6,7 @@ import { ONE_DAY_MS } from 'constants/time'; import { ApiOhlcInterval } from 'types'; import { areAddressesEqual } from 'utilities'; import { Banner } from './Banner'; -import { store } from './Banner/store'; +import { useStore } from './Banner/store'; import { ClosePositionModal } from './ClosePositionModal'; import { OperationForm } from './OperationForm'; import { PairInfo } from './PairInfo'; @@ -23,7 +23,7 @@ const Trade: React.FC = () => { const shortTokenAddressParam = searchParams.get(SHORT_TOKEN_ADDRESS_PARAM_KEY); const longTokenAddressParam = searchParams.get(LONG_TOKEN_ADDRESS_PARAM_KEY); - const doNotShowBanner = store.use.doNotShowBanner(); + const doNotShowBanner = useStore(state => state.doNotShowBanner); const [chartInterval, setChartInterval] = useState(ApiOhlcInterval['1h']); diff --git a/apps/evm/src/store/__tests__/index.spec.ts b/apps/evm/src/store/__tests__/index.spec.ts index 7a11085ead..073a76bbf6 100644 --- a/apps/evm/src/store/__tests__/index.spec.ts +++ b/apps/evm/src/store/__tests__/index.spec.ts @@ -4,26 +4,26 @@ import { } from 'constants/swap'; import { ChainId } from 'types'; import { extractEnumValues } from 'utilities/extractEnumValues'; -import { initialUserSettings, store } from '..'; +import { initialUserSettings, useStore } from '..'; const allChainIds = extractEnumValues(ChainId); describe('store', () => { describe('userSettings', () => { it('sets correct initial user settings', () => { - expect(store.getState().userSettings).toEqual(initialUserSettings); + expect(useStore.getState().userSettings).toEqual(initialUserSettings); }); }); describe('setUserSettings', () => { it('updates user settings correctly', () => { - store.getState().setUserSettings({ + useStore.getState().setUserSettings({ settings: { gaslessTransactions: false, }, }); - expect(store.getState().userSettings).toEqual( + expect(useStore.getState().userSettings).toEqual( allChainIds.reduce( (acc, chainId) => ({ ...acc, @@ -38,7 +38,7 @@ describe('store', () => { }); it('updates user settings correctly when passing chainIds', () => { - store.getState().setUserSettings({ + useStore.getState().setUserSettings({ settings: { gaslessTransactions: false, doNotShowImportPositionsModal: true, @@ -46,7 +46,7 @@ describe('store', () => { chainIds: [ChainId.BSC_TESTNET, ChainId.ARBITRUM_SEPOLIA], }); - expect(store.getState().userSettings).toEqual({ + expect(useStore.getState().userSettings).toEqual({ ...initialUserSettings, [ChainId.BSC_TESTNET]: { gaslessTransactions: false, @@ -62,7 +62,7 @@ describe('store', () => { describe('persist merge', () => { it('clamps persisted slippage tolerance above the maximum', () => { - const merge = store.persist.getOptions().merge; + const merge = useStore.persist.getOptions().merge; const mergedState = merge?.( { @@ -75,9 +75,9 @@ describe('store', () => { slippageTolerancePercentage: String(MAXIMUM_SLIPPAGE_TOLERANCE_PERCENTAGE), }, }, - setUserSettings: store.getState().setUserSettings, + setUserSettings: useStore.getState().setUserSettings, }, - store.getInitialState(), + useStore.getInitialState(), ); expect(mergedState?.userSettings[ChainId.BSC_TESTNET]).toEqual({ diff --git a/apps/evm/src/store/index.ts b/apps/evm/src/store/index.ts index 927c0cdd95..333127f6df 100644 --- a/apps/evm/src/store/index.ts +++ b/apps/evm/src/store/index.ts @@ -43,7 +43,7 @@ export const initialUserSettings: UserSettings = { }, }; -const useStore = create()( +const store = create()( persist( immer(set => ({ userSettings: initialUserSettings, @@ -89,4 +89,4 @@ const useStore = create()( ), ); -export const store = createStoreSelectors(useStore); +export const useStore = createStoreSelectors(store); diff --git a/apps/evm/vite.config.mts b/apps/evm/vite.config.mts index 339ae8d513..87de726cd3 100644 --- a/apps/evm/vite.config.mts +++ b/apps/evm/vite.config.mts @@ -1,7 +1,7 @@ -import inject from '@rollup/plugin-inject'; +import babel from '@rolldown/plugin-babel'; import { sentryVitePlugin } from '@sentry/vite-plugin'; import tailwindcss from '@tailwindcss/vite'; -import react from '@vitejs/plugin-react'; +import react, { reactCompilerPreset } from '@vitejs/plugin-react'; import { visualizer } from 'rollup-plugin-visualizer'; import { defineConfig, loadEnv } from 'vite'; import svgrPlugin from 'vite-plugin-svgr'; @@ -11,10 +11,39 @@ import { version as APP_VERSION } from './src/constants/version'; export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), ''); + const isTest = mode === 'test'; + const reactCompiler = isTest + ? undefined + : reactCompilerPreset({ + compilationMode: 'infer', + panicThreshold: 'none', + }); + + if (reactCompiler) { + reactCompiler.rolldown.filter ??= {}; + reactCompiler.rolldown.filter.id = { + include: ['**/apps/evm/src/**'], + exclude: ['**/node_modules/**', '**/packages/**'], + }; + } return { base: './', - plugins: [react(), viteTsConfigPaths(), svgrPlugin(), tailwindcss()], + plugins: [ + react({ + jsxImportSource: '@emotion/react', + }), + ...(reactCompiler + ? [ + babel({ + presets: [reactCompiler], + }), + ] + : []), + viteTsConfigPaths(), + svgrPlugin(), + tailwindcss(), + ], resolve: { alias: { // Import raw source so dApp is in charge of compiling token and chain icons @@ -34,7 +63,6 @@ export default defineConfig(({ mode }) => { outDir: 'build', rollupOptions: { plugins: [ - inject({ Buffer: ['buffer', 'Buffer'] }), visualizer({ filename: 'bundleStats.html', }), diff --git a/yarn.lock b/yarn.lock index dfcb8130a4..51d07b2ea4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,7 +26,7 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.3.0": +"@ampproject/remapping@npm:^2.2.0, @ampproject/remapping@npm:^2.3.0": version: 2.3.0 resolution: "@ampproject/remapping@npm:2.3.0" dependencies: @@ -226,6 +226,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.27.2": + version: 7.27.5 + resolution: "@babel/compat-data@npm:7.27.5" + checksum: 10c0/da2751fcd0b58eea958f2b2f7ff7d6de1280712b709fa1ad054b73dc7d31f589e353bb50479b9dc96007935f3ed3cada68ac5b45ce93086b7122ddc32e60dc00 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.29.7": version: 7.29.7 resolution: "@babel/compat-data@npm:7.29.7" @@ -233,7 +240,30 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.14.0, @babel/core@npm:^7.17.9, @babel/core@npm:^7.18.5, @babel/core@npm:^7.18.9, @babel/core@npm:^7.21.3, @babel/core@npm:^7.28.0": +"@babel/core@npm:^7.14.0, @babel/core@npm:^7.17.9, @babel/core@npm:^7.18.5, @babel/core@npm:^7.18.9, @babel/core@npm:^7.21.3": + version: 7.28.0 + resolution: "@babel/core@npm:7.28.0" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.0" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.27.3" + "@babel/helpers": "npm:^7.27.6" + "@babel/parser": "npm:^7.28.0" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.0" + "@babel/types": "npm:^7.28.0" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/423302e7c721e73b1c096217880272e02020dfb697a55ccca60ad01bba90037015f84d0c20c6ce297cf33a19bb704bc5c2b3d3095f5284dfa592bd1de0b9e8c3 + languageName: node + linkType: hard + +"@babel/core@npm:^7.29.0": version: 7.29.7 resolution: "@babel/core@npm:7.29.7" dependencies: @@ -256,7 +286,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.25.7": +"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.25.7, @babel/generator@npm:^7.27.3": version: 7.27.5 resolution: "@babel/generator@npm:7.27.5" dependencies: @@ -269,6 +299,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/generator@npm:7.28.0" + dependencies: + "@babel/parser": "npm:^7.28.0" + "@babel/types": "npm:^7.28.0" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/1b3d122268ea3df50fde707ad864d9a55c72621357d5cebb972db3dd76859c45810c56e16ad23123f18f80cc2692f5a015d2858361300f0f224a05dc43d36a92 + languageName: node + linkType: hard + "@babel/generator@npm:^7.28.5": version: 7.28.5 resolution: "@babel/generator@npm:7.28.5" @@ -317,6 +360,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" + dependencies: + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helper-compilation-targets@npm:7.29.7" @@ -366,6 +422,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 + languageName: node + linkType: hard + "@babel/helper-globals@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helper-globals@npm:7.29.7" @@ -400,6 +463,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helper-module-imports@npm:7.29.7" @@ -425,6 +498,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-module-transforms@npm:7.27.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/fccb4f512a13b4c069af51e1b56b20f54024bcf1591e31e978a30f3502567f34f90a80da6a19a6148c249216292a8074a0121f9e52602510ef0f32dbce95ca01 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helper-module-transforms@npm:7.29.7" @@ -447,7 +533,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.8.0": +"@babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.27.1 resolution: "@babel/helper-plugin-utils@npm:7.27.1" checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b @@ -544,6 +630,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helper-validator-option@npm:7.29.7" @@ -551,6 +644,16 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.27.6": + version: 7.27.6 + resolution: "@babel/helpers@npm:7.27.6" + dependencies: + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.27.6" + checksum: 10c0/448bac96ef8b0f21f2294a826df9de6bf4026fd023f8a6bb6c782fe3e61946801ca24381490b8e58d861fee75cd695a1882921afbf1f53b0275ee68c938bd6d3 + languageName: node + linkType: hard + "@babel/helpers@npm:^7.29.7": version: 7.29.7 resolution: "@babel/helpers@npm:7.29.7" @@ -592,7 +695,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.5": +"@babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.4, @babel/parser@npm:^7.27.5": version: 7.27.5 resolution: "@babel/parser@npm:7.27.5" dependencies: @@ -603,6 +706,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/parser@npm:7.28.0" + dependencies: + "@babel/types": "npm:^7.28.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/c2ef81d598990fa949d1d388429df327420357cb5200271d0d0a2784f1e6d54afc8301eb8bdf96d8f6c77781e402da93c7dc07980fcc136ac5b9d5f1fce701b5 + languageName: node + linkType: hard + "@babel/parser@npm:^7.28.5": version: 7.28.5 resolution: "@babel/parser@npm:7.28.5" @@ -898,28 +1012,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/00a4f917b70a608f9aca2fb39aabe04a60aa33165a7e0105fd44b3a8531630eb85bf5572e9f242f51e6ad2fa38c2e7e780902176c863556c58b5ba6f6e164031 - languageName: node - linkType: hard - -"@babel/plugin-transform-react-jsx-source@npm:^7.27.1": - version: 7.27.1 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.27.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.27.1" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/5e67b56c39c4d03e59e03ba80692b24c5a921472079b63af711b1d250fc37c1733a17069b63537f750f3e937ec44a42b1ee6a46cd23b1a0df5163b17f741f7f2 - languageName: node - linkType: hard - "@babel/plugin-transform-react-jsx@npm:^7.0.0": version: 7.19.0 resolution: "@babel/plugin-transform-react-jsx@npm:7.19.0" @@ -976,7 +1068,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.25.7": +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.25.7, @babel/template@npm:^7.27.2": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" dependencies: @@ -1031,6 +1123,36 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3": + version: 7.27.4 + resolution: "@babel/traverse@npm:7.27.4" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.3" + "@babel/parser": "npm:^7.27.4" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.27.3" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/6de8aa2a0637a6ee6d205bf48b9e923928a02415771fdec60085ed754dcdf605e450bb3315c2552fa51c31a4662275b45d5ae4ad527ce55a7db9acebdbbbb8ed + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/traverse@npm:7.28.0" + dependencies: + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.0" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.0" + debug: "npm:^4.3.1" + checksum: 10c0/32794402457827ac558173bcebdcc0e3a18fa339b7c41ca35621f9f645f044534d91bb923ff385f5f960f2e495f56ce18d6c7b0d064d2f0ccb55b285fa6bc7b9 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.29.7": version: 7.29.7 resolution: "@babel/traverse@npm:7.29.7" @@ -1046,7 +1168,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.7, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.3.0": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.7, @babel/types@npm:^7.26.0, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.27.6, @babel/types@npm:^7.3.0": version: 7.27.6 resolution: "@babel/types@npm:7.27.6" dependencies: @@ -1056,6 +1178,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.28.0": + version: 7.28.1 + resolution: "@babel/types@npm:7.28.1" + dependencies: + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/5e99b346c11ee42ffb0cadc28159fe0b184d865a2cc1593df79b199772a534f6453969b4942aa5e4a55a3081863096e1cc3fc1c724d826926dc787cf229b845d + languageName: node + linkType: hard + "@babel/types@npm:^7.28.5": version: 7.28.5 resolution: "@babel/types@npm:7.28.5" @@ -1923,7 +2055,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:^1.10.0": +"@emnapi/core@npm:1.10.0, @emnapi/core@npm:^1.10.0": version: 1.10.0 resolution: "@emnapi/core@npm:1.10.0" dependencies: @@ -1943,7 +2075,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:^1.10.0": +"@emnapi/runtime@npm:1.10.0, @emnapi/runtime@npm:^1.10.0": version: 1.10.0 resolution: "@emnapi/runtime@npm:1.10.0" dependencies: @@ -2178,13 +2310,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/aix-ppc64@npm:0.27.7" - conditions: os=aix & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/aix-ppc64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/aix-ppc64@npm:0.28.0" @@ -2199,13 +2324,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/android-arm64@npm:0.27.7" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/android-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/android-arm64@npm:0.28.0" @@ -2220,13 +2338,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/android-arm@npm:0.27.7" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@esbuild/android-arm@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/android-arm@npm:0.28.0" @@ -2241,13 +2352,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/android-x64@npm:0.27.7" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - "@esbuild/android-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/android-x64@npm:0.28.0" @@ -2262,13 +2366,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/darwin-arm64@npm:0.27.7" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/darwin-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/darwin-arm64@npm:0.28.0" @@ -2283,13 +2380,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/darwin-x64@npm:0.27.7" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@esbuild/darwin-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/darwin-x64@npm:0.28.0" @@ -2304,13 +2394,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/freebsd-arm64@npm:0.27.7" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/freebsd-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/freebsd-arm64@npm:0.28.0" @@ -2325,13 +2408,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/freebsd-x64@npm:0.27.7" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/freebsd-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/freebsd-x64@npm:0.28.0" @@ -2346,13 +2422,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-arm64@npm:0.27.7" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/linux-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-arm64@npm:0.28.0" @@ -2367,13 +2436,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-arm@npm:0.27.7" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@esbuild/linux-arm@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-arm@npm:0.28.0" @@ -2388,13 +2450,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-ia32@npm:0.27.7" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/linux-ia32@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-ia32@npm:0.28.0" @@ -2409,13 +2464,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-loong64@npm:0.27.7" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - "@esbuild/linux-loong64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-loong64@npm:0.28.0" @@ -2430,13 +2478,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-mips64el@npm:0.27.7" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - "@esbuild/linux-mips64el@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-mips64el@npm:0.28.0" @@ -2451,13 +2492,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-ppc64@npm:0.27.7" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/linux-ppc64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-ppc64@npm:0.28.0" @@ -2472,13 +2506,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-riscv64@npm:0.27.7" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - "@esbuild/linux-riscv64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-riscv64@npm:0.28.0" @@ -2493,13 +2520,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-s390x@npm:0.27.7" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - "@esbuild/linux-s390x@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-s390x@npm:0.28.0" @@ -2514,13 +2534,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/linux-x64@npm:0.27.7" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - "@esbuild/linux-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/linux-x64@npm:0.28.0" @@ -2535,13 +2548,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/netbsd-arm64@npm:0.27.7" - conditions: os=netbsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/netbsd-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/netbsd-arm64@npm:0.28.0" @@ -2556,13 +2562,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/netbsd-x64@npm:0.27.7" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/netbsd-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/netbsd-x64@npm:0.28.0" @@ -2577,13 +2576,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/openbsd-arm64@npm:0.27.7" - conditions: os=openbsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/openbsd-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/openbsd-arm64@npm:0.28.0" @@ -2598,13 +2590,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/openbsd-x64@npm:0.27.7" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/openbsd-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/openbsd-x64@npm:0.28.0" @@ -2612,13 +2597,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/openharmony-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/openharmony-arm64@npm:0.27.7" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/openharmony-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/openharmony-arm64@npm:0.28.0" @@ -2633,13 +2611,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/sunos-x64@npm:0.27.7" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - "@esbuild/sunos-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/sunos-x64@npm:0.28.0" @@ -2654,13 +2625,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/win32-arm64@npm:0.27.7" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/win32-arm64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/win32-arm64@npm:0.28.0" @@ -2675,13 +2639,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/win32-ia32@npm:0.27.7" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/win32-ia32@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/win32-ia32@npm:0.28.0" @@ -2696,13 +2653,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.27.7": - version: 0.27.7 - resolution: "@esbuild/win32-x64@npm:0.27.7" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@esbuild/win32-x64@npm:0.28.0": version: 0.28.0 resolution: "@esbuild/win32-x64@npm:0.28.0" @@ -6688,6 +6638,157 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/api-logs@npm:0.208.0, @opentelemetry/api-logs@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/api-logs@npm:0.208.0" + dependencies: + "@opentelemetry/api": "npm:^1.3.0" + checksum: 10c0/dc1fbee6219df4166509f43b74ea936bb18b6d594565b0bcf56b654a1c958b50d6046b8739dc36c98149fe890c02150ff3814e963f5ea439a07ff3c562555b99 + languageName: node + linkType: hard + +"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.9.0": + version: 1.9.0 + resolution: "@opentelemetry/api@npm:1.9.0" + checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add + languageName: node + linkType: hard + +"@opentelemetry/core@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/core@npm:2.2.0" + dependencies: + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: 10c0/f618b63f2f560d052791d2406b1411722aa4b0585031242e6906f869f0a707ffe725c4b29bf18aed1f202e1ab5dfc3a9f769c517ac8521338b33ac8c4265fba9 + languageName: node + linkType: hard + +"@opentelemetry/core@npm:2.4.0": + version: 2.4.0 + resolution: "@opentelemetry/core@npm:2.4.0" + dependencies: + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: 10c0/0ebbf52fa9b04e6329efbd86387b72e3b28f6adb15a9bd16d2f04488bf82cf5c2fd295ab74cbbe19aac0dda3316c6d5500e6b9661715b48ef04883e2a975238a + languageName: node + linkType: hard + +"@opentelemetry/exporter-logs-otlp-http@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/exporter-logs-otlp-http@npm:0.208.0" + dependencies: + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/otlp-exporter-base": "npm:0.208.0" + "@opentelemetry/otlp-transformer": "npm:0.208.0" + "@opentelemetry/sdk-logs": "npm:0.208.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/2b8c649e04bfc7c86ebc49de4afb19ccd2562ebfc15ac30f1689787d9b014392f6d936f43b494729d9723de0588276027f742ba825834c74d8a08cd366c284ab + languageName: node + linkType: hard + +"@opentelemetry/otlp-exporter-base@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-exporter-base@npm:0.208.0" + dependencies: + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/otlp-transformer": "npm:0.208.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/c2b2014da16e2a2be0ebe525b1a62b3e64e286fc9c2575444e4c75bbe0060a83762172180dc7a97cdaaaa8c6765076073edea30340459fc1820cd43468ff98b0 + languageName: node + linkType: hard + +"@opentelemetry/otlp-transformer@npm:0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/otlp-transformer@npm:0.208.0" + dependencies: + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + "@opentelemetry/sdk-logs": "npm:0.208.0" + "@opentelemetry/sdk-metrics": "npm:2.2.0" + "@opentelemetry/sdk-trace-base": "npm:2.2.0" + protobufjs: "npm:^7.3.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/70c04b2a52f0b2f8aece25ad21401c32ed3136ccd6e82b767d570a24d5456a5ded206ed4cc60ebc09eac08a4aa9c03bc8dcbf10730e491f1af3e7768c361ac12 + languageName: node + linkType: hard + +"@opentelemetry/resources@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/resources@npm:2.2.0" + dependencies: + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/f08fa69ccccb6d14b6932fabe6f8e097c0dfc41ae8f4c0f6c54fb04bc3d9c04e742da3e22d7240d74b585287101126d97a0da192b493a9724dc07a56ca1b77e0 + languageName: node + linkType: hard + +"@opentelemetry/resources@npm:^2.2.0": + version: 2.4.0 + resolution: "@opentelemetry/resources@npm:2.4.0" + dependencies: + "@opentelemetry/core": "npm:2.4.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/891aa96804b88bdf9448da83c3a06f8747c9374d2a9ea8dd4291ba13528adea71e0d12c2d480ac6b6c6bf928718c8f3775183385e48af32ff27c5085a641179a + languageName: node + linkType: hard + +"@opentelemetry/sdk-logs@npm:0.208.0, @opentelemetry/sdk-logs@npm:^0.208.0": + version: 0.208.0 + resolution: "@opentelemetry/sdk-logs@npm:0.208.0" + dependencies: + "@opentelemetry/api-logs": "npm:0.208.0" + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + peerDependencies: + "@opentelemetry/api": ">=1.4.0 <1.10.0" + checksum: 10c0/a167ee7d2818e435ff7480836461f94543e4e39f0e8e8013d462c635def9b960dcf1a29e5536743946b51ef13b764f518d9edb511e89bc1e8995acc96f54241f + languageName: node + linkType: hard + +"@opentelemetry/sdk-metrics@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-metrics@npm:2.2.0" + dependencies: + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + peerDependencies: + "@opentelemetry/api": ">=1.9.0 <1.10.0" + checksum: 10c0/a2668f9ef937123552a5ab96ec23675931ae7d3223ec7a31c8aac95fbbfb0b03a54a873f17f2356b04db7031421e7e3d7e3bf9d96d9069a0b97c680a2c158bc4 + languageName: node + linkType: hard + +"@opentelemetry/sdk-trace-base@npm:2.2.0": + version: 2.2.0 + resolution: "@opentelemetry/sdk-trace-base@npm:2.2.0" + dependencies: + "@opentelemetry/core": "npm:2.2.0" + "@opentelemetry/resources": "npm:2.2.0" + "@opentelemetry/semantic-conventions": "npm:^1.29.0" + peerDependencies: + "@opentelemetry/api": ">=1.3.0 <1.10.0" + checksum: 10c0/a67715b71d7253cd61ea79954f56491796ac7a660d03d5381fd81defd4546042bb465b27e1b6eee4b1ed32c00305a5349a16d04fd44314c9a1d371a0a638107a + languageName: node + linkType: hard + +"@opentelemetry/semantic-conventions@npm:^1.29.0": + version: 1.38.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.38.0" + checksum: 10c0/ae93e39ac18bf47df2b11d43e9a0dc1673b9d33e5f1e7f357c92968e6329fb9a67cf8a447e9a7150948ee3f8178b38274db365b8fa775a8c54802e0c6ccdd2ca + languageName: node + linkType: hard + "@openzeppelin-3/contracts@npm:@openzeppelin/contracts@^3.4.2-solc-0.7, @openzeppelin/contracts-v0.7@npm:@openzeppelin/contracts@v3.4.2": version: 3.4.2 resolution: "@openzeppelin/contracts@npm:3.4.2" @@ -6812,6 +6913,13 @@ __metadata: languageName: node linkType: hard +"@oxc-project/types@npm:=0.133.0": + version: 0.133.0 + resolution: "@oxc-project/types@npm:0.133.0" + checksum: 10c0/70c57ba58644f7ec217b670c301801f4d06995f4ccdba6b2bd106ea3e5ee49d616573e6ef8d55530b87571a960696543687f3850e87ad173d3f88965c30cdd63 + languageName: node + linkType: hard + "@pancakeswap/sdk@npm:^3.1.0": version: 3.1.0 resolution: "@pancakeswap/sdk@npm:3.1.0" @@ -7009,19 +7117,99 @@ __metadata: languageName: node linkType: hard -"@posthog/core@npm:1.31.0": - version: 1.31.0 - resolution: "@posthog/core@npm:1.31.0" +"@posthog/core@npm:1.23.2": + version: 1.23.2 + resolution: "@posthog/core@npm:1.23.2" dependencies: - "@posthog/types": "npm:1.384.0" - checksum: 10c0/82f06ca071e54fa3b1db8b3652a36e97f1629921ffdd6024c2cf960e170cfc277fa819deb065dde4c478b5cf349fa80af7eb89a177173bf5ad5ee9c2a09c7914 + cross-spawn: "npm:^7.0.6" + checksum: 10c0/13d86e63e9a74255e33167c266fc10c3f485221093b235239543ebaaa80c07614e4485e02da3b0850281f9341f4c4014fdfa3998ed96fab8f6bf76bd39116c60 + languageName: node + linkType: hard + +"@posthog/types@npm:1.357.2": + version: 1.357.2 + resolution: "@posthog/types@npm:1.357.2" + checksum: 10c0/b6c404fceb38f13c2775c18d1594ec3a41e37c39f8dc3c1d51dbc03e519562d19e1e78d5a288c4fdd9728e8f0d146fe48b4bf0bc75dc30a009d1bcf3793e6ac0 + languageName: node + linkType: hard + +"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/aspromise@npm:1.1.2" + checksum: 10c0/a83343a468ff5b5ec6bff36fd788a64c839e48a07ff9f4f813564f58caf44d011cd6504ed2147bf34835bd7a7dd2107052af755961c6b098fd8902b4f6500d0f + languageName: node + linkType: hard + +"@protobufjs/base64@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/base64@npm:1.1.2" + checksum: 10c0/eec925e681081af190b8ee231f9bad3101e189abbc182ff279da6b531e7dbd2a56f1f306f37a80b1be9e00aa2d271690d08dcc5f326f71c9eed8546675c8caf6 languageName: node linkType: hard -"@posthog/types@npm:1.384.0": - version: 1.384.0 - resolution: "@posthog/types@npm:1.384.0" - checksum: 10c0/d6d55a839784f939f59573013acb83306411c13c6a9e7ccb82a35679228d258351537e042d9e8438d99d6791e43ac4fe91dcd17e8cfef68ad0a312e45d600f40 +"@protobufjs/codegen@npm:^2.0.5": + version: 2.0.5 + resolution: "@protobufjs/codegen@npm:2.0.5" + checksum: 10c0/1b8a2ae56ee60a56e9d205cd4b6072a1503c5069b8ebb905710f974ff0098a0d0700641c137e0a8d98dedf14423156a106a9433695cbf52574810f55000fdcab + languageName: node + linkType: hard + +"@protobufjs/eventemitter@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/eventemitter@npm:1.1.0" + checksum: 10c0/1eb0a75180e5206d1033e4138212a8c7089a3d418c6dfa5a6ce42e593a4ae2e5892c4ef7421f38092badba4040ea6a45f0928869989411001d8c1018ea9a6e70 + languageName: node + linkType: hard + +"@protobufjs/fetch@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/fetch@npm:1.1.0" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.1" + "@protobufjs/inquire": "npm:^1.1.0" + checksum: 10c0/cda6a3dc2d50a182c5865b160f72077aac197046600091dbb005dd0a66db9cce3c5eaed6d470ac8ed49d7bcbeef6ee5f0bc288db5ff9a70cbd003e5909065233 + languageName: node + linkType: hard + +"@protobufjs/float@npm:^1.0.2": + version: 1.0.2 + resolution: "@protobufjs/float@npm:1.0.2" + checksum: 10c0/18f2bdede76ffcf0170708af15c9c9db6259b771e6b84c51b06df34a9c339dbbeec267d14ce0bddd20acc142b1d980d983d31434398df7f98eb0c94a0eb79069 + languageName: node + linkType: hard + +"@protobufjs/inquire@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/inquire@npm:1.1.0" + checksum: 10c0/64372482efcba1fb4d166a2664a6395fa978b557803857c9c03500e0ac1013eb4b1aacc9ed851dd5fc22f81583670b4f4431bae186f3373fedcfde863ef5921a + languageName: node + linkType: hard + +"@protobufjs/inquire@npm:^1.1.1": + version: 1.1.1 + resolution: "@protobufjs/inquire@npm:1.1.1" + checksum: 10c0/a638d981adabdbdd61fba04e5045e0d2f98fa557eb0e705482a6dc25e84318bc736b0cd4aaee5d6b9941f121b488ece872c203af2a665b6dfefa95c903bb0cc8 + languageName: node + linkType: hard + +"@protobufjs/path@npm:^1.1.2": + version: 1.1.2 + resolution: "@protobufjs/path@npm:1.1.2" + checksum: 10c0/cece0a938e7f5dfd2fa03f8c14f2f1cf8b0d6e13ac7326ff4c96ea311effd5fb7ae0bba754fbf505312af2e38500250c90e68506b97c02360a43793d88a0d8b4 + languageName: node + linkType: hard + +"@protobufjs/pool@npm:^1.1.0": + version: 1.1.0 + resolution: "@protobufjs/pool@npm:1.1.0" + checksum: 10c0/eda2718b7f222ac6e6ad36f758a92ef90d26526026a19f4f17f668f45e0306a5bd734def3f48f51f8134ae0978b6262a5c517c08b115a551756d1a3aadfcf038 + languageName: node + linkType: hard + +"@protobufjs/utf8@npm:^1.1.1": + version: 1.1.1 + resolution: "@protobufjs/utf8@npm:1.1.1" + checksum: 10c0/641fc145f00626405e8984b6e90b9edcbcc072ffc82d0647ca3176e09c730b2d022f988e65f011a7a17e2e4d77cde7733643aa10d8ac2bfa30f134dbcad553fd languageName: node linkType: hard @@ -7669,6 +7857,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-android-arm64@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-android-arm64@npm:1.0.3" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-arm64@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-darwin-arm64@npm:1.0.0-beta.59" @@ -7683,6 +7878,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-arm64@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-darwin-arm64@npm:1.0.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-darwin-x64@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-darwin-x64@npm:1.0.0-beta.59" @@ -7697,6 +7899,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-darwin-x64@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-darwin-x64@npm:1.0.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-freebsd-x64@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-freebsd-x64@npm:1.0.0-beta.59" @@ -7711,6 +7920,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-freebsd-x64@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-freebsd-x64@npm:1.0.3" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.59" @@ -7725,6 +7941,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-linux-arm-gnueabihf@npm:1.0.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.59" @@ -7739,6 +7962,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-gnu@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-linux-arm64-gnu@npm:1.0.3" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.59" @@ -7753,6 +7983,27 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-arm64-musl@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-linux-arm64-musl@npm:1.0.3" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rolldown/binding-linux-ppc64-gnu@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-linux-ppc64-gnu@npm:1.0.3" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rolldown/binding-linux-s390x-gnu@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-linux-s390x-gnu@npm:1.0.3" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.59" @@ -7767,6 +8018,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-gnu@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-linux-x64-gnu@npm:1.0.3" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.59" @@ -7781,6 +8039,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-linux-x64-musl@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-linux-x64-musl@npm:1.0.3" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.0-beta.59" @@ -7795,6 +8060,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-openharmony-arm64@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-openharmony-arm64@npm:1.0.3" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.59" @@ -7813,6 +8085,17 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-wasm32-wasi@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-wasm32-wasi@npm:1.0.3" + dependencies: + "@emnapi/core": "npm:1.10.0" + "@emnapi/runtime": "npm:1.10.0" + "@napi-rs/wasm-runtime": "npm:^1.1.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.59" @@ -7827,6 +8110,13 @@ __metadata: languageName: node linkType: hard +"@rolldown/binding-win32-arm64-msvc@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-win32-arm64-msvc@npm:1.0.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.59": version: 1.0.0-beta.59 resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.59" @@ -7841,10 +8131,32 @@ __metadata: languageName: node linkType: hard -"@rolldown/pluginutils@npm:1.0.0-beta.27": - version: 1.0.0-beta.27 - resolution: "@rolldown/pluginutils@npm:1.0.0-beta.27" - checksum: 10c0/9658f235b345201d4f6bfb1f32da9754ca164f892d1cb68154fe5f53c1df42bd675ecd409836dff46884a7847d6c00bdc38af870f7c81e05bba5c2645eb4ab9c +"@rolldown/binding-win32-x64-msvc@npm:1.0.3": + version: 1.0.3 + resolution: "@rolldown/binding-win32-x64-msvc@npm:1.0.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rolldown/plugin-babel@npm:^0.2.3": + version: 0.2.3 + resolution: "@rolldown/plugin-babel@npm:0.2.3" + dependencies: + picomatch: "npm:^4.0.4" + peerDependencies: + "@babel/core": ^7.29.0 || ^8.0.0-rc.1 + "@babel/plugin-transform-runtime": ^7.29.0 || ^8.0.0-rc.1 + "@babel/runtime": ^7.27.0 || ^8.0.0-rc.1 + rolldown: ^1.0.0-rc.5 + vite: ^8.0.0 + peerDependenciesMeta: + "@babel/plugin-transform-runtime": + optional: true + "@babel/runtime": + optional: true + vite: + optional: true + checksum: 10c0/84afe9854137b576f963f4fd11080dc0b8afe6243d565513d33ddfed9ea9149652110def881a3911b5e889f5fa505df036c6839f4d0fd01d4222297d7f2baa21 languageName: node linkType: hard @@ -7862,19 +8174,10 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-inject@npm:^5.0.3": - version: 5.0.5 - resolution: "@rollup/plugin-inject@npm:5.0.5" - dependencies: - "@rollup/pluginutils": "npm:^5.0.1" - estree-walker: "npm:^2.0.2" - magic-string: "npm:^0.30.3" - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 10c0/22d10cf44fa56a6683d5ac4df24a9003379b3dcaae9897f5c30c844afc2ebca83cfaa5557f13a1399b1c8a0d312c3217bcacd508b7ebc4b2cbee401bd1ec8be2 +"@rolldown/pluginutils@npm:^1.0.0": + version: 1.0.1 + resolution: "@rolldown/pluginutils@npm:1.0.1" + checksum: 10c0/99d9b06d90196823e4d8c841f258db7a16e5dbba5824a2962b05d907b79f1ba929d56f22dd744fd530936e568c865ee56a719dc31e57e13bc0a8eb4764a8d8dd languageName: node linkType: hard @@ -7917,13 +8220,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.62.0" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@rollup/rollup-android-arm64@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-android-arm64@npm:4.59.0" @@ -7931,13 +8227,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-android-arm64@npm:4.62.0" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@rollup/rollup-darwin-arm64@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-darwin-arm64@npm:4.59.0" @@ -7945,13 +8234,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.62.0" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@rollup/rollup-darwin-x64@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-darwin-x64@npm:4.59.0" @@ -7959,13 +8241,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.62.0" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@rollup/rollup-freebsd-arm64@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-freebsd-arm64@npm:4.59.0" @@ -7973,13 +8248,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.62.0" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - "@rollup/rollup-freebsd-x64@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-freebsd-x64@npm:4.59.0" @@ -7987,13 +8255,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-freebsd-x64@npm:4.62.0" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0" @@ -8001,13 +8262,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.62.0" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-arm-musleabihf@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.59.0" @@ -8015,13 +8269,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.62.0" - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - "@rollup/rollup-linux-arm64-gnu@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.59.0" @@ -8029,13 +8276,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.62.0" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-arm64-musl@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-arm64-musl@npm:4.59.0" @@ -8043,13 +8283,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.62.0" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@rollup/rollup-linux-loong64-gnu@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.59.0" @@ -8057,13 +8290,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-loong64-gnu@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.62.0" - conditions: os=linux & cpu=loong64 & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-loong64-musl@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-loong64-musl@npm:4.59.0" @@ -8071,13 +8297,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-loong64-musl@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-loong64-musl@npm:4.62.0" - conditions: os=linux & cpu=loong64 & libc=musl - languageName: node - linkType: hard - "@rollup/rollup-linux-ppc64-gnu@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.59.0" @@ -8085,13 +8304,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-gnu@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.62.0" - conditions: os=linux & cpu=ppc64 & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-ppc64-musl@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.59.0" @@ -8099,13 +8311,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-musl@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.62.0" - conditions: os=linux & cpu=ppc64 & libc=musl - languageName: node - linkType: hard - "@rollup/rollup-linux-riscv64-gnu@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.59.0" @@ -8113,13 +8318,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.62.0" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-riscv64-musl@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.59.0" @@ -8127,13 +8325,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.62.0" - conditions: os=linux & cpu=riscv64 & libc=musl - languageName: node - linkType: hard - "@rollup/rollup-linux-s390x-gnu@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.59.0" @@ -8141,13 +8332,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.62.0" - conditions: os=linux & cpu=s390x & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-x64-gnu@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-x64-gnu@npm:4.59.0" @@ -8155,13 +8339,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.62.0" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@rollup/rollup-linux-x64-musl@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-linux-x64-musl@npm:4.59.0" @@ -8169,13 +8346,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.62.0" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@rollup/rollup-openbsd-x64@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-openbsd-x64@npm:4.59.0" @@ -8183,13 +8353,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-openbsd-x64@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-openbsd-x64@npm:4.62.0" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - "@rollup/rollup-openharmony-arm64@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-openharmony-arm64@npm:4.59.0" @@ -8197,23 +8360,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-openharmony-arm64@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-openharmony-arm64@npm:4.62.0" - conditions: os=openharmony & cpu=arm64 - languageName: node - linkType: hard - "@rollup/rollup-win32-arm64-msvc@npm:4.59.0": - version: 4.59.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.59.0" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-arm64-msvc@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.62.0" + version: 4.59.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.59.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -8225,13 +8374,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.62.0" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@rollup/rollup-win32-x64-gnu@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-win32-x64-gnu@npm:4.59.0" @@ -8239,13 +8381,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-gnu@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-win32-x64-gnu@npm:4.62.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@rollup/rollup-win32-x64-msvc@npm:4.59.0": version: 4.59.0 resolution: "@rollup/rollup-win32-x64-msvc@npm:4.59.0" @@ -8253,13 +8388,6 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.62.0": - version: 4.62.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.62.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@safe-global/safe-apps-provider@npm:0.18.6": version: 0.18.6 resolution: "@safe-global/safe-apps-provider@npm:0.18.6" @@ -9783,13 +9911,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.9": - version: 1.0.9 - resolution: "@types/estree@npm:1.0.9" - checksum: 10c0/3ad3286ca2988cd550dafb8f2ad599c8474868e954fa601a36655bdfefd8039f7c714b8c1c7f2ae219ffbd58bd4660e66fa7479a0120fc02d4777057d4865387 - languageName: node - linkType: hard - "@types/estree@npm:^1.0.0": version: 1.0.1 resolution: "@types/estree@npm:1.0.1" @@ -9944,6 +10065,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:>=13.7.0": + version: 25.0.9 + resolution: "@types/node@npm:25.0.9" + dependencies: + undici-types: "npm:~7.16.0" + checksum: 10c0/a757efafe303d9c8833eb53c2e9a0981cd5ac725cdc04c5612a71db86468c938778d4fa328be4231b68fffc68258638764df7b9c69e86cf55f0bb67105eb056f + languageName: node + linkType: hard + "@types/node@npm:^10.0.3, @types/node@npm:^10.11.7": version: 10.17.60 resolution: "@types/node@npm:10.17.60" @@ -10238,6 +10368,7 @@ __metadata: version: 0.0.0-use.local resolution: "@venusprotocol/evm@workspace:apps/evm" dependencies: + "@babel/core": "npm:^7.29.0" "@biconomy/abstractjs": "npm:^1.0.21" "@biomejs/biome": "npm:1.6.4" "@changesets/cli": "npm:^2.27.1" @@ -10262,7 +10393,7 @@ __metadata: "@radix-ui/react-tooltip": "npm:^1.1.7" "@rainbow-me/rainbowkit": "npm:^2.2.10" "@rhinestone/module-sdk": "npm:0.2.7" - "@rollup/plugin-inject": "npm:^5.0.3" + "@rolldown/plugin-babel": "npm:^0.2.3" "@sentry/react": "npm:^10.19.0" "@sentry/vite-plugin": "npm:^4.0.1" "@storybook/addon-essentials": "npm:8.6.14" @@ -10278,6 +10409,7 @@ __metadata: "@testing-library/dom": "npm:^10.4.0" "@testing-library/jest-dom": "npm:^6.6.3" "@testing-library/react": "npm:^16.3.0" + "@types/babel__core": "npm:^7.20.5" "@types/get-pixels": "npm:^3.3.4" "@types/lodash-es": "npm:^4.17.12" "@types/react": "npm:^19.1.5" @@ -10297,10 +10429,11 @@ __metadata: "@venusprotocol/ui": "npm:*" "@venusprotocol/venus-periphery": "npm:^1.1.0" "@venusprotocol/venus-protocol": "npm:10.2.0-slim-dev.2" - "@vitejs/plugin-react": "npm:^4.3.3" + "@vitejs/plugin-react": "npm:^6.0.2" "@vitest/coverage-v8": "npm:^2.1.5" "@wagmi/core": "npm:^2.16.4" "@yornaath/batshit": "npm:^0.12.0" + babel-plugin-react-compiler: "npm:^1.0.0" bignumber.js: "npm:^9.1.1" buffer: "npm:^6.0.3" c8: "npm:^10.0.0" @@ -10357,7 +10490,7 @@ __metadata: tw-animate-css: "npm:^1.4.0" typescript: "npm:^5.1.6" viem: "npm:^2.23.1" - vite: "npm:^6.2.5" + vite: "npm:^8.0.16" vite-plugin-svgr: "npm:^4.3.0" vite-tsconfig-paths: "npm:^5.1.4" vitest: "npm:^3.1.1" @@ -10715,19 +10848,21 @@ __metadata: languageName: node linkType: hard -"@vitejs/plugin-react@npm:^4.3.3": - version: 4.7.0 - resolution: "@vitejs/plugin-react@npm:4.7.0" +"@vitejs/plugin-react@npm:^6.0.2": + version: 6.0.2 + resolution: "@vitejs/plugin-react@npm:6.0.2" dependencies: - "@babel/core": "npm:^7.28.0" - "@babel/plugin-transform-react-jsx-self": "npm:^7.27.1" - "@babel/plugin-transform-react-jsx-source": "npm:^7.27.1" - "@rolldown/pluginutils": "npm:1.0.0-beta.27" - "@types/babel__core": "npm:^7.20.5" - react-refresh: "npm:^0.17.0" + "@rolldown/pluginutils": "npm:^1.0.0" peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - checksum: 10c0/692f23960972879485d647713663ec299c478222c96567d60285acf7c7dc5c178e71abfe9d2eefddef1eeb01514dacbc2ed68aad84628debf9c7116134734253 + "@rolldown/plugin-babel": ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + vite: ^8.0.0 + peerDependenciesMeta: + "@rolldown/plugin-babel": + optional: true + babel-plugin-react-compiler: + optional: true + checksum: 10c0/6e2d90974e05f2a9aefafad1d137b75c3b3b4bf3f2affdbfe77c6b11b24832cff22dd8852430c6341e2fb5b00a4513fb00db306a6abdbec6f0f5841e93bbcfba languageName: node linkType: hard @@ -12061,6 +12196,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-react-compiler@npm:^1.0.0": + version: 1.0.0 + resolution: "babel-plugin-react-compiler@npm:1.0.0" + dependencies: + "@babel/types": "npm:^7.26.0" + checksum: 10c0/9406267ada8d7dbdfe8906b40ecadb816a5f4cee2922bee23f7729293b369624ee135b5a9b0f263851c263c9787522ac5d97016c9a2b82d1668300e42b18aff8 + languageName: node + linkType: hard + "babel-plugin-syntax-trailing-function-commas@npm:^7.0.0-beta.0": version: 7.0.0-beta.0 resolution: "babel-plugin-syntax-trailing-function-commas@npm:7.0.0-beta.0" @@ -14463,15 +14607,15 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^3.3.2": - version: 3.4.9 - resolution: "dompurify@npm:3.4.9" +"dompurify@npm:^3.3.1": + version: 3.4.0 + resolution: "dompurify@npm:3.4.0" dependencies: "@types/trusted-types": "npm:^2.0.7" dependenciesMeta: "@types/trusted-types": optional: true - checksum: 10c0/e03d88d5959dcaae172357002d74e47e66fc6685cac8928fe4b02982f7b4051e2b8ff70279e4e6fb13be112c0e5cae11439ab960c06c487cb91a3c1a18baed49 + checksum: 10c0/5593ac44ee20b9aa521c2120884effc98927fb9128c548183c75e79e0a04357c62ee913a049a267c8f396cb8c9d520ecf72562826c5524c46d4fe03c12063638 languageName: node linkType: hard @@ -15077,95 +15221,6 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.27.0": - version: 0.27.7 - resolution: "esbuild@npm:0.27.7" - dependencies: - "@esbuild/aix-ppc64": "npm:0.27.7" - "@esbuild/android-arm": "npm:0.27.7" - "@esbuild/android-arm64": "npm:0.27.7" - "@esbuild/android-x64": "npm:0.27.7" - "@esbuild/darwin-arm64": "npm:0.27.7" - "@esbuild/darwin-x64": "npm:0.27.7" - "@esbuild/freebsd-arm64": "npm:0.27.7" - "@esbuild/freebsd-x64": "npm:0.27.7" - "@esbuild/linux-arm": "npm:0.27.7" - "@esbuild/linux-arm64": "npm:0.27.7" - "@esbuild/linux-ia32": "npm:0.27.7" - "@esbuild/linux-loong64": "npm:0.27.7" - "@esbuild/linux-mips64el": "npm:0.27.7" - "@esbuild/linux-ppc64": "npm:0.27.7" - "@esbuild/linux-riscv64": "npm:0.27.7" - "@esbuild/linux-s390x": "npm:0.27.7" - "@esbuild/linux-x64": "npm:0.27.7" - "@esbuild/netbsd-arm64": "npm:0.27.7" - "@esbuild/netbsd-x64": "npm:0.27.7" - "@esbuild/openbsd-arm64": "npm:0.27.7" - "@esbuild/openbsd-x64": "npm:0.27.7" - "@esbuild/openharmony-arm64": "npm:0.27.7" - "@esbuild/sunos-x64": "npm:0.27.7" - "@esbuild/win32-arm64": "npm:0.27.7" - "@esbuild/win32-ia32": "npm:0.27.7" - "@esbuild/win32-x64": "npm:0.27.7" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-arm64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-arm64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/openharmony-arm64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/ccd51f0555708bc9ff4ec9dc3ac92d3daacd45ecaac949ca8645984c5c323bf8cefe98c2df307418685e0b4ce37f9a3bdbfe8e3651fe632a0059a436195a17d4 - languageName: node - linkType: hard - "esbuild@npm:~0.28.0": version: 0.28.0 resolution: "esbuild@npm:0.28.0" @@ -19243,7 +19298,7 @@ __metadata: languageName: node linkType: hard -"lightningcss@npm:1.32.0": +"lightningcss@npm:1.32.0, lightningcss@npm:^1.32.0": version: 1.32.0 resolution: "lightningcss@npm:1.32.0" dependencies: @@ -19607,6 +19662,13 @@ __metadata: languageName: node linkType: hard +"long@npm:^5.0.0": + version: 5.3.2 + resolution: "long@npm:5.3.2" + checksum: 10c0/7130fe1cbce2dca06734b35b70d380ca3f70271c7f8852c922a7c62c86c4e35f0c39290565eca7133c625908d40e126ac57c02b1b1a4636b9457d77e1e60b981 + languageName: node + linkType: hard + "loose-envify@npm:^1.0.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -19753,7 +19815,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.0, magic-string@npm:^0.30.12, magic-string@npm:^0.30.17, magic-string@npm:^0.30.3": +"magic-string@npm:^0.30.0, magic-string@npm:^0.30.12, magic-string@npm:^0.30.17": version: 0.30.17 resolution: "magic-string@npm:0.30.17" dependencies: @@ -22309,7 +22371,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.5.6": +"postcss@npm:^8.5.15": version: 8.5.15 resolution: "postcss@npm:8.5.15" dependencies: @@ -22321,18 +22383,23 @@ __metadata: linkType: hard "posthog-js@npm:^1.257.0": - version: 1.384.0 - resolution: "posthog-js@npm:1.384.0" - dependencies: - "@posthog/core": "npm:1.31.0" - "@posthog/types": "npm:1.384.0" + version: 1.357.2 + resolution: "posthog-js@npm:1.357.2" + dependencies: + "@opentelemetry/api": "npm:^1.9.0" + "@opentelemetry/api-logs": "npm:^0.208.0" + "@opentelemetry/exporter-logs-otlp-http": "npm:^0.208.0" + "@opentelemetry/resources": "npm:^2.2.0" + "@opentelemetry/sdk-logs": "npm:^0.208.0" + "@posthog/core": "npm:1.23.2" + "@posthog/types": "npm:1.357.2" core-js: "npm:^3.38.1" - dompurify: "npm:^3.3.2" + dompurify: "npm:^3.3.1" fflate: "npm:^0.4.8" preact: "npm:^10.28.2" query-selector-shadow-dom: "npm:^1.0.1" web-vitals: "npm:^5.1.0" - checksum: 10c0/8ac3b7d3b0b44bb42b81b6045c112ecce0350e61458529b2f710c862f3f612aee6a9aeda77a30e2da374c6a0e93bd52e43663fdcd44ad74f907d95b573b7b7ca + checksum: 10c0/e6588ffff0eaea62017cb14bf87344a9035c814321bfa0daad85e0fbcc4a4b1a57739890fc6c2226854c29b1b72f56d81cb39b76db47ab8e52d89ea42ab5a644 languageName: node linkType: hard @@ -22502,6 +22569,26 @@ __metadata: languageName: node linkType: hard +"protobufjs@npm:^7.3.0": + version: 7.5.8 + resolution: "protobufjs@npm:7.5.8" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.2" + "@protobufjs/base64": "npm:^1.1.2" + "@protobufjs/codegen": "npm:^2.0.5" + "@protobufjs/eventemitter": "npm:^1.1.0" + "@protobufjs/fetch": "npm:^1.1.0" + "@protobufjs/float": "npm:^1.0.2" + "@protobufjs/inquire": "npm:^1.1.1" + "@protobufjs/path": "npm:^1.1.2" + "@protobufjs/pool": "npm:^1.1.0" + "@protobufjs/utf8": "npm:^1.1.1" + "@types/node": "npm:>=13.7.0" + long: "npm:^5.0.0" + checksum: 10c0/25968259084a634e035f865febd5a31f75bdaee4fda6fba4e14c57019024e7cada859b470eb69350f430fbd0d509c805249b9fe8a6c44a57a0b484a1ef685751 + languageName: node + linkType: hard + "proxy-compare@npm:2.6.0": version: 2.6.0 resolution: "proxy-compare@npm:2.6.0" @@ -22844,13 +22931,6 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.17.0": - version: 0.17.0 - resolution: "react-refresh@npm:0.17.0" - checksum: 10c0/002cba940384c9930008c0bce26cac97a9d5682bc623112c2268ba0c155127d9c178a9a5cc2212d560088d60dfd503edd808669a25f9b377f316a32361d0b23c - languageName: node - linkType: hard - "react-remove-scroll-bar@npm:^2.3.7": version: 2.3.8 resolution: "react-remove-scroll-bar@npm:2.3.8" @@ -23752,6 +23832,64 @@ __metadata: languageName: node linkType: hard +"rolldown@npm:1.0.3": + version: 1.0.3 + resolution: "rolldown@npm:1.0.3" + dependencies: + "@oxc-project/types": "npm:=0.133.0" + "@rolldown/binding-android-arm64": "npm:1.0.3" + "@rolldown/binding-darwin-arm64": "npm:1.0.3" + "@rolldown/binding-darwin-x64": "npm:1.0.3" + "@rolldown/binding-freebsd-x64": "npm:1.0.3" + "@rolldown/binding-linux-arm-gnueabihf": "npm:1.0.3" + "@rolldown/binding-linux-arm64-gnu": "npm:1.0.3" + "@rolldown/binding-linux-arm64-musl": "npm:1.0.3" + "@rolldown/binding-linux-ppc64-gnu": "npm:1.0.3" + "@rolldown/binding-linux-s390x-gnu": "npm:1.0.3" + "@rolldown/binding-linux-x64-gnu": "npm:1.0.3" + "@rolldown/binding-linux-x64-musl": "npm:1.0.3" + "@rolldown/binding-openharmony-arm64": "npm:1.0.3" + "@rolldown/binding-wasm32-wasi": "npm:1.0.3" + "@rolldown/binding-win32-arm64-msvc": "npm:1.0.3" + "@rolldown/binding-win32-x64-msvc": "npm:1.0.3" + "@rolldown/pluginutils": "npm:^1.0.0" + dependenciesMeta: + "@rolldown/binding-android-arm64": + optional: true + "@rolldown/binding-darwin-arm64": + optional: true + "@rolldown/binding-darwin-x64": + optional: true + "@rolldown/binding-freebsd-x64": + optional: true + "@rolldown/binding-linux-arm-gnueabihf": + optional: true + "@rolldown/binding-linux-arm64-gnu": + optional: true + "@rolldown/binding-linux-arm64-musl": + optional: true + "@rolldown/binding-linux-ppc64-gnu": + optional: true + "@rolldown/binding-linux-s390x-gnu": + optional: true + "@rolldown/binding-linux-x64-gnu": + optional: true + "@rolldown/binding-linux-x64-musl": + optional: true + "@rolldown/binding-openharmony-arm64": + optional: true + "@rolldown/binding-wasm32-wasi": + optional: true + "@rolldown/binding-win32-arm64-msvc": + optional: true + "@rolldown/binding-win32-x64-msvc": + optional: true + bin: + rolldown: ./bin/cli.mjs + checksum: 10c0/5f9dd47b7abf203b16bc600db68542f245e974c800e59ff50b76157d1dada1403657690435b036fabca88e93d13a67c31abe5cfaa6f61ce33717f61720204cdf + languageName: node + linkType: hard + "rollup-plugin-visualizer@npm:^6.0.1": version: 6.0.11 resolution: "rollup-plugin-visualizer@npm:6.0.11" @@ -23864,96 +24002,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^4.43.0": - version: 4.62.0 - resolution: "rollup@npm:4.62.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.62.0" - "@rollup/rollup-android-arm64": "npm:4.62.0" - "@rollup/rollup-darwin-arm64": "npm:4.62.0" - "@rollup/rollup-darwin-x64": "npm:4.62.0" - "@rollup/rollup-freebsd-arm64": "npm:4.62.0" - "@rollup/rollup-freebsd-x64": "npm:4.62.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.62.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.62.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.62.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.62.0" - "@rollup/rollup-linux-loong64-gnu": "npm:4.62.0" - "@rollup/rollup-linux-loong64-musl": "npm:4.62.0" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.62.0" - "@rollup/rollup-linux-ppc64-musl": "npm:4.62.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.62.0" - "@rollup/rollup-linux-riscv64-musl": "npm:4.62.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.62.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.62.0" - "@rollup/rollup-linux-x64-musl": "npm:4.62.0" - "@rollup/rollup-openbsd-x64": "npm:4.62.0" - "@rollup/rollup-openharmony-arm64": "npm:4.62.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.62.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.62.0" - "@rollup/rollup-win32-x64-gnu": "npm:4.62.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.62.0" - "@types/estree": "npm:1.0.9" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-freebsd-arm64": - optional: true - "@rollup/rollup-freebsd-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm-musleabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-loong64-gnu": - optional: true - "@rollup/rollup-linux-loong64-musl": - optional: true - "@rollup/rollup-linux-ppc64-gnu": - optional: true - "@rollup/rollup-linux-ppc64-musl": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-riscv64-musl": - optional: true - "@rollup/rollup-linux-s390x-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-openbsd-x64": - optional: true - "@rollup/rollup-openharmony-arm64": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-gnu": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10c0/0baa149f615152c0f86c44b237674cbac31d945ab721c257f73a844cc43d04a0f8613edbda4eaa2a376285286eac12e4f27060fc88a8f504f4ed235f6fc9b10f - languageName: node - linkType: hard - "rsvp@npm:^4.8.5": version: 4.8.5 resolution: "rsvp@npm:4.8.5" @@ -25538,6 +25586,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:^0.2.17": + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/7f7bb0f197c88bc4b20c231e0deca4240ca3bf313a88f5a7fee93a872b84966a4d50220947c0455ad07a60b3b360961c5b7fd979222aeb716a9f99b412002e4c + languageName: node + linkType: hard + "tinypool@npm:^1.1.1": version: 1.1.1 resolution: "tinypool@npm:1.1.1" @@ -26164,6 +26222,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~7.16.0": + version: 7.16.0 + resolution: "undici-types@npm:7.16.0" + checksum: 10c0/3033e2f2b5c9f1504bdc5934646cb54e37ecaca0f9249c983f7b1fc2e87c6d18399ebb05dc7fd5419e02b2e915f734d872a65da2e3eeed1813951c427d33cc9a + languageName: node + linkType: hard + "undici@npm:^5.14.0": version: 5.28.4 resolution: "undici@npm:5.28.4" @@ -26878,25 +26943,25 @@ __metadata: linkType: hard "vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0": - version: 7.3.5 - resolution: "vite@npm:7.3.5" + version: 6.4.2 + resolution: "vite@npm:6.4.2" dependencies: - esbuild: "npm:^0.27.0" - fdir: "npm:^6.5.0" + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" fsevents: "npm:~2.3.3" - picomatch: "npm:^4.0.3" - postcss: "npm:^8.5.6" - rollup: "npm:^4.43.0" - tinyglobby: "npm:^0.2.15" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.34.9" + tinyglobby: "npm:^0.2.13" peerDependencies: - "@types/node": ^20.19.0 || >=22.12.0 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 jiti: ">=1.21.0" - less: ^4.0.0 + less: "*" lightningcss: ^1.21.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: ">=0.54.8" - sugarss: ^5.0.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 @@ -26928,30 +26993,30 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/4ad700649ed2ebd1e726d32f3f6e41eecbec4e29bcb5977805f3d43a5659280518aa431b0fc61adc1879df4fe1978d7cfc7dbbe54cdf014022385052967721e8 + checksum: 10c0/9a62bb4259b4b11b9084c8dc5c25a21c9340d87d83de163d3643f15629d8ac3c2a3a4cda565f1a61e98afc9d78e9cb78eb25d1ae3c302e95d42d13ab61537267 languageName: node linkType: hard -"vite@npm:^6.2.5": - version: 6.4.3 - resolution: "vite@npm:6.4.3" +"vite@npm:^8.0.16": + version: 8.0.16 + resolution: "vite@npm:8.0.16" dependencies: - esbuild: "npm:^0.25.0" - fdir: "npm:^6.4.4" fsevents: "npm:~2.3.3" - picomatch: "npm:^4.0.2" - postcss: "npm:^8.5.3" - rollup: "npm:^4.34.9" - tinyglobby: "npm:^0.2.13" + lightningcss: "npm:^1.32.0" + picomatch: "npm:^4.0.4" + postcss: "npm:^8.5.15" + rolldown: "npm:1.0.3" + tinyglobby: "npm:^0.2.17" peerDependencies: - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@types/node": ^20.19.0 || >=22.12.0 + "@vitejs/devtools": ^0.1.18 + esbuild: ^0.27.0 || ^0.28.0 jiti: ">=1.21.0" - less: "*" - lightningcss: ^1.21.0 - sass: "*" - sass-embedded: "*" - stylus: "*" - sugarss: "*" + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 @@ -26961,12 +27026,14 @@ __metadata: peerDependenciesMeta: "@types/node": optional: true + "@vitejs/devtools": + optional: true + esbuild: + optional: true jiti: optional: true less: optional: true - lightningcss: - optional: true sass: optional: true sass-embedded: @@ -26983,7 +27050,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/23ce22e50d5c7a87321f04b155c5bc3cf915e34e6c40918975741ed5e8b0c257039a643f1bc1cd829ee814ad92a138704e82084b7ebe40b399a62d8effea630c + checksum: 10c0/d75be3fbe2f63e6a8145325970338afaf0dd4d96ba9175c13f9a286fd5f95afc489401b693e4fa6c0899a4dd0e137be91cdf9401a40a635563911ad5036e3467 languageName: node linkType: hard