From b14f093bcd6a96dc8e884db540100934d8a26cf7 Mon Sep 17 00:00:00 2001 From: Tal Derei <70081547+TalDerei@users.noreply.github.com> Date: Wed, 4 Sep 2024 09:49:35 -0700 Subject: [PATCH] sync: fresh and existing wallets skip trial decryption (#164) * onboarding metadata for quick sync * wallet birthday * linting * refactor to use zustand store for in-memory state management * proper error propogation to caller in order to display in ui * address more gabe's comments * change type to support undefined * ui formatting for wallet birthday * add changeset * [pairing] draft updates * combine zustand slices * [pairing] use react-query * controlled form * ui styling --------- Co-authored-by: Gabe Rodriguez --- .changeset/cuddly-worms-heal.md | 6 + apps/extension/package.json | 16 +- apps/extension/src/hooks/full-sync-height.ts | 24 +- .../src/hooks/latest-block-height.ts | 74 ++ apps/extension/src/hooks/onboarding.ts | 3 +- .../src/routes/page/onboarding/generate.tsx | 40 +- .../src/routes/page/onboarding/height.tsx | 62 ++ .../src/routes/page/onboarding/import.tsx | 2 +- .../src/routes/page/onboarding/routes.tsx | 5 + .../page/onboarding/set-grpc-endpoint.tsx | 1 - .../routes/page/onboarding/set-password.tsx | 6 +- apps/extension/src/routes/page/paths.ts | 1 + .../page/restore-password/set-password.tsx | 6 +- apps/extension/src/storage/local.ts | 1 + .../storage/migrations/local-v1-migration.ts | 1 + apps/extension/src/storage/types.ts | 1 + apps/extension/src/utils/test-constants.ts | 1 + apps/extension/src/wallet-services.ts | 4 + packages/context/package.json | 14 +- packages/context/src/index.ts | 17 +- .../copy-to-clipboard/copy-to-clipboard.tsx | 2 +- packages/ui/package.json | 6 +- pnpm-lock.yaml | 785 +++++++++--------- 23 files changed, 631 insertions(+), 447 deletions(-) create mode 100644 .changeset/cuddly-worms-heal.md create mode 100644 apps/extension/src/hooks/latest-block-height.ts create mode 100644 apps/extension/src/routes/page/onboarding/height.tsx diff --git a/.changeset/cuddly-worms-heal.md b/.changeset/cuddly-worms-heal.md new file mode 100644 index 00000000..f4e8fbb1 --- /dev/null +++ b/.changeset/cuddly-worms-heal.md @@ -0,0 +1,6 @@ +--- +'@repo/context': major +'chrome-extension': major +--- + +fresh and existing wallets skip trial decryption diff --git a/apps/extension/package.json b/apps/extension/package.json index 36c44d66..6ca65db9 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -19,19 +19,19 @@ "@connectrpc/connect-web": "^1.4.0", "@penumbra-labs/registry": "11.1.0", "@penumbra-zone/bech32m": "^7.0.0", - "@penumbra-zone/client": "^18.0.1", - "@penumbra-zone/crypto-web": "^22.0.0", + "@penumbra-zone/client": "^18.1.0", + "@penumbra-zone/crypto-web": "^23.0.0", "@penumbra-zone/getters": "^16.0.0", "@penumbra-zone/keys": "^4.2.1", - "@penumbra-zone/perspective": "^28.0.0", + "@penumbra-zone/perspective": "^29.0.0", "@penumbra-zone/protobuf": "^6.0.0", - "@penumbra-zone/query": "^29.0.0", - "@penumbra-zone/services": "^32.0.0", - "@penumbra-zone/storage": "^28.0.0", + "@penumbra-zone/query": "^30.0.0", + "@penumbra-zone/services": "^33.0.0", + "@penumbra-zone/storage": "^29.0.0", "@penumbra-zone/transport-chrome": "^8.0.1", "@penumbra-zone/transport-dom": "^7.5.0", - "@penumbra-zone/types": "^21.0.0", - "@penumbra-zone/wasm": "^26.2.0", + "@penumbra-zone/types": "^22.0.0", + "@penumbra-zone/wasm": "^27.0.0", "@radix-ui/react-icons": "^1.3.0", "@repo/context": "workspace:*", "@repo/ui": "workspace:*", diff --git a/apps/extension/src/hooks/full-sync-height.ts b/apps/extension/src/hooks/full-sync-height.ts index cf56f7cf..65e14808 100644 --- a/apps/extension/src/hooks/full-sync-height.ts +++ b/apps/extension/src/hooks/full-sync-height.ts @@ -1,11 +1,8 @@ -import { useQuery } from '@tanstack/react-query'; import { PopupLoaderData } from '../routes/popup/home'; import { useStore } from '../state'; import { networkSelector } from '../state/network'; import { useLoaderData } from 'react-router-dom'; -import { TendermintProxyService } from '@penumbra-zone/protobuf'; -import { createGrpcWebTransport } from '@connectrpc/connect-web'; -import { createPromiseClient } from '@connectrpc/connect'; +import { useLatestBlockHeight } from './latest-block-height'; const tryGetMax = (a?: number, b?: number): number | undefined => { // Height can be 0n which is falsy, so should compare to undefined state @@ -30,24 +27,7 @@ const useFullSyncHeight = (): number | undefined => { export const useSyncProgress = () => { const fullSyncHeight = useFullSyncHeight(); - const { grpcEndpoint } = useStore(networkSelector); - - const { data: queriedLatest, error } = useQuery({ - queryKey: ['latestBlockHeight'], - queryFn: async () => { - if (!grpcEndpoint) { - return; - } - const tendermintClient = createPromiseClient( - TendermintProxyService, - createGrpcWebTransport({ baseUrl: grpcEndpoint }), - ); - const blockHeight = (await tendermintClient.getStatus({}).catch(() => undefined))?.syncInfo - ?.latestBlockHeight; - return Number(blockHeight); - }, - enabled: Boolean(grpcEndpoint), - }); + const { data: queriedLatest, error } = useLatestBlockHeight(); // If we have a queried sync height and it's ahead of our block-height query, // use the sync value instead diff --git a/apps/extension/src/hooks/latest-block-height.ts b/apps/extension/src/hooks/latest-block-height.ts new file mode 100644 index 00000000..6dd35982 --- /dev/null +++ b/apps/extension/src/hooks/latest-block-height.ts @@ -0,0 +1,74 @@ +import { useQuery } from '@tanstack/react-query'; +import { sample } from 'lodash'; +import { createPromiseClient } from '@connectrpc/connect'; +import { createGrpcWebTransport } from '@connectrpc/connect-web'; +import { TendermintProxyService } from '@penumbra-zone/protobuf'; +import { ChainRegistryClient } from '@penumbra-labs/registry'; +import { useStore } from '../state'; +import { networkSelector } from '../state/network'; + +// Utility function to fetch the block height by randomly querying one of the RPC endpoints +// from the chain registry, using a recursive callback to try another endpoint if the current +// one fails. Additionally, this implements a timeout mechanism at the request level to avoid +// hanging from stalled requests. +const fetchBlockHeightWithFallback = async (endpoints: string[]): Promise => { + if (endpoints.length === 0) { + throw new Error('All RPC endpoints failed to fetch the block height.'); + } + + // Randomly select an RPC endpoint from the chain registry + const randomGrpcEndpoint = sample(endpoints); + if (!randomGrpcEndpoint) { + throw new Error('No RPC endpoints found.'); + } + + try { + return await fetchBlockHeight(randomGrpcEndpoint); + } catch (e) { + // Remove the current endpoint from the list and retry with remaining endpoints + const remainingEndpoints = endpoints.filter(endpoint => endpoint !== randomGrpcEndpoint); + return fetchBlockHeightWithFallback(remainingEndpoints); + } +}; + +// Fetch the block height from a specific RPC endpoint with a timeout to prevent hanging requests. +export const fetchBlockHeight = async (grpcEndpoint: string): Promise => { + const tendermintClient = createPromiseClient( + TendermintProxyService, + createGrpcWebTransport({ baseUrl: grpcEndpoint, defaultTimeoutMs: 2000 }), + ); + + const result = await tendermintClient.getStatus({}); + if (!result.syncInfo) { + throw new Error('No syncInfo in getStatus result'); + } + return Number(result.syncInfo.latestBlockHeight); +}; + +export const useLatestBlockHeightWithFallback = () => { + return useQuery({ + queryKey: ['latestBlockHeightWithFallback'], + queryFn: async () => { + const chainRegistryClient = new ChainRegistryClient(); + const { rpcs } = chainRegistryClient.bundled.globals(); + const suggestedEndpoints = rpcs.map(i => i.url); + return await fetchBlockHeightWithFallback(suggestedEndpoints); + }, + retry: false, + }); +}; + +export const useLatestBlockHeight = () => { + const { grpcEndpoint } = useStore(networkSelector); + + return useQuery({ + queryKey: ['latestBlockHeight'], + queryFn: async () => { + if (!grpcEndpoint) { + return; + } + return await fetchBlockHeight(grpcEndpoint); + }, + enabled: Boolean(grpcEndpoint), + }); +}; diff --git a/apps/extension/src/hooks/onboarding.ts b/apps/extension/src/hooks/onboarding.ts index 1308d7e0..6f5e3fee 100644 --- a/apps/extension/src/hooks/onboarding.ts +++ b/apps/extension/src/hooks/onboarding.ts @@ -6,7 +6,7 @@ import { walletsSelector } from '../state/wallets'; // Saves hashed password, uses that hash to encrypt the seed phrase // and then saves that to session + local storage -export const useOnboardingSave = () => { +export const useAddWallet = () => { const { setPassword } = useStore(passwordSelector); const { phrase: generatedPhrase } = useStore(generateSelector); const { phrase: importedPhrase } = useStore(importSelector); @@ -16,7 +16,6 @@ export const useOnboardingSave = () => { // Determine which routes it came through to get here const seedPhrase = generatedPhrase.length ? generatedPhrase : importedPhrase; await setPassword(plaintextPassword); - await addWallet({ label: 'Wallet #1', seedPhrase }); }; }; diff --git a/apps/extension/src/routes/page/onboarding/generate.tsx b/apps/extension/src/routes/page/onboarding/generate.tsx index 1be81121..389a5902 100644 --- a/apps/extension/src/routes/page/onboarding/generate.tsx +++ b/apps/extension/src/routes/page/onboarding/generate.tsx @@ -14,6 +14,8 @@ import { generateSelector } from '../../../state/seed-phrase/generate'; import { usePageNav } from '../../../utils/navigate'; import { PagePath } from '../paths'; import { WordLengthToogles } from '../../../shared/containers/word-length-toogles'; +import { useLatestBlockHeightWithFallback } from '../../../hooks/latest-block-height'; +import { localExtStorage } from '../../../storage/local'; export const GenerateSeedPhrase = () => { const navigate = usePageNav(); @@ -21,7 +23,14 @@ export const GenerateSeedPhrase = () => { const [count, { startCountdown }] = useCountdown({ countStart: 3 }); const [reveal, setReveal] = useState(false); - // On render, generate a new seed phrase + const { data: latestBlockHeight, isLoading, error } = useLatestBlockHeightWithFallback(); + + const onSubmit = async () => { + await localExtStorage.set('walletCreationBlockHeight', latestBlockHeight); + navigate(PagePath.CONFIRM_BACKUP); + }; + + // On render, asynchronously generate a new seed phrase and initialize the wallet creation block height useEffect(() => { if (!phrase.length) { generateRandomSeedPhrase(SeedPhraseLength.TWELVE_WORDS); @@ -60,6 +69,32 @@ export const GenerateSeedPhrase = () => { isSuccessCopyText /> + + {reveal && ( +
+

Wallet Birthday

+

+ + {Boolean(error) && {String(error)}} + {isLoading && 'Loading...'} + {latestBlockHeight && Number(latestBlockHeight)} + +

+

+ This is the block height at the time your wallet was created. Please save the block + height along with your recovery passphrase. It's not required, but will help + you restore your wallet quicker on a fresh Prax install next time. +

+ Copy to clipboard} + className='m-auto mt-4 w-48' + isSuccessCopyText + /> +
+ )} +

@@ -80,11 +115,12 @@ export const GenerateSeedPhrase = () => {

+ {reveal ? ( + + + + + ); +}; diff --git a/apps/extension/src/routes/page/onboarding/import.tsx b/apps/extension/src/routes/page/onboarding/import.tsx index 6e72de95..29d7ebf5 100644 --- a/apps/extension/src/routes/page/onboarding/import.tsx +++ b/apps/extension/src/routes/page/onboarding/import.tsx @@ -22,7 +22,7 @@ export const ImportSeedPhrase = () => { const handleSubmit = (event: MouseEvent | FormEvent) => { event.preventDefault(); - navigate(PagePath.SET_PASSWORD); + navigate(PagePath.IMPORT_WALLET_CREATION_HEIGHT); }; return ( diff --git a/apps/extension/src/routes/page/onboarding/routes.tsx b/apps/extension/src/routes/page/onboarding/routes.tsx index 05d1726b..f4bf9b2c 100644 --- a/apps/extension/src/routes/page/onboarding/routes.tsx +++ b/apps/extension/src/routes/page/onboarding/routes.tsx @@ -9,6 +9,7 @@ import { pageIndexLoader } from '..'; import { SetGrpcEndpoint } from './set-grpc-endpoint'; import { SetDefaultFrontendPage } from './default-frontend'; import { SetNumerairesPage } from './set-numeraire'; +import { ImportWalletCreationHeight } from './height'; export const onboardingRoutes = [ { @@ -27,6 +28,10 @@ export const onboardingRoutes = [ path: PagePath.IMPORT_SEED_PHRASE, element: , }, + { + path: PagePath.IMPORT_WALLET_CREATION_HEIGHT, + element: , + }, { path: PagePath.SET_PASSWORD, element: , diff --git a/apps/extension/src/routes/page/onboarding/set-grpc-endpoint.tsx b/apps/extension/src/routes/page/onboarding/set-grpc-endpoint.tsx index fc7d400f..61f6ba36 100644 --- a/apps/extension/src/routes/page/onboarding/set-grpc-endpoint.tsx +++ b/apps/extension/src/routes/page/onboarding/set-grpc-endpoint.tsx @@ -16,7 +16,6 @@ export const SetGrpcEndpoint = () => { Select your preferred RPC endpoint - The requests you make may reveal your intentions about transactions you wish to make, so select an RPC node that you trust. If you're unsure which one to choose, leave this diff --git a/apps/extension/src/routes/page/onboarding/set-password.tsx b/apps/extension/src/routes/page/onboarding/set-password.tsx index 8676070a..63562c91 100644 --- a/apps/extension/src/routes/page/onboarding/set-password.tsx +++ b/apps/extension/src/routes/page/onboarding/set-password.tsx @@ -9,14 +9,14 @@ import { CardTitle, } from '@repo/ui/components/ui/card'; import { FadeTransition } from '@repo/ui/components/ui/fade-transition'; -import { useOnboardingSave } from '../../../hooks/onboarding'; +import { useAddWallet } from '../../../hooks/onboarding'; import { usePageNav } from '../../../utils/navigate'; import { PagePath } from '../paths'; import { PasswordInput } from '../../../shared/components/password-input'; export const SetPassword = () => { const navigate = usePageNav(); - const onboardingSave = useOnboardingSave(); + const addWallet = useAddWallet(); const [password, setPassword] = useState(''); const [confirmation, setConfirmation] = useState(''); @@ -24,7 +24,7 @@ export const SetPassword = () => { event.preventDefault(); void (async () => { - await onboardingSave(password); + await addWallet(password); navigate(PagePath.SET_GRPC_ENDPOINT); })(); }; diff --git a/apps/extension/src/routes/page/paths.ts b/apps/extension/src/routes/page/paths.ts index a501389c..d6bfe892 100644 --- a/apps/extension/src/routes/page/paths.ts +++ b/apps/extension/src/routes/page/paths.ts @@ -4,6 +4,7 @@ export enum PagePath { GENERATE_SEED_PHRASE = '/welcome/generate', CONFIRM_BACKUP = '/welcome/confirm-backup', IMPORT_SEED_PHRASE = '/welcome/import', + IMPORT_WALLET_CREATION_HEIGHT = '/welcome/set-wallet-creation-height', ONBOARDING_SUCCESS = '/welcome/success', SET_PASSWORD = '/welcome/set-password', SET_GRPC_ENDPOINT = '/welcome/set-grpc-endpoint', diff --git a/apps/extension/src/routes/page/restore-password/set-password.tsx b/apps/extension/src/routes/page/restore-password/set-password.tsx index 6c47762a..01d3ef3c 100644 --- a/apps/extension/src/routes/page/restore-password/set-password.tsx +++ b/apps/extension/src/routes/page/restore-password/set-password.tsx @@ -9,21 +9,21 @@ import { CardTitle, } from '@repo/ui/components/ui/card'; import { FadeTransition } from '@repo/ui/components/ui/fade-transition'; -import { useOnboardingSave } from '../../../hooks/onboarding'; +import { useAddWallet } from '../../../hooks/onboarding'; import { usePageNav } from '../../../utils/navigate'; import { PagePath } from '../paths'; import { PasswordInput } from '../../../shared/components/password-input'; export const SetPassword = () => { const navigate = usePageNav(); - const finalOnboardingSave = useOnboardingSave(); + const addWallet = useAddWallet(); const [password, setPassword] = useState(''); const [confirmation, setConfirmation] = useState(''); const handleSubmit = (event: FormEvent) => { event.preventDefault(); void (async function () { - await finalOnboardingSave(password); + await addWallet(password); navigate(PagePath.ONBOARDING_SUCCESS); })(); }; diff --git a/apps/extension/src/storage/local.ts b/apps/extension/src/storage/local.ts index a0cd0753..fd0e888d 100644 --- a/apps/extension/src/storage/local.ts +++ b/apps/extension/src/storage/local.ts @@ -11,6 +11,7 @@ export const localDefaults: ExtensionStorageDefaults = { passwordKeyPrint: undefined, frontendUrl: undefined, numeraires: [], + walletCreationBlockHeight: undefined, }; // Meant to be used for long-term persisted data. It is cleared when the extension is removed. diff --git a/apps/extension/src/storage/migrations/local-v1-migration.ts b/apps/extension/src/storage/migrations/local-v1-migration.ts index bad9ad9b..8d0bf6cc 100644 --- a/apps/extension/src/storage/migrations/local-v1-migration.ts +++ b/apps/extension/src/storage/migrations/local-v1-migration.ts @@ -49,6 +49,7 @@ export const localV0Migration: MigrationFn | undefined; numeraires: Stringified[]; + walletCreationBlockHeight: number | undefined; } diff --git a/apps/extension/src/utils/test-constants.ts b/apps/extension/src/utils/test-constants.ts index 11858f10..1d54d63d 100644 --- a/apps/extension/src/utils/test-constants.ts +++ b/apps/extension/src/utils/test-constants.ts @@ -13,4 +13,5 @@ export const localTestDefaults: LocalStorageState = { passwordKeyPrint: undefined, frontendUrl: EXAMPLE_MINIFRONT_URL, numeraires: [], + walletCreationBlockHeight: 0, }; diff --git a/apps/extension/src/wallet-services.ts b/apps/extension/src/wallet-services.ts index 35184b5d..affb8729 100644 --- a/apps/extension/src/wallet-services.ts +++ b/apps/extension/src/wallet-services.ts @@ -16,12 +16,16 @@ export const startWalletServices = async () => { const grpcEndpoint = await onboardGrpcEndpoint(); const numeraires = await localExtStorage.get('numeraires'); + // Retrieve the wallet creation height flag from storage + const walletCreationBlockHeight = await localExtStorage.get('walletCreationBlockHeight'); + const services = new Services({ grpcEndpoint, chainId: await getChainId(grpcEndpoint), walletId: WalletId.fromJsonString(wallet.id), fullViewingKey: FullViewingKey.fromJsonString(wallet.fullViewingKey), numeraires: numeraires.map(n => AssetId.fromJsonString(n)), + walletCreationBlockHeight, }); const { blockProcessor, indexedDb } = await services.getWalletServices(); diff --git a/packages/context/package.json b/packages/context/package.json index 7c5449e3..5c41ae67 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -19,18 +19,18 @@ "@bufbuild/protobuf": "^1.10.0", "@penumbra-labs/registry": "11.1.0", "@penumbra-zone/bech32m": "^7.0.0", - "@penumbra-zone/crypto-web": "^22.0.0", + "@penumbra-zone/crypto-web": "^23.0.0", "@penumbra-zone/getters": "^16.0.0", "@penumbra-zone/keys": "^4.2.1", - "@penumbra-zone/perspective": "^28.0.0", + "@penumbra-zone/perspective": "^29.0.0", "@penumbra-zone/protobuf": "^6.0.0", - "@penumbra-zone/query": "^29.0.0", - "@penumbra-zone/services": "^32.0.0", - "@penumbra-zone/storage": "^28.0.0", + "@penumbra-zone/query": "^30.0.0", + "@penumbra-zone/services": "^33.0.0", + "@penumbra-zone/storage": "^29.0.0", "@penumbra-zone/transport-chrome": "^8.0.1", "@penumbra-zone/transport-dom": "^7.5.0", - "@penumbra-zone/types": "^21.0.0", - "@penumbra-zone/wasm": "^26.2.0", + "@penumbra-zone/types": "^22.0.0", + "@penumbra-zone/wasm": "^27.0.0", "exponential-backoff": "^3.1.1" } } diff --git a/packages/context/src/index.ts b/packages/context/src/index.ts index 4d1825b7..9cedfb5c 100644 --- a/packages/context/src/index.ts +++ b/packages/context/src/index.ts @@ -15,6 +15,7 @@ export interface ServicesConfig { readonly walletId: WalletId; readonly fullViewingKey: FullViewingKey; readonly numeraires: AssetId[]; + readonly walletCreationBlockHeight: number | undefined; } export class Services implements ServicesInterface { @@ -28,12 +29,12 @@ export class Services implements ServicesInterface { public async getWalletServices(): Promise { if (!this.walletServicesPromise) { this.walletServicesPromise = this.initializeWalletServices().catch((e: unknown) => { - // If promise rejected, reset promise to `undefined` so next caller can - // try again + // If promise rejected, reset promise to `undefined` so next caller can try again. this.walletServicesPromise = undefined; throw e; }); } + void this.walletServicesPromise.then(({ blockProcessor }) => blockProcessor.sync()); return this.walletServicesPromise; } @@ -83,7 +84,14 @@ export class Services implements ServicesInterface { } private async initializeWalletServices(): Promise { - const { chainId, grpcEndpoint, walletId, fullViewingKey, numeraires } = this.config; + const { + chainId, + grpcEndpoint, + walletId, + fullViewingKey, + numeraires, + walletCreationBlockHeight, + } = this.config; const querier = new RootQuerier({ grpcEndpoint }); const registryClient = new ChainRegistryClient(); const indexedDb = await IndexedDb.initialize({ @@ -117,7 +125,8 @@ export class Services implements ServicesInterface { querier, indexedDb, stakingAssetId: registryClient.bundled.globals().stakingAssetId, - numeraires: numeraires, + numeraires, + walletCreationBlockHeight, }); return { viewServer, blockProcessor, indexedDb, querier }; diff --git a/packages/ui/components/ui/copy-to-clipboard/copy-to-clipboard.tsx b/packages/ui/components/ui/copy-to-clipboard/copy-to-clipboard.tsx index b0c8524b..ed505c05 100644 --- a/packages/ui/components/ui/copy-to-clipboard/copy-to-clipboard.tsx +++ b/packages/ui/components/ui/copy-to-clipboard/copy-to-clipboard.tsx @@ -21,7 +21,7 @@ const CopyToClipboard = React.forwardRef=16' react: '>=16' - '@mui/core-downloads-tracker@6.0.0': - resolution: {integrity: sha512-x5qg4ndVmSY5jzp1AgSQSh/iI3H3oN30JwSQAKCIopH6iHGyqEzLx5/gZVbpWzlzt5xoeX8eubqPzEiUo8ClYg==} + '@mui/core-downloads-tracker@6.0.2': + resolution: {integrity: sha512-Cg68oOlAfbJgMgvbCwcX3Y3HdygCl6X1nREYTdEWcEKUQhNarrC45Cc35mP+zA7p3ZXE/7FLiaTCCgwuSoef/Q==} - '@mui/material@6.0.0': - resolution: {integrity: sha512-pU8L/bvoK3bBYM0MUCr8EHgdFbYwB3LIZ1yr1FWI2dZBA/751oy2qr7UgMnZznGCq+C9pTp1EOugF9FhW0G6xg==} + '@mui/material@6.0.2': + resolution: {integrity: sha512-KrnkJFSyhsAh8V30DNUbWyRyxMi4ZHjFg1ikQGx+mUAIffFTYIEx9Q+Kxd3vCT0FUFGOmbsuh6F6yRhpybsjkg==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@mui/material-pigment-css': ^6.0.0 + '@mui/material-pigment-css': ^6.0.2 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1949,8 +1949,8 @@ packages: '@types/react': optional: true - '@mui/private-theming@6.0.0': - resolution: {integrity: sha512-GaURgp4wl/E4X/v2wF7joYYR8Skzf+LBtBHi/Vb6FlwrMGiZGW9gatPPpK89aB64NZ25UPwPsXupWPoOdbmSMg==} + '@mui/private-theming@6.0.2': + resolution: {integrity: sha512-emddFcRhA0hPGVIwIbW5g0V8vtCgw2g/H/A7jTdGe7dpCWEPpp6jPIXRRKcEUWgmg91R6rBNfV+LFHxBxmZXOQ==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -1959,8 +1959,8 @@ packages: '@types/react': optional: true - '@mui/styled-engine@6.0.0': - resolution: {integrity: sha512-V/i+XixLUzulE1tSwlf9iJXipuD1J9XBV1Z1Yezfc0p42wAvoB9dIJImfUNMjvAsjdgw1CoRoebROQlLLy8HsQ==} + '@mui/styled-engine@6.0.2': + resolution: {integrity: sha512-qd3Vlhted0SYVGotnCfVNcxff7vW2WN0fclbAexff60NeNS1qs/H/CImHEHUBiUGeNWMPRochbN6VF1arQ7/jA==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -1972,8 +1972,8 @@ packages: '@emotion/styled': optional: true - '@mui/system@6.0.0': - resolution: {integrity: sha512-Y1Luj5aApIN+FnrdZTwd/UvL3QC53nHHweaWco27vO9WLC/s/bLYFR6sO9hdib2wIGLr3WCQJGUafeGpz5OWzw==} + '@mui/system@6.0.2': + resolution: {integrity: sha512-AZv1/C4PuHgWFTA8YraIzl3FTVLdRz0RIMRwEADWZBdIhnuTHS/4+r8qE9+3CcpTHg1WsEu8btaO3AhQahSM9A==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1996,8 +1996,8 @@ packages: '@types/react': optional: true - '@mui/utils@6.0.0': - resolution: {integrity: sha512-6MlZc3Kv/KctTkq6EQyi5p1UKtJpBxcmTyqxM3HucbdhAZuUMRTYYipLVQRqvDqiUisqQcev3QDFKx1b7DMCwg==} + '@mui/utils@6.0.2': + resolution: {integrity: sha512-TeFrYsxcmeoDSlkoPhX+LjIuuqC5Pyj+xz2kRceKCkUpwMNTEeVOfowXDPe+mboZwmpJ5ZxP4eiAgQMdeEasjg==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -2006,9 +2006,9 @@ packages: '@types/react': optional: true - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -2046,18 +2046,18 @@ packages: peerDependencies: '@penumbra-zone/protobuf': 6.0.0 - '@penumbra-zone/client@18.0.1': - resolution: {integrity: sha512-As/UhrW/sRKUsV4mJMAhUzBIcIdoBmQ058hiniSG9NQ2Ja9/1Uug4fg1HPiMmy3Gw9uPD7E4j+yeSJIiHRJFPw==} + '@penumbra-zone/client@18.1.0': + resolution: {integrity: sha512-khXFquqIpDmXUCwQpP6RfYQnkNI4ekDqz+SP/XCo+7W1xHKJiApXnHDKBA/VsOZ1Q/qGak/R1xfq6z9aV58xSA==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@connectrpc/connect': ^1.4.0 '@penumbra-zone/protobuf': 6.0.0 '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/crypto-web@22.0.0': - resolution: {integrity: sha512-4gbgzsfqO6tN4/LkefIAaLsGoVebD5DQHEybdxAxXBLniuizewr/8ceSpDZVY8sFpbU2l7dfNfQt4mTE2F8jew==} + '@penumbra-zone/crypto-web@23.0.0': + resolution: {integrity: sha512-JLDIOHJE4B7gPOAIPbCT2DxF5srUq4AW95hllvMADsO2iwovh54OFXSuFbLZfvaJrLs84boVT10R/27QlTdG0A==} peerDependencies: - '@penumbra-zone/types': 21.0.0 + '@penumbra-zone/types': 22.0.0 '@penumbra-zone/getters@16.0.0': resolution: {integrity: sha512-c4saUCIooXKDIdl3UmXAtIspxkt/K1vZNyXRLwUyB0B0EfXj7qILlDbz2csOewU8SSKFIuzaBscIeJykOEHKXg==} @@ -2070,55 +2070,55 @@ packages: resolution: {integrity: sha512-1K+/8bh53Kse4u/I1afUQuRrTnZhLLA6JWIV+mFiXX8An2J2CGIVDjp1mSJkUSzFjFDUzUX052kvYHCtZYK3QA==} hasBin: true - '@penumbra-zone/perspective@28.0.0': - resolution: {integrity: sha512-HfRR/8ap+/asSGwIFHHkScj9gnFmFQh6puGVhAeALCXa2lv/nMe9NIM1LFf1M+621NO5B5TWugXOKSl4yBcpzA==} + '@penumbra-zone/perspective@29.0.0': + resolution: {integrity: sha512-9nzixSJqbaPQvwYGhANr+kCgpqwakcsz+Amp/l2CJwjW9m/dGa79O6wA8Qp3ZKgHhXy+b51+PU/Tsdaosv3Rug==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@penumbra-zone/bech32m': 7.0.0 '@penumbra-zone/getters': 16.0.0 '@penumbra-zone/protobuf': 6.0.0 - '@penumbra-zone/wasm': 26.2.0 + '@penumbra-zone/wasm': 27.0.0 '@penumbra-zone/protobuf@6.0.0': resolution: {integrity: sha512-x+g2plwEnYwzB692oAIzA9yzqcbsJt1f1lYmPNJpWOqNA9wC3OPDOfzQa7rgP4v6+KNd5IbRfRNyGPd/6zxYNg==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 - '@penumbra-zone/query@29.0.0': - resolution: {integrity: sha512-qgBeV/JR0IvrJROarbQQrXMxSjZRyPINfWR8G8+WzJdMskTazJgSbATso3DAkQHg7PwqAXdCPLchTqUwnS0vgA==} + '@penumbra-zone/query@30.0.0': + resolution: {integrity: sha512-rr+xAlOk49ORWWsTsVnynIXkk/HGz9O4myOOIdWqH1YpEcHu6AHjwPJl5mq/B5uptopyPgwS7uW4qIt8CCCJtA==} peerDependencies: '@penumbra-zone/bech32m': 7.0.0 - '@penumbra-zone/crypto-web': 22.0.0 + '@penumbra-zone/crypto-web': 23.0.0 '@penumbra-zone/getters': 16.0.0 '@penumbra-zone/protobuf': 6.0.0 - '@penumbra-zone/types': 21.0.0 - '@penumbra-zone/wasm': 26.2.0 + '@penumbra-zone/types': 22.0.0 + '@penumbra-zone/wasm': 27.0.0 - '@penumbra-zone/services@32.0.0': - resolution: {integrity: sha512-dONqQcAAqexFXthiKHSendu1MDa4ZjtLZVakL5OmjXFs4vXpPpYNG3CCecEun/EzAs4jeGeaeWER9JtqPhH0Xg==} + '@penumbra-zone/services@33.0.0': + resolution: {integrity: sha512-HFIh0rw/mqLSgPFtyYPVreizg/wO+eIsoNQYSdb2RSiKRlCkBEogpTXytrzTw10XHSLXbsZrJR7ReTeJBGp5ZA==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@connectrpc/connect': ^1.4.0 '@penumbra-zone/bech32m': 7.0.0 - '@penumbra-zone/crypto-web': 22.0.0 + '@penumbra-zone/crypto-web': 23.0.0 '@penumbra-zone/getters': 16.0.0 '@penumbra-zone/protobuf': 6.0.0 - '@penumbra-zone/query': 29.0.0 - '@penumbra-zone/storage': 28.0.0 + '@penumbra-zone/query': 30.0.0 + '@penumbra-zone/storage': 29.0.0 '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/types': 21.0.0 - '@penumbra-zone/wasm': 26.2.0 + '@penumbra-zone/types': 22.0.0 + '@penumbra-zone/wasm': 27.0.0 - '@penumbra-zone/storage@28.0.0': - resolution: {integrity: sha512-zausWRlhmVpE5mxPBFj61zG1bzlHHcT0LYzXwOnbeYhkZfbIOCYo7oPvNY6KqPdrqYrOQZPcIeQSEdUrelLuxA==} + '@penumbra-zone/storage@29.0.0': + resolution: {integrity: sha512-m11GuRFMl7b8BV/L64tkjIbecTaOmEAIrTHfmpZKyQXdyw7povVbIegBw/PXAqxH9Gf0BAwLL+lBvRA9/JHcKA==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@penumbra-labs/registry': 11.1.0 '@penumbra-zone/bech32m': 7.0.0 '@penumbra-zone/getters': 16.0.0 '@penumbra-zone/protobuf': 6.0.0 - '@penumbra-zone/types': 21.0.0 - '@penumbra-zone/wasm': 26.2.0 + '@penumbra-zone/types': 22.0.0 + '@penumbra-zone/wasm': 27.0.0 '@penumbra-zone/transport-chrome@8.0.1': resolution: {integrity: sha512-Bk5/6N60hkeDwtx/ebP5u5DgZWNdRh6FQHgOXNP93FJjg4oobNOkjdoH0Gdqevj+sawGnyXFCyC6WeHB6D2LTA==} @@ -2130,21 +2130,21 @@ packages: '@penumbra-zone/transport-dom@7.5.0': resolution: {integrity: sha512-8xFIEDeXODl18AITfiIrJJoE8Y6y/+apO+BhrqCmXP+yqGo8LBzcW3iWDQkOc6Go2c1MGJT97B25r079Km1kuA==} - '@penumbra-zone/types@21.0.0': - resolution: {integrity: sha512-ViEebo+S+NgMolu8la8/uxbh+pScVgzGJ82lqCt/bdimD+UGgIrw/b6tPamKXTAjS9eW2YEqT6UT+67alFEPpw==} + '@penumbra-zone/types@22.0.0': + resolution: {integrity: sha512-cl0OTcGXJehkL1B18HTVMXY+aqZ6pIfD12DhP9kAi8xkOiIbjNwu48NHzs2BXospnTMaiW8aqdpBRy6nCJCF0A==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@penumbra-zone/bech32m': 7.0.0 '@penumbra-zone/getters': 16.0.0 '@penumbra-zone/protobuf': 6.0.0 - '@penumbra-zone/wasm@26.2.0': - resolution: {integrity: sha512-WimfNxVe9NXJMJnvoEyxSbOixW8x8YIcrIiXmaMBPPrkC3p8Bq3UzJqgg8FBtDEycU8oVOehs9MN3lLVMbgagQ==} + '@penumbra-zone/wasm@27.0.0': + resolution: {integrity: sha512-+ttIMQeOUbFSx4IC7LnHGixwGoV3F4gvNo7sHqR60T2DL3rWpBiSsTm9BFBfSmKLnOdAgkfr+2/uGFJvibaVnw==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@penumbra-zone/bech32m': 7.0.0 '@penumbra-zone/protobuf': 6.0.0 - '@penumbra-zone/types': 21.0.0 + '@penumbra-zone/types': 22.0.0 '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -2883,8 +2883,8 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.21.1': - resolution: {integrity: sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==} + '@rollup/rollup-android-arm-eabi@4.21.2': + resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} cpu: [arm] os: [android] @@ -2893,8 +2893,8 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.21.1': - resolution: {integrity: sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==} + '@rollup/rollup-android-arm64@4.21.2': + resolution: {integrity: sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==} cpu: [arm64] os: [android] @@ -2903,8 +2903,8 @@ packages: cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.21.1': - resolution: {integrity: sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==} + '@rollup/rollup-darwin-arm64@4.21.2': + resolution: {integrity: sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==} cpu: [arm64] os: [darwin] @@ -2913,8 +2913,8 @@ packages: cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.1': - resolution: {integrity: sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==} + '@rollup/rollup-darwin-x64@4.21.2': + resolution: {integrity: sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==} cpu: [x64] os: [darwin] @@ -2923,8 +2923,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.21.1': - resolution: {integrity: sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': + resolution: {integrity: sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==} cpu: [arm] os: [linux] @@ -2933,8 +2933,8 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.1': - resolution: {integrity: sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==} + '@rollup/rollup-linux-arm-musleabihf@4.21.2': + resolution: {integrity: sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==} cpu: [arm] os: [linux] @@ -2943,8 +2943,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.1': - resolution: {integrity: sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==} + '@rollup/rollup-linux-arm64-gnu@4.21.2': + resolution: {integrity: sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==} cpu: [arm64] os: [linux] @@ -2953,8 +2953,8 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.1': - resolution: {integrity: sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==} + '@rollup/rollup-linux-arm64-musl@4.21.2': + resolution: {integrity: sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==} cpu: [arm64] os: [linux] @@ -2963,8 +2963,8 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': - resolution: {integrity: sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==} + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': + resolution: {integrity: sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==} cpu: [ppc64] os: [linux] @@ -2973,8 +2973,8 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.1': - resolution: {integrity: sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==} + '@rollup/rollup-linux-riscv64-gnu@4.21.2': + resolution: {integrity: sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==} cpu: [riscv64] os: [linux] @@ -2983,8 +2983,8 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.1': - resolution: {integrity: sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==} + '@rollup/rollup-linux-s390x-gnu@4.21.2': + resolution: {integrity: sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==} cpu: [s390x] os: [linux] @@ -2993,8 +2993,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.1': - resolution: {integrity: sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==} + '@rollup/rollup-linux-x64-gnu@4.21.2': + resolution: {integrity: sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==} cpu: [x64] os: [linux] @@ -3003,8 +3003,8 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.1': - resolution: {integrity: sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==} + '@rollup/rollup-linux-x64-musl@4.21.2': + resolution: {integrity: sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==} cpu: [x64] os: [linux] @@ -3013,8 +3013,8 @@ packages: cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.21.1': - resolution: {integrity: sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==} + '@rollup/rollup-win32-arm64-msvc@4.21.2': + resolution: {integrity: sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==} cpu: [arm64] os: [win32] @@ -3023,8 +3023,8 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.1': - resolution: {integrity: sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==} + '@rollup/rollup-win32-ia32-msvc@4.21.2': + resolution: {integrity: sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==} cpu: [ia32] os: [win32] @@ -3033,8 +3033,8 @@ packages: cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.1': - resolution: {integrity: sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==} + '@rollup/rollup-win32-x64-msvc@4.21.2': + resolution: {integrity: sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==} cpu: [x64] os: [win32] @@ -3286,8 +3286,8 @@ packages: '@storybook/types@8.1.1': resolution: {integrity: sha512-QSQ63aKr2IXrGjX2/Fg1oiGWk+2Nuf+TplaHRC2NKBMgvyn+M0BHUgMTDHQVrFaH4bpl2PkE0r0tzOKP4JI43A==} - '@swc/core-darwin-arm64@1.7.21': - resolution: {integrity: sha512-hh5uOZ7jWF66z2TRMhhXtWMQkssuPCSIZPy9VHf5KvZ46cX+5UeECDthchYklEVZQyy4Qr6oxfh4qff/5spoMA==} + '@swc/core-darwin-arm64@1.7.23': + resolution: {integrity: sha512-yyOHPfti6yKlQulfVWMt7BVKst+SyEZYCWuQSGMn1KgmNCH/bYufRWfQXIhkGSj44ZkEepJmsJ8tDyIb4k5WyA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] @@ -3298,8 +3298,8 @@ packages: cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.7.21': - resolution: {integrity: sha512-lTsPquqSierQ6jWiWM7NnYXXZGk9zx3NGkPLHjPbcH5BmyiauX0CC/YJYJx7YmS2InRLyALlGmidHkaF4JY28A==} + '@swc/core-darwin-x64@1.7.23': + resolution: {integrity: sha512-GzqHwQ0Y1VyjdI/bBKFX2GKm5HD3PIB6OhuAQtWZMTtEr2yIrlT0YK2T+XKh7oIg31JwxGBeQdBk3KTI7DARmQ==} engines: {node: '>=10'} cpu: [x64] os: [darwin] @@ -3310,8 +3310,8 @@ packages: cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.7.21': - resolution: {integrity: sha512-AgSd0fnSzAqCvWpzzZCq75z62JVGUkkXEOpfdi99jj/tryPy38KdXJtkVWJmufPXlRHokGTBitalk33WDJwsbA==} + '@swc/core-linux-arm-gnueabihf@1.7.23': + resolution: {integrity: sha512-qwX4gB41OS6/OZkHcpTqLFGsdmvoZyffnJIlgB/kZKwH3lfeJWzv6vx57zXtNpM/t7GoQEe0VZUVdmNjxSxBZw==} engines: {node: '>=10'} cpu: [arm] os: [linux] @@ -3322,8 +3322,8 @@ packages: cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.7.21': - resolution: {integrity: sha512-l+jw6RQ4Y43/8dIst0c73uQE+W3kCWrCFqMqC/xIuE/iqHOnvYK6YbA1ffOct2dImkHzNiKuoehGqtQAc6cNaQ==} + '@swc/core-linux-arm64-gnu@1.7.23': + resolution: {integrity: sha512-TsrbUZdMaUwzI7+g/8rHPLWbntMKYSu5Bn5IBSqVKPeyqaXxNnlIUnWXgXcUcRAc+T+Y8ADfr7EiFz9iz5DuSA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3334,8 +3334,8 @@ packages: cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.7.21': - resolution: {integrity: sha512-29KKZXrTo/c9F1JFL9WsNvCa6UCdIVhHP5EfuYhlKbn5/YmSsNFkuHdUtZFEd5U4+jiShXDmgGCtLW2d08LIwg==} + '@swc/core-linux-arm64-musl@1.7.23': + resolution: {integrity: sha512-JEdtwdthazKq4PBz53KSubwwK8MvqODAihGSAzc8u3Unq4ojcvaS8b0CwLBeD+kTQ78HpxOXTt3DsFIxpgaCAA==} engines: {node: '>=10'} cpu: [arm64] os: [linux] @@ -3346,8 +3346,8 @@ packages: cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.7.21': - resolution: {integrity: sha512-HsP3JwddvQj5HvnjmOr+Bd5plEm6ccpfP5wUlm3hywzvdVkj+yR29bmD7UwpV/1zCQ60Ry35a7mXhKI6HQxFgw==} + '@swc/core-linux-x64-gnu@1.7.23': + resolution: {integrity: sha512-V51gFPWaVAHbI1yg9ahsoya3aB4uawye3SZ5uQWgcP7wdCdiv60dw4F5nuPJf5Z1oXD3U/BslXuamv8Oh9vXqQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3358,8 +3358,8 @@ packages: cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.7.21': - resolution: {integrity: sha512-hYKLVeUTHqvFK628DFJEwxoX6p42T3HaQ4QjNtf3oKhiJWFh9iTRUrN/oCB5YI3R9WMkFkKh+99gZ/Dd0T5lsg==} + '@swc/core-linux-x64-musl@1.7.23': + resolution: {integrity: sha512-BBqQi4+UdeRqag3yM4IJjaHG4yc1o3l9ksENHToE0o/u2DT0FY5+K/DiYGZLC1JHbSFzNqRCYsa7DIzRtZ0A1A==} engines: {node: '>=10'} cpu: [x64] os: [linux] @@ -3370,8 +3370,8 @@ packages: cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.7.21': - resolution: {integrity: sha512-qyWAKW10aMBe6iUqeZ7NAJIswjfggVTUpDINpQGUJhz+pR71YZDidXgZXpaDB84YyDB2JAlRqd1YrLkl7CMiIw==} + '@swc/core-win32-arm64-msvc@1.7.23': + resolution: {integrity: sha512-JPk6pvCKncL6bXG7p+NLZf8PWx4FakVvKNdwGeMrYunb+yk1IZf7qf9LJk8+GDGF5QviDXPs8opZrTrfsW80fA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] @@ -3382,8 +3382,8 @@ packages: cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.7.21': - resolution: {integrity: sha512-cy61wS3wgH5mEwBiQ5w6/FnQrchBDAdPsSh0dKSzNmI+4K8hDxS8uzdBycWqJXO0cc+mA77SIlwZC3hP3Kum2g==} + '@swc/core-win32-ia32-msvc@1.7.23': + resolution: {integrity: sha512-2Whxi8d+bLQBzJcQ5qYPHlk02YYVGsMVav0fWk+FnX2z1QRREIu1L1xvrpi7gBpjXp6BIU40ya8GiKeekNT2bg==} engines: {node: '>=10'} cpu: [ia32] os: [win32] @@ -3394,8 +3394,8 @@ packages: cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.7.21': - resolution: {integrity: sha512-/rexGItJURNJOdae+a48M+loT74nsEU+PyRRVAkZMKNRtLoYFAr0cpDlS5FodIgGunp/nqM0bst4H2w6Y05IKA==} + '@swc/core-win32-x64-msvc@1.7.23': + resolution: {integrity: sha512-82fARk4/yJ40kwWKY/gdKDisPdtgJE9jgpl/vkNG3alyJxrCzuNM7+CtiKoYbXLeqM8GQTS3wlvCaJu9oQ8dag==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -3406,8 +3406,8 @@ packages: cpu: [x64] os: [win32] - '@swc/core@1.7.21': - resolution: {integrity: sha512-7/cN0SZ+y2V6e0hsDD8koGR0QVh7Jl3r756bwaHLLSN+kReoUb/yVcLsA8iTn90JLME3DkQK4CPjxDCQiyMXNg==} + '@swc/core@1.7.23': + resolution: {integrity: sha512-VDNkpDvDlreGh2E3tlDj8B3piiuLhhQA/7rIVZpiLUvG1YpucAa6N7iDXA7Gc/+Hah8spaCg/qvEaBkCmcIYCQ==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -3670,8 +3670,8 @@ packages: '@types/node@20.14.13': resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==} - '@types/node@22.5.1': - resolution: {integrity: sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==} + '@types/node@22.5.2': + resolution: {integrity: sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==} '@types/npmlog@4.1.6': resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==} @@ -3697,8 +3697,8 @@ packages: '@types/react@18.3.3': resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} - '@types/react@18.3.4': - resolution: {integrity: sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==} + '@types/react@18.3.5': + resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} '@types/request@2.48.12': resolution: {integrity: sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==} @@ -4485,8 +4485,8 @@ packages: caniuse-lite@1.0.30001643: resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} - caniuse-lite@1.0.30001653: - resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} + caniuse-lite@1.0.30001655: + resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} cardinal@2.1.1: resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} @@ -7664,6 +7664,9 @@ packages: picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -7839,8 +7842,8 @@ packages: resolution: {integrity: sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + postcss@8.4.44: + resolution: {integrity: sha512-Aweb9unOEpQ3ezu4Q00DPvvM2ZTUitJdNKeP/+uQgr1IBIqu574IaZoURId7BKtWMREwzKa9OgzPzezWGPWFQw==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -8366,8 +8369,8 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.21.1: - resolution: {integrity: sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==} + rollup@4.21.2: + resolution: {integrity: sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -11437,13 +11440,13 @@ snapshots: optionalDependencies: typescript: 5.5.4 - '@joshwooding/vite-plugin-react-docgen-typescript@0.3.1(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.1)(terser@5.31.6))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.3.1(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(terser@5.31.6))': dependencies: glob: 7.2.3 glob-promise: 4.2.2(glob@7.2.3) magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.5.4) - vite: 5.4.2(@types/node@22.5.1)(terser@5.31.6) + vite: 5.4.2(@types/node@22.5.2)(terser@5.31.6) optionalDependencies: typescript: 5.5.4 @@ -11502,15 +11505,15 @@ snapshots: '@types/react': 18.3.3 react: 18.3.1 - '@mui/core-downloads-tracker@6.0.0': {} + '@mui/core-downloads-tracker@6.0.2': {} - '@mui/material@6.0.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@mui/material@6.0.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 - '@mui/core-downloads-tracker': 6.0.0 - '@mui/system': 6.0.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) + '@mui/core-downloads-tracker': 6.0.2 + '@mui/system': 6.0.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@mui/types': 7.2.16(@types/react@18.3.3) - '@mui/utils': 6.0.0(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 6.0.2(@types/react@18.3.3)(react@18.3.1) '@popperjs/core': 2.11.8 '@types/react-transition-group': 4.4.11 clsx: 2.1.1 @@ -11525,16 +11528,16 @@ snapshots: '@emotion/styled': 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@types/react': 18.3.3 - '@mui/private-theming@6.0.0(@types/react@18.3.3)(react@18.3.1)': + '@mui/private-theming@6.0.2(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 - '@mui/utils': 6.0.0(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 6.0.2(@types/react@18.3.3)(react@18.3.1) prop-types: 15.8.1 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 - '@mui/styled-engine@6.0.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)': + '@mui/styled-engine@6.0.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 '@emotion/cache': 11.13.1 @@ -11545,13 +11548,13 @@ snapshots: '@emotion/react': 11.13.0(@types/react@18.3.3)(react@18.3.1) '@emotion/styled': 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) - '@mui/system@6.0.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': + '@mui/system@6.0.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 - '@mui/private-theming': 6.0.0(@types/react@18.3.3)(react@18.3.1) - '@mui/styled-engine': 6.0.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) + '@mui/private-theming': 6.0.2(@types/react@18.3.3)(react@18.3.1) + '@mui/styled-engine': 6.0.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(react@18.3.1) '@mui/types': 7.2.16(@types/react@18.3.3) - '@mui/utils': 6.0.0(@types/react@18.3.3)(react@18.3.1) + '@mui/utils': 6.0.2(@types/react@18.3.3)(react@18.3.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -11565,7 +11568,7 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@mui/utils@6.0.0(@types/react@18.3.3)(react@18.3.1)': + '@mui/utils@6.0.2(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.25.6 '@mui/types': 7.2.16(@types/react@18.3.3) @@ -11577,7 +11580,7 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - '@noble/hashes@1.4.0': {} + '@noble/hashes@1.5.0': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -11618,16 +11621,16 @@ snapshots: '@penumbra-zone/protobuf': 6.0.0(@bufbuild/protobuf@1.10.0) bech32: 2.0.0 - '@penumbra-zone/client@18.0.1(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/transport-dom@7.5.0)': + '@penumbra-zone/client@18.1.0(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/transport-dom@7.5.0)': dependencies: '@bufbuild/protobuf': 1.10.0 '@connectrpc/connect': 1.4.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/protobuf': 6.0.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/crypto-web@22.0.0(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))': + '@penumbra-zone/crypto-web@23.0.0(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))': dependencies: - '@penumbra-zone/types': 21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/types': 22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) bip39: 3.1.0 crypto-js: 4.2.0 @@ -11639,54 +11642,54 @@ snapshots: '@penumbra-zone/keys@4.2.1': {} - '@penumbra-zone/perspective@28.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@26.2.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))))': + '@penumbra-zone/perspective@29.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@27.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))))': dependencies: '@bufbuild/protobuf': 1.10.0 '@penumbra-zone/bech32m': 7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/getters': 16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/protobuf': 6.0.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/wasm': 26.2.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/wasm': 27.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) '@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)': dependencies: '@bufbuild/protobuf': 1.10.0 - '@penumbra-zone/query@29.0.0(lgdfff65jhftsrxe7yms2hodri)': + '@penumbra-zone/query@30.0.0(banmk3erwunubgvg457fwz7rvq)': dependencies: '@bufbuild/protobuf': 1.10.0 '@connectrpc/connect': 1.4.0(@bufbuild/protobuf@1.10.0) '@connectrpc/connect-web': 1.4.0(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/bech32m': 7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/crypto-web': 22.0.0(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/crypto-web': 23.0.0(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) '@penumbra-zone/getters': 16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/protobuf': 6.0.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types': 21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/wasm': 26.2.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/types': 22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/wasm': 27.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) exponential-backoff: 3.1.1 - '@penumbra-zone/services@32.0.0(puvtpkyxdz7u2mryloo5z5pz6q)': + '@penumbra-zone/services@33.0.0(m7lhnv2o565qvcwz2e4vqrdxsi)': dependencies: '@bufbuild/protobuf': 1.10.0 '@connectrpc/connect': 1.4.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/bech32m': 7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/crypto-web': 22.0.0(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/crypto-web': 23.0.0(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) '@penumbra-zone/getters': 16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/protobuf': 6.0.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/query': 29.0.0(lgdfff65jhftsrxe7yms2hodri) - '@penumbra-zone/storage': 28.0.0(3wbpnsgziu7e3ofmprbzkzltsi) + '@penumbra-zone/query': 30.0.0(banmk3erwunubgvg457fwz7rvq) + '@penumbra-zone/storage': 29.0.0(uz3f7wsbv65r4y3vsa3krgv4bu) '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/types': 21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/wasm': 26.2.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/types': 22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/wasm': 27.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) - '@penumbra-zone/storage@28.0.0(3wbpnsgziu7e3ofmprbzkzltsi)': + '@penumbra-zone/storage@29.0.0(uz3f7wsbv65r4y3vsa3krgv4bu)': dependencies: '@bufbuild/protobuf': 1.10.0 '@penumbra-labs/registry': 11.1.0 '@penumbra-zone/bech32m': 7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/getters': 16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/protobuf': 6.0.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types': 21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/wasm': 26.2.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/types': 22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/wasm': 27.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))) idb: 8.0.0 '@penumbra-zone/transport-chrome@8.0.1(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/transport-dom@7.5.0)': @@ -11700,7 +11703,7 @@ snapshots: '@bufbuild/protobuf': 1.10.0 '@connectrpc/connect': 1.4.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))': + '@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))': dependencies: '@bufbuild/protobuf': 1.10.0 '@penumbra-zone/bech32m': 7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) @@ -11710,12 +11713,12 @@ snapshots: idb: 8.0.0 zod: 3.23.8 - '@penumbra-zone/wasm@26.2.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))': + '@penumbra-zone/wasm@27.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))': dependencies: '@bufbuild/protobuf': 1.10.0 '@penumbra-zone/bech32m': 7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/protobuf': 6.0.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types': 21.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/types': 22.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@16.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@7.0.0(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.0.0(@bufbuild/protobuf@1.10.0)) optionalDependencies: '@penumbra-zone/keys': 4.2.1 @@ -12458,108 +12461,108 @@ snapshots: '@remix-run/router@1.18.0': {} - '@rollup/pluginutils@5.1.0(rollup@4.21.1)': + '@rollup/pluginutils@5.1.0(rollup@4.21.2)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.21.1 + rollup: 4.21.2 '@rollup/rollup-android-arm-eabi@4.19.1': optional: true - '@rollup/rollup-android-arm-eabi@4.21.1': + '@rollup/rollup-android-arm-eabi@4.21.2': optional: true '@rollup/rollup-android-arm64@4.19.1': optional: true - '@rollup/rollup-android-arm64@4.21.1': + '@rollup/rollup-android-arm64@4.21.2': optional: true '@rollup/rollup-darwin-arm64@4.19.1': optional: true - '@rollup/rollup-darwin-arm64@4.21.1': + '@rollup/rollup-darwin-arm64@4.21.2': optional: true '@rollup/rollup-darwin-x64@4.19.1': optional: true - '@rollup/rollup-darwin-x64@4.21.1': + '@rollup/rollup-darwin-x64@4.21.2': optional: true '@rollup/rollup-linux-arm-gnueabihf@4.19.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.1': + '@rollup/rollup-linux-arm-gnueabihf@4.21.2': optional: true '@rollup/rollup-linux-arm-musleabihf@4.19.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.1': + '@rollup/rollup-linux-arm-musleabihf@4.21.2': optional: true '@rollup/rollup-linux-arm64-gnu@4.19.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.1': + '@rollup/rollup-linux-arm64-gnu@4.21.2': optional: true '@rollup/rollup-linux-arm64-musl@4.19.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.1': + '@rollup/rollup-linux-arm64-musl@4.21.2': optional: true '@rollup/rollup-linux-powerpc64le-gnu@4.19.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.21.2': optional: true '@rollup/rollup-linux-riscv64-gnu@4.19.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.1': + '@rollup/rollup-linux-riscv64-gnu@4.21.2': optional: true '@rollup/rollup-linux-s390x-gnu@4.19.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.1': + '@rollup/rollup-linux-s390x-gnu@4.21.2': optional: true '@rollup/rollup-linux-x64-gnu@4.19.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.1': + '@rollup/rollup-linux-x64-gnu@4.21.2': optional: true '@rollup/rollup-linux-x64-musl@4.19.1': optional: true - '@rollup/rollup-linux-x64-musl@4.21.1': + '@rollup/rollup-linux-x64-musl@4.21.2': optional: true '@rollup/rollup-win32-arm64-msvc@4.19.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.1': + '@rollup/rollup-win32-arm64-msvc@4.21.2': optional: true '@rollup/rollup-win32-ia32-msvc@4.19.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.1': + '@rollup/rollup-win32-ia32-msvc@4.21.2': optional: true '@rollup/rollup-win32-x64-msvc@4.19.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.1': + '@rollup/rollup-win32-x64-msvc@4.21.2': optional: true '@sinclair/typebox@0.27.8': {} @@ -12631,11 +12634,11 @@ snapshots: '@storybook/global': 5.0.0 storybook: 8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)) - '@storybook/addon-interactions@8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.5(@types/node@22.5.1)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6))': + '@storybook/addon-interactions@8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.5(@types/node@22.5.2)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6))': dependencies: '@storybook/global': 5.0.0 '@storybook/instrumenter': 8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9))) - '@storybook/test': 8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.5(@types/node@22.5.1)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6)) + '@storybook/test': 8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.5(@types/node@22.5.2)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6)) polished: 4.3.1 storybook: 8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)) ts-dedent: 2.2.0 @@ -12667,13 +12670,13 @@ snapshots: storybook: 8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)) ts-dedent: 2.2.0 - '@storybook/addon-postcss@2.0.0(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5))': + '@storybook/addon-postcss@2.0.0(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5))': dependencies: '@storybook/node-logger': 6.5.16 - css-loader: 3.6.0(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)) + css-loader: 3.6.0(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)) postcss: 7.0.39 - postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)) - style-loader: 1.3.0(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)) + postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)) + style-loader: 1.3.0(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)) transitivePeerDependencies: - webpack @@ -12734,7 +12737,7 @@ snapshots: - prettier - supports-color - '@storybook/builder-vite@8.1.1(encoding@0.1.13)(prettier@3.3.3)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.1)(terser@5.31.6))': + '@storybook/builder-vite@8.1.1(encoding@0.1.13)(prettier@3.3.3)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(terser@5.31.6))': dependencies: '@storybook/channels': 8.1.1 '@storybook/client-logger': 8.1.1 @@ -12753,7 +12756,7 @@ snapshots: fs-extra: 11.2.0 magic-string: 0.30.11 ts-dedent: 2.2.0 - vite: 5.4.2(@types/node@22.5.1)(terser@5.31.6) + vite: 5.4.2(@types/node@22.5.2)(terser@5.31.6) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -12968,10 +12971,10 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)) - '@storybook/react-vite@8.1.1(encoding@0.1.13)(prettier@3.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.21.1)(typescript@5.5.4)(vite@5.4.2(@types/node@20.14.13)(terser@5.31.6))': + '@storybook/react-vite@8.1.1(encoding@0.1.13)(prettier@3.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(vite@5.4.2(@types/node@20.14.13)(terser@5.31.6))': dependencies: '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.5.4)(vite@5.4.2(@types/node@20.14.13)(terser@5.31.6)) - '@rollup/pluginutils': 5.1.0(rollup@4.21.1) + '@rollup/pluginutils': 5.1.0(rollup@4.21.2) '@storybook/builder-vite': 8.1.1(encoding@0.1.13)(prettier@3.3.3)(typescript@5.5.4)(vite@5.4.2(@types/node@20.14.13)(terser@5.31.6)) '@storybook/node-logger': 8.1.1 '@storybook/react': 8.1.1(encoding@0.1.13)(prettier@3.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) @@ -12993,11 +12996,11 @@ snapshots: - typescript - vite-plugin-glimmerx - '@storybook/react-vite@8.1.1(encoding@0.1.13)(prettier@3.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.21.1)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.1)(terser@5.31.6))': + '@storybook/react-vite@8.1.1(encoding@0.1.13)(prettier@3.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.21.2)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(terser@5.31.6))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.1)(terser@5.31.6)) - '@rollup/pluginutils': 5.1.0(rollup@4.21.1) - '@storybook/builder-vite': 8.1.1(encoding@0.1.13)(prettier@3.3.3)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.1)(terser@5.31.6)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(terser@5.31.6)) + '@rollup/pluginutils': 5.1.0(rollup@4.21.2) + '@storybook/builder-vite': 8.1.1(encoding@0.1.13)(prettier@3.3.3)(typescript@5.5.4)(vite@5.4.2(@types/node@22.5.2)(terser@5.31.6)) '@storybook/node-logger': 8.1.1 '@storybook/react': 8.1.1(encoding@0.1.13)(prettier@3.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.4) '@storybook/types': 8.1.1 @@ -13008,7 +13011,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 tsconfig-paths: 4.2.0 - vite: 5.4.2(@types/node@22.5.1)(terser@5.31.6) + vite: 5.4.2(@types/node@22.5.2)(terser@5.31.6) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -13079,12 +13082,12 @@ snapshots: optionalDependencies: typescript: 5.5.4 - '@storybook/test@8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.5(@types/node@22.5.1)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6))': + '@storybook/test@8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.5(@types/node@22.5.2)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6))': dependencies: '@storybook/csf': 0.1.11 '@storybook/instrumenter': 8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9))) '@testing-library/dom': 10.1.0 - '@testing-library/jest-dom': 6.4.5(vitest@2.0.5(@types/node@22.5.1)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6)) + '@testing-library/jest-dom': 6.4.5(vitest@2.0.5(@types/node@22.5.2)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6)) '@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0) '@vitest/expect': 1.6.0 '@vitest/spy': 1.6.0 @@ -13107,81 +13110,81 @@ snapshots: '@types/express': 4.17.21 file-system-cache: 2.3.0 - '@swc/core-darwin-arm64@1.7.21': + '@swc/core-darwin-arm64@1.7.23': optional: true '@swc/core-darwin-arm64@1.7.3': optional: true - '@swc/core-darwin-x64@1.7.21': + '@swc/core-darwin-x64@1.7.23': optional: true '@swc/core-darwin-x64@1.7.3': optional: true - '@swc/core-linux-arm-gnueabihf@1.7.21': + '@swc/core-linux-arm-gnueabihf@1.7.23': optional: true '@swc/core-linux-arm-gnueabihf@1.7.3': optional: true - '@swc/core-linux-arm64-gnu@1.7.21': + '@swc/core-linux-arm64-gnu@1.7.23': optional: true '@swc/core-linux-arm64-gnu@1.7.3': optional: true - '@swc/core-linux-arm64-musl@1.7.21': + '@swc/core-linux-arm64-musl@1.7.23': optional: true '@swc/core-linux-arm64-musl@1.7.3': optional: true - '@swc/core-linux-x64-gnu@1.7.21': + '@swc/core-linux-x64-gnu@1.7.23': optional: true '@swc/core-linux-x64-gnu@1.7.3': optional: true - '@swc/core-linux-x64-musl@1.7.21': + '@swc/core-linux-x64-musl@1.7.23': optional: true '@swc/core-linux-x64-musl@1.7.3': optional: true - '@swc/core-win32-arm64-msvc@1.7.21': + '@swc/core-win32-arm64-msvc@1.7.23': optional: true '@swc/core-win32-arm64-msvc@1.7.3': optional: true - '@swc/core-win32-ia32-msvc@1.7.21': + '@swc/core-win32-ia32-msvc@1.7.23': optional: true '@swc/core-win32-ia32-msvc@1.7.3': optional: true - '@swc/core-win32-x64-msvc@1.7.21': + '@swc/core-win32-x64-msvc@1.7.23': optional: true '@swc/core-win32-x64-msvc@1.7.3': optional: true - '@swc/core@1.7.21': + '@swc/core@1.7.23': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 optionalDependencies: - '@swc/core-darwin-arm64': 1.7.21 - '@swc/core-darwin-x64': 1.7.21 - '@swc/core-linux-arm-gnueabihf': 1.7.21 - '@swc/core-linux-arm64-gnu': 1.7.21 - '@swc/core-linux-arm64-musl': 1.7.21 - '@swc/core-linux-x64-gnu': 1.7.21 - '@swc/core-linux-x64-musl': 1.7.21 - '@swc/core-win32-arm64-msvc': 1.7.21 - '@swc/core-win32-ia32-msvc': 1.7.21 - '@swc/core-win32-x64-msvc': 1.7.21 + '@swc/core-darwin-arm64': 1.7.23 + '@swc/core-darwin-x64': 1.7.23 + '@swc/core-linux-arm-gnueabihf': 1.7.23 + '@swc/core-linux-arm64-gnu': 1.7.23 + '@swc/core-linux-arm64-musl': 1.7.23 + '@swc/core-linux-x64-gnu': 1.7.23 + '@swc/core-linux-x64-musl': 1.7.23 + '@swc/core-win32-arm64-msvc': 1.7.23 + '@swc/core-win32-ia32-msvc': 1.7.23 + '@swc/core-win32-x64-msvc': 1.7.23 optional: true '@swc/core@1.7.3': @@ -13242,7 +13245,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.5(vitest@2.0.5(@types/node@22.5.1)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6))': + '@testing-library/jest-dom@6.4.5(vitest@2.0.5(@types/node@22.5.2)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6))': dependencies: '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.25.0 @@ -13253,7 +13256,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 optionalDependencies: - vitest: 2.0.5(@types/node@22.5.1)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6) + vitest: 2.0.5(@types/node@22.5.2)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6) '@testing-library/jest-dom@6.4.8': dependencies: @@ -13280,11 +13283,11 @@ snapshots: dependencies: '@testing-library/dom': 10.1.0 - '@textea/json-viewer@3.4.1(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@6.0.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@textea/json-viewer@3.4.1(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@6.0.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(immer@10.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@emotion/react': 11.13.0(@types/react@18.3.3)(react@18.3.1) '@emotion/styled': 11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) - '@mui/material': 6.0.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@mui/material': 6.0.2(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.13.0(@emotion/react@11.13.0(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 copy-to-clipboard: 3.3.3 react: 18.3.1 @@ -13306,7 +13309,7 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@turbo/gen@1.13.4(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)': + '@turbo/gen@1.13.4(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)': dependencies: '@turbo/workspaces': 1.13.4 chalk: 2.4.2 @@ -13316,7 +13319,7 @@ snapshots: minimatch: 9.0.5 node-plop: 0.26.3 proxy-agent: 6.4.0 - ts-node: 10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4) + ts-node: 10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -13488,7 +13491,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.5.1': + '@types/node@22.5.2': dependencies: undici-types: 6.19.8 @@ -13510,14 +13513,14 @@ snapshots: '@types/react-transition-group@4.4.11': dependencies: - '@types/react': 18.3.4 + '@types/react': 18.3.5 '@types/react@18.3.3': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 - '@types/react@18.3.4': + '@types/react@18.3.5': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -13560,11 +13563,11 @@ snapshots: '@types/uuid@9.0.8': {} - '@types/webpack@5.28.5(@swc/core@1.7.21)(webpack-cli@5.1.4(webpack@5.93.0))': + '@types/webpack@5.28.5(@swc/core@1.7.23)(webpack-cli@5.1.4(webpack@5.93.0))': dependencies: '@types/node': 20.14.13 tapable: 2.2.1 - webpack: 5.92.1(@swc/core@1.7.21)(webpack-cli@5.1.4(webpack@5.93.0)) + webpack: 5.92.1(@swc/core@1.7.23)(webpack-cli@5.1.4(webpack@5.93.0)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -13699,10 +13702,10 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react-swc@3.7.0(vite@5.3.5(@types/node@22.5.1)(terser@5.31.6))': + '@vitejs/plugin-react-swc@3.7.0(vite@5.3.5(@types/node@22.5.2)(terser@5.31.6))': dependencies: '@swc/core': 1.7.3 - vite: 5.3.5(@types/node@22.5.1)(terser@5.31.6) + vite: 5.3.5(@types/node@22.5.2)(terser@5.31.6) transitivePeerDependencies: - '@swc/helpers' @@ -13859,19 +13862,19 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4))': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4))': dependencies: - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.93.0) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4))': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4))': dependencies: - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.93.0) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4))': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4))': dependencies: - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.93.0) '@xtuc/ieee754@1.2.0': {} @@ -14316,7 +14319,7 @@ snapshots: bip39@3.1.0: dependencies: - '@noble/hashes': 1.4.0 + '@noble/hashes': 1.5.0 bl@4.1.0: dependencies: @@ -14395,7 +14398,7 @@ snapshots: browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001653 + caniuse-lite: 1.0.30001655 electron-to-chromium: 1.5.13 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -14499,7 +14502,7 @@ snapshots: caniuse-lite@1.0.30001643: {} - caniuse-lite@1.0.30001653: {} + caniuse-lite@1.0.30001655: {} cardinal@2.1.1: dependencies: @@ -14855,7 +14858,7 @@ snapshots: dependencies: toggle-selection: 1.0.6 - copy-webpack-plugin@12.0.2(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + copy-webpack-plugin@12.0.2(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -14863,7 +14866,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) core-js-compat@3.37.1: dependencies: @@ -14940,7 +14943,7 @@ snapshots: css-color-keywords@1.0.0: {} - css-loader@3.6.0(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)): + css-loader@3.6.0(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)): dependencies: camelcase: 5.3.1 cssesc: 3.0.0 @@ -14955,9 +14958,9 @@ snapshots: postcss-value-parser: 4.2.0 schema-utils: 2.7.1 semver: 6.3.1 - webpack: 5.94.0(@swc/core@1.7.21)(esbuild@0.21.5) + webpack: 5.94.0(@swc/core@1.7.23)(esbuild@0.21.5) - css-loader@7.1.2(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + css-loader@7.1.2(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: icss-utils: 5.1.0(postcss@8.4.40) postcss: 8.4.40 @@ -14968,7 +14971,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) css-select@4.3.0: dependencies: @@ -15621,11 +15624,11 @@ snapshots: - supports-color - typescript - eslint-plugin-tailwindcss@3.17.4(tailwindcss@3.4.10(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4))): + eslint-plugin-tailwindcss@3.17.4(tailwindcss@3.4.10(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4))): dependencies: fast-glob: 3.3.2 postcss: 8.4.40 - tailwindcss: 3.4.10(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)) + tailwindcss: 3.4.10(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)) eslint-plugin-turbo@2.0.12(eslint@9.8.0): dependencies: @@ -16630,7 +16633,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.0(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + html-webpack-plugin@5.6.0(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -16638,7 +16641,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) htmlparser2@6.1.0: dependencies: @@ -18239,6 +18242,8 @@ snapshots: picocolors@1.0.1: {} + picocolors@1.1.0: {} + picomatch@2.3.1: {} pify@2.3.0: {} @@ -18315,9 +18320,9 @@ snapshots: read-cache: 1.0.0 resolve: 1.22.8 - postcss-import@15.1.0(postcss@8.4.41): + postcss-import@15.1.0(postcss@8.4.44): dependencies: - postcss: 8.4.41 + postcss: 8.4.44 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 @@ -18327,36 +18332,36 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.40 - postcss-js@4.0.1(postcss@8.4.41): + postcss-js@4.0.1(postcss@8.4.44): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.41 + postcss: 8.4.44 - postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)): + postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)): dependencies: lilconfig: 3.1.2 yaml: 2.5.0 optionalDependencies: postcss: 8.4.40 - ts-node: 10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4) + ts-node: 10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4) - postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@22.5.1)(typescript@5.5.4)): + postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@22.5.2)(typescript@5.5.4)): dependencies: lilconfig: 3.1.2 yaml: 2.5.0 optionalDependencies: postcss: 8.4.40 - ts-node: 10.9.2(@swc/core@1.7.21)(@types/node@22.5.1)(typescript@5.5.4) + ts-node: 10.9.2(@swc/core@1.7.23)(@types/node@22.5.2)(typescript@5.5.4) - postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)): + postcss-load-config@4.0.2(postcss@8.4.44)(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)): dependencies: lilconfig: 3.1.2 yaml: 2.5.0 optionalDependencies: - postcss: 8.4.41 - ts-node: 10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4) + postcss: 8.4.44 + ts-node: 10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4) - postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)): + postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -18364,16 +18369,16 @@ snapshots: postcss: 7.0.39 schema-utils: 3.3.0 semver: 7.6.3 - webpack: 5.94.0(@swc/core@1.7.21)(esbuild@0.21.5) + webpack: 5.94.0(@swc/core@1.7.23)(esbuild@0.21.5) - postcss-loader@8.1.1(postcss@8.4.40)(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + postcss-loader@8.1.1(postcss@8.4.40)(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: cosmiconfig: 9.0.0(typescript@5.5.4) jiti: 1.21.6 postcss: 8.4.40 semver: 7.6.3 optionalDependencies: - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) transitivePeerDependencies: - typescript @@ -18424,9 +18429,9 @@ snapshots: postcss: 8.4.40 postcss-selector-parser: 6.1.1 - postcss-nested@6.2.0(postcss@8.4.41): + postcss-nested@6.2.0(postcss@8.4.44): dependencies: - postcss: 8.4.41 + postcss: 8.4.44 postcss-selector-parser: 6.1.1 postcss-selector-parser@6.1.1: @@ -18458,10 +18463,10 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - postcss@8.4.41: + postcss@8.4.44: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 + picocolors: 1.1.0 source-map-js: 1.2.0 postgres-array@2.0.0: {} @@ -19064,26 +19069,26 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.19.1 fsevents: 2.3.3 - rollup@4.21.1: + rollup@4.21.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.1 - '@rollup/rollup-android-arm64': 4.21.1 - '@rollup/rollup-darwin-arm64': 4.21.1 - '@rollup/rollup-darwin-x64': 4.21.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.1 - '@rollup/rollup-linux-arm-musleabihf': 4.21.1 - '@rollup/rollup-linux-arm64-gnu': 4.21.1 - '@rollup/rollup-linux-arm64-musl': 4.21.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.1 - '@rollup/rollup-linux-riscv64-gnu': 4.21.1 - '@rollup/rollup-linux-s390x-gnu': 4.21.1 - '@rollup/rollup-linux-x64-gnu': 4.21.1 - '@rollup/rollup-linux-x64-musl': 4.21.1 - '@rollup/rollup-win32-arm64-msvc': 4.21.1 - '@rollup/rollup-win32-ia32-msvc': 4.21.1 - '@rollup/rollup-win32-x64-msvc': 4.21.1 + '@rollup/rollup-android-arm-eabi': 4.21.2 + '@rollup/rollup-android-arm64': 4.21.2 + '@rollup/rollup-darwin-arm64': 4.21.2 + '@rollup/rollup-darwin-x64': 4.21.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.2 + '@rollup/rollup-linux-arm-musleabihf': 4.21.2 + '@rollup/rollup-linux-arm64-gnu': 4.21.2 + '@rollup/rollup-linux-arm64-musl': 4.21.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.2 + '@rollup/rollup-linux-riscv64-gnu': 4.21.2 + '@rollup/rollup-linux-s390x-gnu': 4.21.2 + '@rollup/rollup-linux-x64-gnu': 4.21.2 + '@rollup/rollup-linux-x64-musl': 4.21.2 + '@rollup/rollup-win32-arm64-msvc': 4.21.2 + '@rollup/rollup-win32-ia32-msvc': 4.21.2 + '@rollup/rollup-win32-x64-msvc': 4.21.2 fsevents: 2.3.3 router@1.3.8: @@ -19556,15 +19561,15 @@ snapshots: stubs@3.0.0: {} - style-loader@1.3.0(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)): + style-loader@1.3.0(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)): dependencies: loader-utils: 2.0.4 schema-utils: 2.7.1 - webpack: 5.94.0(@swc/core@1.7.21)(esbuild@0.21.5) + webpack: 5.94.0(@swc/core@1.7.23)(esbuild@0.21.5) - style-loader@4.0.0(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + style-loader@4.0.0(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) styled-components@6.1.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -19675,11 +19680,11 @@ snapshots: tailwind-merge@2.4.0: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4))): dependencies: - tailwindcss: 3.4.7(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)) + tailwindcss: 3.4.7(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)) - tailwindcss@3.4.10(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)): + tailwindcss@3.4.10(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -19694,19 +19699,19 @@ snapshots: micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.1 - postcss: 8.4.41 - postcss-import: 15.1.0(postcss@8.4.41) - postcss-js: 4.0.1(postcss@8.4.41) - postcss-load-config: 4.0.2(postcss@8.4.41)(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)) - postcss-nested: 6.2.0(postcss@8.4.41) + picocolors: 1.1.0 + postcss: 8.4.44 + postcss-import: 15.1.0(postcss@8.4.44) + postcss-js: 4.0.1(postcss@8.4.44) + postcss-load-config: 4.0.2(postcss@8.4.44)(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)) + postcss-nested: 6.2.0(postcss@8.4.44) postcss-selector-parser: 6.1.2 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: - ts-node - tailwindcss@3.4.7(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)): + tailwindcss@3.4.7(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -19725,7 +19730,7 @@ snapshots: postcss: 8.4.40 postcss-import: 15.1.0(postcss@8.4.40) postcss-js: 4.0.1(postcss@8.4.40) - postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4)) + postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4)) postcss-nested: 6.2.0(postcss@8.4.40) postcss-selector-parser: 6.1.1 resolve: 1.22.8 @@ -19733,7 +19738,7 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@3.4.7(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@22.5.1)(typescript@5.5.4)): + tailwindcss@3.4.7(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@22.5.2)(typescript@5.5.4)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -19752,7 +19757,7 @@ snapshots: postcss: 8.4.40 postcss-import: 15.1.0(postcss@8.4.40) postcss-js: 4.0.1(postcss@8.4.40) - postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.21)(@types/node@22.5.1)(typescript@5.5.4)) + postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@22.5.2)(typescript@5.5.4)) postcss-nested: 6.2.0(postcss@8.4.40) postcss-selector-parser: 6.1.1 resolve: 1.22.8 @@ -19824,39 +19829,39 @@ snapshots: term-size@2.2.1: {} - terser-webpack-plugin@5.3.10(@swc/core@1.7.21)(esbuild@0.21.5)(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)): + terser-webpack-plugin@5.3.10(@swc/core@1.7.23)(esbuild@0.21.5)(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.3 - webpack: 5.94.0(@swc/core@1.7.21)(esbuild@0.21.5) + webpack: 5.94.0(@swc/core@1.7.23)(esbuild@0.21.5) optionalDependencies: - '@swc/core': 1.7.21 + '@swc/core': 1.7.23 esbuild: 0.21.5 - terser-webpack-plugin@5.3.10(@swc/core@1.7.21)(webpack@5.92.1(@swc/core@1.7.21)(webpack-cli@5.1.4(webpack@5.93.0))): + terser-webpack-plugin@5.3.10(@swc/core@1.7.23)(webpack@5.92.1(@swc/core@1.7.23)(webpack-cli@5.1.4(webpack@5.93.0))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.3 - webpack: 5.92.1(@swc/core@1.7.21)(webpack-cli@5.1.4(webpack@5.93.0)) + webpack: 5.92.1(@swc/core@1.7.23)(webpack-cli@5.1.4(webpack@5.93.0)) optionalDependencies: - '@swc/core': 1.7.21 + '@swc/core': 1.7.23 - terser-webpack-plugin@5.3.10(@swc/core@1.7.21)(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.10(@swc/core@1.7.23)(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.3 - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) optionalDependencies: - '@swc/core': 1.7.21 + '@swc/core': 1.7.23 terser@5.31.3: dependencies: @@ -19978,7 +19983,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-loader@9.5.1(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + ts-loader@9.5.1(typescript@5.5.4)(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 @@ -19986,9 +19991,9 @@ snapshots: semver: 7.6.3 source-map: 0.7.4 typescript: 5.5.4 - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) - ts-node@10.9.2(@swc/core@1.7.21)(@types/node@20.14.13)(typescript@5.5.4): + ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.14.13)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -20006,16 +20011,16 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.7.21 + '@swc/core': 1.7.23 - ts-node@10.9.2(@swc/core@1.7.21)(@types/node@22.5.1)(typescript@5.5.4): + ts-node@10.9.2(@swc/core@1.7.23)(@types/node@22.5.2)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.5.1 + '@types/node': 22.5.2 acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 @@ -20026,7 +20031,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.7.21 + '@swc/core': 1.7.23 ts-toolbelt@9.6.0: {} @@ -20422,13 +20427,13 @@ snapshots: - terser optional: true - vite-node@2.0.5(@types/node@22.5.1)(terser@5.31.6): + vite-node@2.0.5(@types/node@22.5.2)(terser@5.31.6): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.4.2(@types/node@22.5.1)(terser@5.31.6) + vite: 5.4.2(@types/node@22.5.2)(terser@5.31.6) transitivePeerDependencies: - '@types/node' - less @@ -20451,33 +20456,33 @@ snapshots: fsevents: 2.3.3 terser: 5.31.6 - vite@5.3.5(@types/node@22.5.1)(terser@5.31.6): + vite@5.3.5(@types/node@22.5.2)(terser@5.31.6): dependencies: esbuild: 0.21.5 postcss: 8.4.40 rollup: 4.19.1 optionalDependencies: - '@types/node': 22.5.1 + '@types/node': 22.5.2 fsevents: 2.3.3 terser: 5.31.6 vite@5.4.2(@types/node@20.14.13)(terser@5.31.6): dependencies: esbuild: 0.21.5 - postcss: 8.4.41 - rollup: 4.21.1 + postcss: 8.4.44 + rollup: 4.21.2 optionalDependencies: '@types/node': 20.14.13 fsevents: 2.3.3 terser: 5.31.6 - vite@5.4.2(@types/node@22.5.1)(terser@5.31.6): + vite@5.4.2(@types/node@22.5.2)(terser@5.31.6): dependencies: esbuild: 0.21.5 - postcss: 8.4.41 - rollup: 4.21.1 + postcss: 8.4.44 + rollup: 4.21.2 optionalDependencies: - '@types/node': 22.5.1 + '@types/node': 22.5.2 fsevents: 2.3.3 terser: 5.31.6 @@ -20552,7 +20557,7 @@ snapshots: - terser optional: true - vitest@2.0.5(@types/node@22.5.1)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6): + vitest@2.0.5(@types/node@22.5.2)(@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0))(jsdom@24.1.1)(terser@5.31.6): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.5 @@ -20570,11 +20575,11 @@ snapshots: tinybench: 2.9.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.2(@types/node@22.5.1)(terser@5.31.6) - vite-node: 2.0.5(@types/node@22.5.1)(terser@5.31.6) + vite: 5.4.2(@types/node@22.5.2)(terser@5.31.6) + vite-node: 2.0.5(@types/node@22.5.2)(terser@5.31.6) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.5.1 + '@types/node': 22.5.2 '@vitest/browser': 1.6.0(playwright@1.45.3)(vitest@1.6.0) jsdom: 24.1.1 transitivePeerDependencies: @@ -20659,9 +20664,9 @@ snapshots: webpack-cli@5.1.4(webpack@5.93.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack@5.93.0))(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -20670,7 +20675,7 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) webpack-merge: 5.10.0 webpack-merge@5.10.0: @@ -20683,13 +20688,13 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack-watch-external-files-plugin@3.1.0(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)): + webpack-watch-external-files-plugin@3.1.0(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)): dependencies: glob: 10.4.2 path: 0.12.7 - webpack: 5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4) + webpack: 5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4) - webpack@5.92.1(@swc/core@1.7.21)(webpack-cli@5.1.4(webpack@5.93.0)): + webpack@5.92.1(@swc/core@1.7.23)(webpack-cli@5.1.4(webpack@5.93.0)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -20712,7 +20717,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.21)(webpack@5.92.1(@swc/core@1.7.21)(webpack-cli@5.1.4(webpack@5.93.0))) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.23)(webpack@5.92.1(@swc/core@1.7.23)(webpack-cli@5.1.4(webpack@5.93.0))) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: @@ -20722,7 +20727,7 @@ snapshots: - esbuild - uglify-js - webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4): + webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -20745,7 +20750,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.21)(webpack@5.93.0(@swc/core@1.7.21)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.23)(webpack@5.93.0(@swc/core@1.7.23)(webpack-cli@5.1.4)) watchpack: 2.4.1 webpack-sources: 3.2.3 optionalDependencies: @@ -20755,7 +20760,7 @@ snapshots: - esbuild - uglify-js - webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5): + webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5): dependencies: '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 @@ -20777,7 +20782,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.21)(esbuild@0.21.5)(webpack@5.94.0(@swc/core@1.7.21)(esbuild@0.21.5)) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.23)(esbuild@0.21.5)(webpack@5.94.0(@swc/core@1.7.23)(esbuild@0.21.5)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: