From efcbd5f32c6324a4707816f18a82bf50fbc85cc5 Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Wed, 16 Oct 2024 17:31:16 +0200 Subject: [PATCH] Noble forwarding addr binary search --- apps/extension/package.json | 22 +- packages/context/package.json | 20 +- packages/context/src/index.ts | 1 - packages/noble/eslint.config.mjs | 13 + packages/noble/package.json | 24 + packages/noble/src/client.ts | 103 +++ packages/noble/src/error.ts | 16 + packages/noble/src/sequence-search.test.ts | 147 ++++ packages/noble/src/sequence-search.ts | 78 +++ packages/noble/tsconfig.json | 5 + packages/noble/vitest.config.ts | 11 + packages/ui/package.json | 12 +- pnpm-lock.yaml | 757 +++++++++++++++------ 13 files changed, 988 insertions(+), 221 deletions(-) create mode 100644 packages/noble/eslint.config.mjs create mode 100644 packages/noble/package.json create mode 100644 packages/noble/src/client.ts create mode 100644 packages/noble/src/error.ts create mode 100644 packages/noble/src/sequence-search.test.ts create mode 100644 packages/noble/src/sequence-search.ts create mode 100644 packages/noble/tsconfig.json create mode 100644 packages/noble/vitest.config.ts diff --git a/apps/extension/package.json b/apps/extension/package.json index 9e8ac477..cc33b1e7 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -19,20 +19,20 @@ "@connectrpc/connect": "^1.x", "@connectrpc/connect-web": "^1.x", "@penumbra-labs/registry": "^11.3.1", - "@penumbra-zone/bech32m": "8.0.0", - "@penumbra-zone/client": "19.0.0", - "@penumbra-zone/crypto-web": "25.0.0", - "@penumbra-zone/getters": "18.0.0", + "@penumbra-zone/bech32m": "9.0.0", + "@penumbra-zone/client": "20.0.0", + "@penumbra-zone/crypto-web": "26.0.0", + "@penumbra-zone/getters": "19.0.0", "@penumbra-zone/keys": "4.2.1", - "@penumbra-zone/perspective": "32.0.0", - "@penumbra-zone/protobuf": "6.1.0", - "@penumbra-zone/query": "33.0.0", - "@penumbra-zone/services": "36.0.0", - "@penumbra-zone/storage": "32.0.0", + "@penumbra-zone/perspective": "34.0.0", + "@penumbra-zone/protobuf": "6.2.0", + "@penumbra-zone/query": "35.0.0", + "@penumbra-zone/services": "38.0.0", + "@penumbra-zone/storage": "34.0.0", "@penumbra-zone/transport-chrome": "8.0.1", "@penumbra-zone/transport-dom": "7.5.0", - "@penumbra-zone/types": "24.0.0", - "@penumbra-zone/wasm": "29.1.0", + "@penumbra-zone/types": "25.0.0", + "@penumbra-zone/wasm": "30.1.0", "@radix-ui/react-icons": "^1.3.0", "@repo/context": "workspace:*", "@repo/ui": "workspace:*", diff --git a/packages/context/package.json b/packages/context/package.json index c420e218..9498636a 100644 --- a/packages/context/package.json +++ b/packages/context/package.json @@ -18,19 +18,19 @@ "peerDependencies": { "@bufbuild/protobuf": "^1.x", "@penumbra-labs/registry": "^11.3.1", - "@penumbra-zone/bech32m": "8.0.0", - "@penumbra-zone/crypto-web": "25.0.0", - "@penumbra-zone/getters": "18.0.0", + "@penumbra-zone/bech32m": "9.0.0", + "@penumbra-zone/crypto-web": "26.0.0", + "@penumbra-zone/getters": "19.0.0", "@penumbra-zone/keys": "4.2.1", - "@penumbra-zone/perspective": "32.0.0", - "@penumbra-zone/protobuf": "6.1.0", - "@penumbra-zone/query": "33.0.0", - "@penumbra-zone/services": "36.0.0", - "@penumbra-zone/storage": "32.0.0", + "@penumbra-zone/perspective": "34.0.0", + "@penumbra-zone/protobuf": "6.2.0", + "@penumbra-zone/query": "35.0.0", + "@penumbra-zone/services": "38.0.0", + "@penumbra-zone/storage": "34.0.0", "@penumbra-zone/transport-chrome": "8.0.1", "@penumbra-zone/transport-dom": "7.5.0", - "@penumbra-zone/types": "24.0.0", - "@penumbra-zone/wasm": "29.1.0", + "@penumbra-zone/types": "25.0.0", + "@penumbra-zone/wasm": "30.1.0", "exponential-backoff": "^3.1.1" } } diff --git a/packages/context/src/index.ts b/packages/context/src/index.ts index 2b23c15c..eb86234e 100644 --- a/packages/context/src/index.ts +++ b/packages/context/src/index.ts @@ -107,7 +107,6 @@ export class Services implements ServicesInterface { const viewServer = await ViewServer.initialize({ fullViewingKey, - epochDuration: sctParams.epochDuration, getStoredTree: () => indexedDb.getStateCommitmentTree(), idbConstants: indexedDb.constants(), }); diff --git a/packages/noble/eslint.config.mjs b/packages/noble/eslint.config.mjs new file mode 100644 index 00000000..11c6ce91 --- /dev/null +++ b/packages/noble/eslint.config.mjs @@ -0,0 +1,13 @@ +import { penumbraEslintConfig } from '@repo/eslint-config'; +import { config, parser } from 'typescript-eslint'; + +export default config({ + ...penumbraEslintConfig, + languageOptions: { + parser, + parserOptions: { + project: true, + tsconfigRootDir: import.meta.dirname, + }, + }, +}); diff --git a/packages/noble/package.json b/packages/noble/package.json new file mode 100644 index 00000000..bec4a999 --- /dev/null +++ b/packages/noble/package.json @@ -0,0 +1,24 @@ +{ + "name": "@repo/noble", + "version": "1.0.0", + "private": true, + "license": "(MIT OR Apache-2.0)", + "type": "module", + "scripts": { + "lint": "eslint \"**/*.ts*\"", + "test": "vitest run" + }, + "files": [ + "src/", + "*.md" + ], + "exports": { + ".": "./src/client.ts" + }, + "dependencies": { + "@cosmjs/stargate": "^0.32.4", + "@penumbra-zone/bech32m": "9.0.0", + "@penumbra-zone/protobuf": "6.2.0", + "@penumbra-zone/wasm": "30.1.0" + } +} diff --git a/packages/noble/src/client.ts b/packages/noble/src/client.ts new file mode 100644 index 00000000..7fda15d4 --- /dev/null +++ b/packages/noble/src/client.ts @@ -0,0 +1,103 @@ +import { FullViewingKey } from '@penumbra-zone/protobuf/penumbra/core/keys/v1/keys_pb'; +import { MsgRegisterAccount } from '@penumbra-zone/protobuf/noble/forwarding/v1/tx_pb'; +import { bech32mAddress } from '@penumbra-zone/bech32m/penumbra'; +import { getNobleForwardingAddr } from '@penumbra-zone/wasm/keys'; +import { StargateClient } from '@cosmjs/stargate'; +import { Any } from '@bufbuild/protobuf'; +import { Tx } from '@penumbra-zone/protobuf/cosmos/tx/v1beta1/tx_pb'; +import { SignMode } from '@penumbra-zone/protobuf/cosmos/tx/signing/v1beta1/signing_pb'; +import { ForwardingPubKey } from '@penumbra-zone/protobuf/noble/forwarding/v1/account_pb'; +import { CosmosSdkError, isCosmosSdkErr } from './error'; + +export enum NobleRegistrationResponse { + // There are no funds in the account. Send funds first and request registration again. + NeedsDeposit, + // There were funds already deposited into the address. They have been flushed and forwarded to the sent registration address. + Success, + // A successful registration+flush has already occurred for this sequence number. + AlreadyRegistered, +} + +export interface NobleClientInterface { + registerAccount: (props: { + sequence: number; + accountIndex?: number; + }) => Promise; +} + +interface NobleClientProps { + endpoint: string; + channel: string; + fvk: FullViewingKey; +} + +export class NobleClient implements NobleClientInterface { + private readonly channel: string; + private readonly fvk: FullViewingKey; + private readonly endpoint: string; + + constructor({ endpoint, channel, fvk }: NobleClientProps) { + this.fvk = fvk; + this.channel = channel; + this.endpoint = endpoint; + } + + async registerAccount({ sequence, accountIndex }: { sequence: number; accountIndex?: number }) { + const { penumbraAddr, nobleAddrBech32, nobleAddrBytes } = getNobleForwardingAddr( + sequence, + this.fvk, + this.channel, + accountIndex, + ); + + const msg = new MsgRegisterAccount({ + signer: nobleAddrBech32, + recipient: bech32mAddress(penumbraAddr), + channel: this.channel, + }); + + const pubKey = new ForwardingPubKey({ key: nobleAddrBytes }); + + const tx = new Tx({ + body: { + messages: [ + new Any({ typeUrl: '/noble.forwarding.v1.MsgRegisterAccount', value: msg.toBinary() }), + ], + }, + authInfo: { + signerInfos: [ + { + publicKey: new Any({ + typeUrl: '/noble.forwarding.v1.ForwardingPubKey', + value: pubKey.toBinary(), + }), + modeInfo: { sum: { case: 'single', value: { mode: SignMode.DIRECT } } }, + }, + ], + fee: { + gasLimit: 200000n, + }, + }, + signatures: [new Uint8Array()], + }); + + const client = await StargateClient.connect(this.endpoint); + + try { + const res = await client.broadcastTx(tx.toBinary()); + if (res.code !== 0) { + throw new CosmosSdkError(res.code, 'sdk', JSON.stringify(res)); + } + return NobleRegistrationResponse.Success; + } catch (e) { + if (isCosmosSdkErr(e)) { + if (e.code === 9) { + return NobleRegistrationResponse.NeedsDeposit; + } else if (e.code === 19 || e.message.includes('tx already exists in cache')) { + return NobleRegistrationResponse.AlreadyRegistered; + } + } + throw e; + } + } +} diff --git a/packages/noble/src/error.ts b/packages/noble/src/error.ts new file mode 100644 index 00000000..d9d57acc --- /dev/null +++ b/packages/noble/src/error.ts @@ -0,0 +1,16 @@ +export class CosmosSdkError extends Error { + code: number; + codespace: string; + log: string; + + constructor(code: number, codespace: string, log: string) { + super(log); + this.code = code; + this.codespace = codespace; + this.log = log; + } +} + +export const isCosmosSdkErr = (e: unknown): e is CosmosSdkError => { + return e !== null && typeof e === 'object' && 'code' in e; +}; diff --git a/packages/noble/src/sequence-search.test.ts b/packages/noble/src/sequence-search.test.ts new file mode 100644 index 00000000..337b726b --- /dev/null +++ b/packages/noble/src/sequence-search.test.ts @@ -0,0 +1,147 @@ +import { describe, expect, it } from 'vitest'; +import { NobleClientInterface, NobleRegistrationResponse } from './client'; +import { getNextSequence, MAX_SEQUENCE_NUMBER } from './sequence-search'; +import { generateSpendKey, getFullViewingKey } from '@penumbra-zone/wasm/keys'; + +const seedPhrase = + 'benefit cherry cannon tooth exhibit law avocado spare tooth that amount pumpkin scene foil tape mobile shine apology add crouch situate sun business explain'; +const spendKey = generateSpendKey(seedPhrase); +const fvk = getFullViewingKey(spendKey); + +class MockNobleClient implements NobleClientInterface { + private readonly responses = new Map(); + + async registerAccount(props: { sequence: number; accountIndex?: number }) { + const key = this.hash(props); + const response = this.responses.get(key) ?? NobleRegistrationResponse.NeedsDeposit; + return Promise.resolve(response); + } + + private hash({ sequence, accountIndex }: { sequence: number; accountIndex?: number }): string { + return `${sequence}-${accountIndex ? accountIndex : 0}`; + } + + setResponse({ + response, + sequence, + accountIndex, + }: { + response: NobleRegistrationResponse; + sequence: number; + accountIndex?: number; + }) { + const key = this.hash({ sequence, accountIndex }); + this.responses.set(key, response); + } +} + +describe('getNextSequence', () => { + it('should find the first unused sequence number when all numbers are unused', async () => { + const client = new MockNobleClient(); + const seq = await getNextSequence({ client, fvk }); + expect(seq).toEqual(0); + }); + + it('should find the next unused sequence number when some numbers are used', async () => { + const client = new MockNobleClient(); + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: 0 }); + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: 1 }); + + const seq = await getNextSequence({ client, fvk }); + expect(seq).toEqual(2); + }); + + it('should return the next sequence number when the midpoint has a deposit waiting for registration', async () => { + const client = new MockNobleClient(); + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: 0 }); + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: 1 }); + client.setResponse({ response: NobleRegistrationResponse.Success, sequence: 2 }); + + const seq = await getNextSequence({ client, fvk }); + expect(seq).toEqual(3); + }); + + it('should handle the case when all sequence numbers are registered', async () => { + const client = new MockNobleClient(); + for (let i = 0; i <= MAX_SEQUENCE_NUMBER; i++) { + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: i }); + } + + const seq = await getNextSequence({ client, fvk }); + expect(seq).toBeGreaterThanOrEqual(0); + expect(seq).toBeLessThanOrEqual(MAX_SEQUENCE_NUMBER); + }); + + it('should handle a case deep in sequence', async () => { + // Set up client so that sequences 0 to 5 are registered, and 6 onwards are unused + const client = new MockNobleClient(); + for (let i = 0; i <= 50_000; i++) { + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: i }); + } + + const seq = await getNextSequence({ client, fvk }); + expect(seq).toEqual(50_001); + }); + + it('should handle entire sequence flush', async () => { + const client = new MockNobleClient(); + + // Simulate that all sequence numbers are registered except the last one + for (let i = 0; i < MAX_SEQUENCE_NUMBER; i++) { + client.setResponse({ response: NobleRegistrationResponse.Success, sequence: i }); + } + client.setResponse({ + response: NobleRegistrationResponse.Success, + sequence: MAX_SEQUENCE_NUMBER, + }); + + const seq = await getNextSequence({ client, fvk }); + expect(seq).toBeGreaterThanOrEqual(0); + expect(seq).toBeLessThanOrEqual(MAX_SEQUENCE_NUMBER); + }); + + it('should handle incorrectly sequenced registrations', async () => { + const client = new MockNobleClient(); + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: 0 }); + client.setResponse({ response: NobleRegistrationResponse.Success, sequence: 1 }); + client.setResponse({ response: NobleRegistrationResponse.NeedsDeposit, sequence: 2 }); + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: 3 }); + client.setResponse({ response: NobleRegistrationResponse.Success, sequence: 4 }); + client.setResponse({ response: NobleRegistrationResponse.NeedsDeposit, sequence: 5 }); + + const seq = await getNextSequence({ client, fvk }); + + // The algorithm doesn't guarantee the earliest non-deposited, but should return at least one + expect([2, 5].includes(seq)).toBeTruthy(); + }); + + it('should find the highest sequence number when only it is unused', async () => { + const client = new MockNobleClient(); + for (let i = 0; i < MAX_SEQUENCE_NUMBER; i++) { + client.setResponse({ response: NobleRegistrationResponse.AlreadyRegistered, sequence: i }); + } + + const seq = await getNextSequence({ client, fvk }); + expect(seq).toEqual(MAX_SEQUENCE_NUMBER); + }); + + it('should handle sequence numbers for different account indices', async () => { + const client = new MockNobleClient(); + client.setResponse({ + response: NobleRegistrationResponse.AlreadyRegistered, + sequence: 0, + accountIndex: 1, + }); + client.setResponse({ + response: NobleRegistrationResponse.NeedsDeposit, + sequence: 0, + accountIndex: 2, + }); + + const seqAccount1 = await getNextSequence({ client, fvk, accountIndex: 1 }); + const seqAccount2 = await getNextSequence({ client, fvk, accountIndex: 2 }); + + expect(seqAccount1).toEqual(1); // Next available sequence for accountIndex: 1 + expect(seqAccount2).toEqual(0); // Sequence 0 is available for accountIndex: 2 + }); +}); diff --git a/packages/noble/src/sequence-search.ts b/packages/noble/src/sequence-search.ts new file mode 100644 index 00000000..b840b41c --- /dev/null +++ b/packages/noble/src/sequence-search.ts @@ -0,0 +1,78 @@ +import { FullViewingKey } from '@penumbra-zone/protobuf/penumbra/core/keys/v1/keys_pb'; +import { NobleClientInterface, NobleRegistrationResponse } from './client'; + +// Search space (sequence number) is 2 bytes wide +export const MAX_SEQUENCE_NUMBER = 65535; + +// Perform binary search to find the earliest unused noble sequence number +export const getNextSequence = async ({ + fvk, + accountIndex, + client, +}: { + client: NobleClientInterface; + fvk: FullViewingKey; + accountIndex?: number; +}): Promise => { + const left = 0; + const right = MAX_SEQUENCE_NUMBER; + + const nextSeq = await _getNextSequence({ fvk, accountIndex, client, left, right }); + if (nextSeq !== undefined) { + return nextSeq; + } else { + // All sequence numbers are used, return a random one. + // As it is already registered, it will flush automatically. + return Math.floor(Math.random() * (MAX_SEQUENCE_NUMBER + 1)); + } +}; + +// Helper function to perform recursive binary search +const _getNextSequence = async ({ + left, + right, + client, + fvk, + accountIndex, +}: { + left: number; + right: number; + client: NobleClientInterface; + fvk: FullViewingKey; + accountIndex?: number; +}): Promise => { + // Entire search sequence space has been exhausted + if (left > right) { + return undefined; + } + + const mid = Math.floor((left + right) / 2); + const response = await client.registerAccount({ sequence: mid, accountIndex }); + + switch (response) { + case NobleRegistrationResponse.NeedsDeposit: { + // Found an unused sequence number. Now, check if there's an earlier one. + const leftResult = await _getNextSequence({ + left, + right: mid - 1, + client, + fvk, + accountIndex, + }); + return leftResult ?? mid; + } + case NobleRegistrationResponse.Success: + // This means the midpoint had a deposit in it waiting for registration. + // This will "flush" this unregistered address, however the user still wants a new one, so continue the search + // eslint-disable-next-line no-fallthrough + case NobleRegistrationResponse.AlreadyRegistered: + // The midpoint has been registered already, search the right-hand side + return _getNextSequence({ + left: mid + 1, + right, + fvk, + accountIndex, + client, + }); + } +}; diff --git a/packages/noble/tsconfig.json b/packages/noble/tsconfig.json new file mode 100644 index 00000000..334d91f9 --- /dev/null +++ b/packages/noble/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@repo/tsconfig/base.json", + "include": ["."], + "exclude": ["node_modules"] +} diff --git a/packages/noble/vitest.config.ts b/packages/noble/vitest.config.ts new file mode 100644 index 00000000..771af95b --- /dev/null +++ b/packages/noble/vitest.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + poolOptions: { + threads: { + execArgv: ['--experimental-wasm-modules'], + }, + }, + }, +}); diff --git a/packages/ui/package.json b/packages/ui/package.json index b50f0bea..6beaf0f8 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -30,12 +30,12 @@ "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@penumbra-labs/registry": "^11.3.1", - "@penumbra-zone/bech32m": "8.0.0", - "@penumbra-zone/getters": "18.0.0", - "@penumbra-zone/perspective": "32.0.0", - "@penumbra-zone/protobuf": "6.1.0", - "@penumbra-zone/types": "24.0.0", - "@penumbra-zone/wasm": "29.1.0", + "@penumbra-zone/bech32m": "9.0.0", + "@penumbra-zone/getters": "19.0.0", + "@penumbra-zone/perspective": "34.0.0", + "@penumbra-zone/protobuf": "6.2.0", + "@penumbra-zone/types": "25.0.0", + "@penumbra-zone/wasm": "30.1.0", "@radix-ui/react-avatar": "^1.1.0", "@radix-ui/react-checkbox": "^1.1.1", "@radix-ui/react-dialog": "1.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6001fbc..c3035b3b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,35 +87,35 @@ importers: specifier: ^11.3.1 version: 11.3.1 '@penumbra-zone/bech32m': - specifier: 8.0.0 - version: 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 9.0.0 + version: 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/client': - specifier: 19.0.0 - version: 19.0.0(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/transport-dom@7.5.0) + specifier: 20.0.0 + version: 20.0.0(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/transport-dom@7.5.0) '@penumbra-zone/crypto-web': - specifier: 25.0.0 - version: 25.0.0(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + specifier: 26.0.0 + version: 26.0.0(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) '@penumbra-zone/getters': - specifier: 18.0.0 - version: 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 19.0.0 + version: 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/keys': specifier: 4.2.1 version: 4.2.1 '@penumbra-zone/perspective': - specifier: 32.0.0 - version: 32.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))) + specifier: 34.0.0 + version: 34.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))) '@penumbra-zone/protobuf': - specifier: 6.1.0 - version: 6.1.0(@bufbuild/protobuf@1.10.0) + specifier: 6.2.0 + version: 6.2.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/query': - specifier: 33.0.0 - version: 33.0.0(l77odcocovoiix4tgkh6kbsite) + specifier: 35.0.0 + version: 35.0.0(iha2udlxcxryuemuqxr7uggmxu) '@penumbra-zone/services': - specifier: 36.0.0 - version: 36.0.0(3xjadmb72msn44bew7xiijb3xu) + specifier: 38.0.0 + version: 38.0.0(qpxr5cgn3k5q3jgdqm54gvl7ji) '@penumbra-zone/storage': - specifier: 32.0.0 - version: 32.0.0(ljocwg256yqdf5d7vnuoh5u3ve) + specifier: 34.0.0 + version: 34.0.0(4pxauojjbegt4l7t5zqwnx2eeu) '@penumbra-zone/transport-chrome': specifier: 8.0.1 version: 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) @@ -123,11 +123,11 @@ importers: specifier: 7.5.0 version: 7.5.0 '@penumbra-zone/types': - specifier: 24.0.0 - version: 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 25.0.0 + version: 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/wasm': - specifier: 29.1.0 - version: 29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + specifier: 30.1.0 + version: 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) '@radix-ui/react-icons': specifier: ^1.3.0 version: 1.3.0(react@18.3.1) @@ -191,7 +191,7 @@ importers: version: 18.3.0 '@types/webpack': specifier: ^5.28.5 - version: 5.28.5(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4(webpack@5.94.0)) + version: 5.28.5(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.45) @@ -200,31 +200,31 @@ importers: version: 6.0.3 copy-webpack-plugin: specifier: ^12.0.2 - version: 12.0.2(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + version: 12.0.2(webpack@5.94.0) css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + version: 7.1.2(webpack@5.94.0) dotenv: specifier: ^16.4.5 version: 16.4.5 html-webpack-plugin: specifier: ^5.6.0 - version: 5.6.0(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + version: 5.6.0(webpack@5.94.0) postcss: specifier: ^8.4.45 version: 8.4.45 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.45)(typescript@5.6.2)(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + version: 8.1.1(postcss@8.4.45)(typescript@5.6.2)(webpack@5.94.0) style-loader: specifier: ^4.0.0 - version: 4.0.0(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + version: 4.0.0(webpack@5.94.0) tailwindcss: specifier: ^3.4.10 version: 3.4.10(ts-node@10.9.2(@swc/core@1.7.28)(@types/node@22.7.4)(typescript@5.6.2)) ts-loader: specifier: ^9.5.1 - version: 9.5.1(typescript@5.6.2)(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + version: 9.5.1(typescript@5.6.2)(webpack@5.94.0) ts-node: specifier: ^10.9.2 version: 10.9.2(@swc/core@1.7.28)(@types/node@22.7.4)(typescript@5.6.2) @@ -242,7 +242,7 @@ importers: version: 6.0.1 webpack-watch-external-files-plugin: specifier: ^3.1.0 - version: 3.1.0(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + version: 3.1.0(webpack@5.94.0) packages/context: dependencies: @@ -253,32 +253,32 @@ importers: specifier: ^11.3.1 version: 11.3.1 '@penumbra-zone/bech32m': - specifier: 8.0.0 - version: 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 9.0.0 + version: 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/crypto-web': - specifier: 25.0.0 - version: 25.0.0(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + specifier: 26.0.0 + version: 26.0.0(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) '@penumbra-zone/getters': - specifier: 18.0.0 - version: 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 19.0.0 + version: 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/keys': specifier: 4.2.1 version: 4.2.1 '@penumbra-zone/perspective': - specifier: 32.0.0 - version: 32.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))) + specifier: 34.0.0 + version: 34.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))) '@penumbra-zone/protobuf': - specifier: 6.1.0 - version: 6.1.0(@bufbuild/protobuf@1.10.0) + specifier: 6.2.0 + version: 6.2.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/query': - specifier: 33.0.0 - version: 33.0.0(l77odcocovoiix4tgkh6kbsite) + specifier: 35.0.0 + version: 35.0.0(iha2udlxcxryuemuqxr7uggmxu) '@penumbra-zone/services': - specifier: 36.0.0 - version: 36.0.0(3xjadmb72msn44bew7xiijb3xu) + specifier: 38.0.0 + version: 38.0.0(qpxr5cgn3k5q3jgdqm54gvl7ji) '@penumbra-zone/storage': - specifier: 32.0.0 - version: 32.0.0(ljocwg256yqdf5d7vnuoh5u3ve) + specifier: 34.0.0 + version: 34.0.0(4pxauojjbegt4l7t5zqwnx2eeu) '@penumbra-zone/transport-chrome': specifier: 8.0.1 version: 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) @@ -286,11 +286,11 @@ importers: specifier: 7.5.0 version: 7.5.0 '@penumbra-zone/types': - specifier: 24.0.0 - version: 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 25.0.0 + version: 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/wasm': - specifier: 29.1.0 - version: 29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + specifier: 30.1.0 + version: 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) exponential-backoff: specifier: ^3.1.1 version: 3.1.1 @@ -335,11 +335,26 @@ importers: version: 2.1.1(eslint@9.10.0(jiti@2.1.0)) eslint-plugin-vitest: specifier: ^0.5.4 - version: 0.5.4(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) + version: 0.5.4(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) typescript-eslint: specifier: ^7.10.0 version: 7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2) + packages/noble: + dependencies: + '@cosmjs/stargate': + specifier: ^0.32.4 + version: 0.32.4 + '@penumbra-zone/bech32m': + specifier: 9.0.0 + version: 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': + specifier: 6.2.0 + version: 6.2.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/wasm': + specifier: 30.1.0 + version: 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) + packages/tailwind-config: dependencies: tailwindcss: @@ -363,23 +378,23 @@ importers: specifier: ^11.3.1 version: 11.3.1 '@penumbra-zone/bech32m': - specifier: 8.0.0 - version: 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 9.0.0 + version: 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/getters': - specifier: 18.0.0 - version: 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 19.0.0 + version: 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/perspective': - specifier: 32.0.0 - version: 32.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))) + specifier: 34.0.0 + version: 34.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))) '@penumbra-zone/protobuf': - specifier: 6.1.0 - version: 6.1.0(@bufbuild/protobuf@1.10.0) + specifier: 6.2.0 + version: 6.2.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/types': - specifier: 24.0.0 - version: 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + specifier: 25.0.0 + version: 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) '@penumbra-zone/wasm': - specifier: 29.1.0 - version: 29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + specifier: 30.1.0 + version: 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) '@radix-ui/react-avatar': specifier: ^1.1.0 version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -488,7 +503,7 @@ importers: version: 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(webpack-sources@3.2.3) '@storybook/addon-interactions': specifier: ^8.2.9 - version: 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) + version: 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) '@storybook/addon-links': specifier: ^8.2.9 version: 8.2.9(react@18.3.1)(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2))) @@ -1252,6 +1267,9 @@ packages: '@changesets/write@0.3.2': resolution: {integrity: sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==} + '@confio/ics23@0.6.8': + resolution: {integrity: sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w==} + '@connectrpc/connect-web@1.4.0': resolution: {integrity: sha512-13aO4psFbbm7rdOFGV0De2Za64DY/acMspgloDlcOKzLPPs0yZkhp1OOzAQeiAIr7BM/VOHIA3p8mF0inxCYTA==} peerDependencies: @@ -1263,6 +1281,39 @@ packages: peerDependencies: '@bufbuild/protobuf': ^1.4.2 + '@cosmjs/amino@0.32.4': + resolution: {integrity: sha512-zKYOt6hPy8obIFtLie/xtygCkH9ZROiQ12UHfKsOkWaZfPQUvVbtgmu6R4Kn1tFLI/SRkw7eqhaogmW/3NYu/Q==} + + '@cosmjs/crypto@0.32.4': + resolution: {integrity: sha512-zicjGU051LF1V9v7bp8p7ovq+VyC91xlaHdsFOTo2oVry3KQikp8L/81RkXmUIT8FxMwdx1T7DmFwVQikcSDIw==} + + '@cosmjs/encoding@0.32.4': + resolution: {integrity: sha512-tjvaEy6ZGxJchiizzTn7HVRiyTg1i4CObRRaTRPknm5EalE13SV+TCHq38gIDfyUeden4fCuaBVEdBR5+ti7Hw==} + + '@cosmjs/json-rpc@0.32.4': + resolution: {integrity: sha512-/jt4mBl7nYzfJ2J/VJ+r19c92mUKF0Lt0JxM3MXEJl7wlwW5haHAWtzRujHkyYMXOwIR+gBqT2S0vntXVBRyhQ==} + + '@cosmjs/math@0.32.4': + resolution: {integrity: sha512-++dqq2TJkoB8zsPVYCvrt88oJWsy1vMOuSOKcdlnXuOA/ASheTJuYy4+oZlTQ3Fr8eALDLGGPhJI02W2HyAQaw==} + + '@cosmjs/proto-signing@0.32.4': + resolution: {integrity: sha512-QdyQDbezvdRI4xxSlyM1rSVBO2st5sqtbEIl3IX03uJ7YiZIQHyv6vaHVf1V4mapusCqguiHJzm4N4gsFdLBbQ==} + + '@cosmjs/socket@0.32.4': + resolution: {integrity: sha512-davcyYziBhkzfXQTu1l5NrpDYv0K9GekZCC9apBRvL1dvMc9F/ygM7iemHjUA+z8tJkxKxrt/YPjJ6XNHzLrkw==} + + '@cosmjs/stargate@0.32.4': + resolution: {integrity: sha512-usj08LxBSsPRq9sbpCeVdyLx2guEcOHfJS9mHGCLCXpdAPEIEQEtWLDpEUc0LEhWOx6+k/ChXTc5NpFkdrtGUQ==} + + '@cosmjs/stream@0.32.4': + resolution: {integrity: sha512-Gih++NYHEiP+oyD4jNEUxU9antoC0pFSg+33Hpp0JlHwH0wXhtD3OOKnzSfDB7OIoEbrzLJUpEjOgpCp5Z+W3A==} + + '@cosmjs/tendermint-rpc@0.32.4': + resolution: {integrity: sha512-MWvUUno+4bCb/LmlMIErLypXxy7ckUuzEmpufYYYd9wgbdCXaTaO08SZzyFM5PI8UJ/0S2AmUrgWhldlbxO8mw==} + + '@cosmjs/utils@0.32.4': + resolution: {integrity: sha512-D1Yc+Zy8oL/hkUkFUL/bwxvuDBzRGpc4cF7/SkdhxX4iHpSLgdOuTt1mhCh9+kl6NQREy9t7SYZ6xeW5gFe60w==} + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -1907,84 +1958,84 @@ packages: '@penumbra-labs/registry@11.3.1': resolution: {integrity: sha512-0hBfPZW4Y3my6RzYSBGI3cwutW+C7KJXn5OLXOhhXPsH+VlexrxvKIWc8nJeUwRCTtBkRR0lUSwuIhnaw0tsyQ==} - '@penumbra-zone/bech32m@8.0.0': - resolution: {integrity: sha512-1MBJClwos7QGFlY/MH7HOfsY1F99FR/OqeYmkL+1NuTCEHrUENi/pS+WOx56rmVIokqSfRPj8zQCh6gd7aQVuw==} + '@penumbra-zone/bech32m@9.0.0': + resolution: {integrity: sha512-4ZYCGgEq1IAxI2ff3zUP/2CAbQTpTIisFT6JRmhNvVko1rWFeG2uT+1rStoX87dNzzhCcTRmADJuMYfOG26fmg==} peerDependencies: - '@penumbra-zone/protobuf': 6.1.0 + '@penumbra-zone/protobuf': 6.2.0 - '@penumbra-zone/client@19.0.0': - resolution: {integrity: sha512-SQOEPJ6XYxzPhoxMG4RKz/dC2zHwW6ldOTpEsJxp1nBIa0gvBjkD7olo2OoX/y3aUBKC5xUxuf44JE9L7p1vLg==} + '@penumbra-zone/client@20.0.0': + resolution: {integrity: sha512-BW942t0sbcSdNk+RSUA+yYX5oAXjt2tfPcf+G7eOs0CjE7XF17lpmGMfsV8EpGh0swu9SFQlORBN3VThR/ne7Q==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@connectrpc/connect': ^1.4.0 - '@penumbra-zone/protobuf': 6.1.0 + '@penumbra-zone/protobuf': 6.2.0 '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/crypto-web@25.0.0': - resolution: {integrity: sha512-bWIBNrhU4ahq30DiEefuwdsqMUir1KX34ig1vEymYDju9BqkK49NugnJyZjhIGntxrzNMsf/jytCMir/sxoTkA==} + '@penumbra-zone/crypto-web@26.0.0': + resolution: {integrity: sha512-dD7IJRBaYBLMlv92lnqcVkTzYBOtNCbiM3J6zhkOFK7johwMGB7zTv6mRzToSGdejzmA0vrQ6+yZcnTD/1GZqQ==} peerDependencies: - '@penumbra-zone/types': 24.0.0 + '@penumbra-zone/types': 25.0.0 - '@penumbra-zone/getters@18.0.0': - resolution: {integrity: sha512-qd421V84hZG8ELMTKvis3WCTBwD8zi7jJm9quYSMe9UhQaJwxD6iQS4X+20w2SUoIOsDKDFc/xIMOSl9rAwSxQ==} + '@penumbra-zone/getters@19.0.0': + resolution: {integrity: sha512-TxJa82i40SAhTMrOCHxeWsJshDDaogzno9imfdo3hia0AJJn1hbe/A2ZDoMuUTDCK2J/bRlIs0fMdCz37IK5IQ==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 - '@penumbra-zone/bech32m': 8.0.0 - '@penumbra-zone/protobuf': 6.1.0 + '@penumbra-zone/bech32m': 9.0.0 + '@penumbra-zone/protobuf': 6.2.0 '@penumbra-zone/keys@4.2.1': resolution: {integrity: sha512-1K+/8bh53Kse4u/I1afUQuRrTnZhLLA6JWIV+mFiXX8An2J2CGIVDjp1mSJkUSzFjFDUzUX052kvYHCtZYK3QA==} hasBin: true - '@penumbra-zone/perspective@32.0.0': - resolution: {integrity: sha512-jedibnOvEeVzOfNaI3lOLhjLz3oNUg3bd7ER5vzPKasY2CBXGF0c7P/ps5ZQshXsI0MIoH8vKWpehmD1JLGSbA==} + '@penumbra-zone/perspective@34.0.0': + resolution: {integrity: sha512-RA2TPaYPY54vquejiYo5i7oz5sDHzIeaB5kf+BpYyBvyOn/e+8pxzRd6oN5Pv7z7E92m84fy+5YZhGaSSKoa2A==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 - '@penumbra-zone/bech32m': 8.0.0 - '@penumbra-zone/getters': 18.0.0 - '@penumbra-zone/protobuf': 6.1.0 - '@penumbra-zone/wasm': 29.1.0 + '@penumbra-zone/bech32m': 9.0.0 + '@penumbra-zone/getters': 19.0.0 + '@penumbra-zone/protobuf': 6.2.0 + '@penumbra-zone/wasm': 30.1.0 - '@penumbra-zone/protobuf@6.1.0': - resolution: {integrity: sha512-0aVpa0VvodqGERXRNfD0Q3VawfjH77E86e/aDIc/7FjhZB+9TGvhfVVFFBaaRWwOmueQxH2iT5IY/3p+eXQGXA==} + '@penumbra-zone/protobuf@6.2.0': + resolution: {integrity: sha512-OCIvrXtRBK20lG32A62KNg9daOlpr4fEtB5uTENVuf3IAyemjETMJpz1To86KgCv2sR2kYiVNfazdRKh9whNWQ==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 - '@penumbra-zone/query@33.0.0': - resolution: {integrity: sha512-nRxet+djc2hCPLQKIXQ6rv6O9tD5xB1QItwMTmxdDImx7B2dSMjpV1LFXcjbDukCuV9lSouC+C3g4QUGOvcT2A==} + '@penumbra-zone/query@35.0.0': + resolution: {integrity: sha512-7t/QMmzlKlfQmUjyxD+tyzdVz1O33aZhjH77nZeeUQL1Z0LlKujpyPlmI47+T5pzrM/7yNDQxbHh7w8wP8aRcg==} peerDependencies: - '@penumbra-zone/bech32m': 8.0.0 - '@penumbra-zone/crypto-web': 25.0.0 - '@penumbra-zone/getters': 18.0.0 - '@penumbra-zone/protobuf': 6.1.0 - '@penumbra-zone/types': 24.0.0 - '@penumbra-zone/wasm': 29.1.0 + '@penumbra-zone/bech32m': 9.0.0 + '@penumbra-zone/crypto-web': 26.0.0 + '@penumbra-zone/getters': 19.0.0 + '@penumbra-zone/protobuf': 6.2.0 + '@penumbra-zone/types': 25.0.0 + '@penumbra-zone/wasm': 30.1.0 - '@penumbra-zone/services@36.0.0': - resolution: {integrity: sha512-4gNbUWNcb2Ni00Y3mJzxXpACTzu+VC1FajoLzGS3Vk4SlJ5+4Isq8zq3gvcciBY35Ztb0kvthozWud+BZ52FoQ==} + '@penumbra-zone/services@38.0.0': + resolution: {integrity: sha512-Uk8NcNBL1JmD2n/cSFSjn5tmYLlhfU4iw/C8Y6XJNxcHAyLnjWlsT3mFoR1BrncPl2RkMBorrUu3xDtc0HRteg==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@connectrpc/connect': ^1.4.0 - '@penumbra-zone/bech32m': 8.0.0 - '@penumbra-zone/crypto-web': 25.0.0 - '@penumbra-zone/getters': 18.0.0 - '@penumbra-zone/protobuf': 6.1.0 - '@penumbra-zone/query': 33.0.0 - '@penumbra-zone/storage': 32.0.0 + '@penumbra-zone/bech32m': 9.0.0 + '@penumbra-zone/crypto-web': 26.0.0 + '@penumbra-zone/getters': 19.0.0 + '@penumbra-zone/protobuf': 6.2.0 + '@penumbra-zone/query': 35.0.0 + '@penumbra-zone/storage': 34.0.0 '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/types': 24.0.0 - '@penumbra-zone/wasm': 29.1.0 + '@penumbra-zone/types': 25.0.0 + '@penumbra-zone/wasm': 30.1.0 - '@penumbra-zone/storage@32.0.0': - resolution: {integrity: sha512-gdgKhk2jexv7t0ADyuEQl7Z+oXfhXkGbYpKjjx59ff6SeB3rTzIFTRapcshOc6ahPaqAlVvR+jD/Prhlku8Qow==} + '@penumbra-zone/storage@34.0.0': + resolution: {integrity: sha512-Bw9rqrTqw45SozErpnVwS+bcytbXIqaP9VADmCZPQYy6oV9T3lrGo7Ydx7OQHsKm6HFYvqsLa5tLoHNqWQMFGA==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 '@penumbra-labs/registry': ^11.3.1 - '@penumbra-zone/bech32m': 8.0.0 - '@penumbra-zone/getters': 18.0.0 - '@penumbra-zone/protobuf': 6.1.0 - '@penumbra-zone/types': 24.0.0 - '@penumbra-zone/wasm': 29.1.0 + '@penumbra-zone/bech32m': 9.0.0 + '@penumbra-zone/getters': 19.0.0 + '@penumbra-zone/protobuf': 6.2.0 + '@penumbra-zone/types': 25.0.0 + '@penumbra-zone/wasm': 30.1.0 '@penumbra-zone/transport-chrome@8.0.1': resolution: {integrity: sha512-Bk5/6N60hkeDwtx/ebP5u5DgZWNdRh6FQHgOXNP93FJjg4oobNOkjdoH0Gdqevj+sawGnyXFCyC6WeHB6D2LTA==} @@ -1996,21 +2047,21 @@ packages: '@penumbra-zone/transport-dom@7.5.0': resolution: {integrity: sha512-8xFIEDeXODl18AITfiIrJJoE8Y6y/+apO+BhrqCmXP+yqGo8LBzcW3iWDQkOc6Go2c1MGJT97B25r079Km1kuA==} - '@penumbra-zone/types@24.0.0': - resolution: {integrity: sha512-iD7K0e34gVrkNvfAOoEUctFMtAfXfofynOSngNqDGqZmu3MMRmKfBFiSAfouloJpf+1lT7h92AJo1vmpUV2VIw==} + '@penumbra-zone/types@25.0.0': + resolution: {integrity: sha512-PrJ7fg1sRemT9e99ugYhsu6x2qpjYJ2ZIeVVn1k0TcatfKWH3xJMp/f59SlxPC75xsvuuCVIAnctUObiNwmirQ==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 - '@penumbra-zone/bech32m': 8.0.0 - '@penumbra-zone/getters': 18.0.0 - '@penumbra-zone/protobuf': 6.1.0 + '@penumbra-zone/bech32m': 9.0.0 + '@penumbra-zone/getters': 19.0.0 + '@penumbra-zone/protobuf': 6.2.0 - '@penumbra-zone/wasm@29.1.0': - resolution: {integrity: sha512-CPjk/sYwtETgjyg1VuKBlmGambL/bGc5VrRiwqTg7fgZZHZW7aW37Zkr4VR5X3j3j6pBD3h6wmIjJUsLeb4c+g==} + '@penumbra-zone/wasm@30.1.0': + resolution: {integrity: sha512-J28Sl+sp9IJ42iJiS/VJ+Mmu4pPAKoMTJtP78jDo7AZFRX70AOsulDPlZaTMw2tekdKbdc5xU7nySHkDY3S1/A==} peerDependencies: '@bufbuild/protobuf': ^1.10.0 - '@penumbra-zone/bech32m': 8.0.0 - '@penumbra-zone/protobuf': 6.1.0 - '@penumbra-zone/types': 24.0.0 + '@penumbra-zone/bech32m': 9.0.0 + '@penumbra-zone/protobuf': 6.2.0 + '@penumbra-zone/types': 25.0.0 '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -2038,6 +2089,36 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@radix-ui/number@1.1.0': resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} @@ -3276,6 +3357,9 @@ packages: '@types/lodash@4.17.7': resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} + '@types/long@4.0.2': + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} @@ -3875,6 +3959,9 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + axios@1.7.7: + resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} + babel-core@7.0.0-bridge.0: resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: @@ -3909,6 +3996,9 @@ packages: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + bech32@2.0.0: resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} @@ -3943,6 +4033,12 @@ packages: bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -3972,6 +4068,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + browser-assert@1.2.1: resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} @@ -4346,6 +4445,9 @@ packages: typescript: optional: true + cosmjs-types@0.9.0: + resolution: {integrity: sha512-MN/yUe6mkJwHnCFfsNPeCfXVhyxHYW6c/xDUzrSbBycYzw++XvWDMJArXp2pLdgD6FQ8DW79vkPjeNKVrXaHeQ==} + create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -4669,6 +4771,9 @@ packages: electron-to-chromium@1.5.31: resolution: {integrity: sha512-QcDoBbQeYt0+3CWcK/rEbuHvwpbT/8SV9T3OSgs6cX1FlcUAkgrkqbg9zLnDrMM/rLamzQwal4LYFCiWk861Tg==} + elliptic@6.5.7: + resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==} + emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -5155,6 +5260,15 @@ packages: resolution: {integrity: sha512-FU4yuqC1j2IeWWicpzG0YJrXHJgKjK/AU8QKK/7MvQaNhcoGisDoE7FJLGCtbvnifzsgDWdm9/jtTF7Mp+PJXQ==} engines: {node: '>=0.4.0'} + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -5442,6 +5556,9 @@ packages: resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -5465,6 +5582,9 @@ packages: headers-polyfill@4.0.3: resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -5911,6 +6031,11 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} @@ -6070,6 +6195,12 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + libsodium-sumo@0.7.15: + resolution: {integrity: sha512-5tPmqPmq8T8Nikpm1Nqj0hBHvsLFCXvdhBFV7SGOitQPZAA6jso8XoL0r4L7vmfKXr486fiQInvErHtEvizFMw==} + + libsodium-wrappers-sumo@0.7.15: + resolution: {integrity: sha512-aSWY8wKDZh5TC7rMvEdTHoyppVq/1dTSAeAR7H6pzd6QRT3vQWcT5pGwCotLcpPEOLXX6VvqihSPkpEhYAjANA==} + lie@3.3.0: resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} @@ -6146,6 +6277,9 @@ packages: resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} + long@4.0.0: + resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -6290,6 +6424,12 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -7012,6 +7152,10 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + protobufjs@6.11.4: + resolution: {integrity: sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==} + hasBin: true + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -7216,6 +7360,9 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readonly-date@1.0.0: + resolution: {integrity: sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ==} + real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} @@ -7804,6 +7951,10 @@ packages: swap-case@1.1.2: resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} + symbol-observable@2.0.3: + resolution: {integrity: sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==} + engines: {node: '>=0.10'} + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -8663,6 +8814,18 @@ packages: write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.17.1: resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} @@ -8706,6 +8869,9 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xstream@11.14.0: + resolution: {integrity: sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw==} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -9777,6 +9943,11 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 + '@confio/ics23@0.6.8': + dependencies: + '@noble/hashes': 1.5.0 + protobufjs: 6.11.4 + '@connectrpc/connect-web@1.4.0(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))': dependencies: '@bufbuild/protobuf': 1.10.0 @@ -9786,6 +9957,97 @@ snapshots: dependencies: '@bufbuild/protobuf': 1.10.0 + '@cosmjs/amino@0.32.4': + dependencies: + '@cosmjs/crypto': 0.32.4 + '@cosmjs/encoding': 0.32.4 + '@cosmjs/math': 0.32.4 + '@cosmjs/utils': 0.32.4 + + '@cosmjs/crypto@0.32.4': + dependencies: + '@cosmjs/encoding': 0.32.4 + '@cosmjs/math': 0.32.4 + '@cosmjs/utils': 0.32.4 + '@noble/hashes': 1.5.0 + bn.js: 5.2.1 + elliptic: 6.5.7 + libsodium-wrappers-sumo: 0.7.15 + + '@cosmjs/encoding@0.32.4': + dependencies: + base64-js: 1.5.1 + bech32: 1.1.4 + readonly-date: 1.0.0 + + '@cosmjs/json-rpc@0.32.4': + dependencies: + '@cosmjs/stream': 0.32.4 + xstream: 11.14.0 + + '@cosmjs/math@0.32.4': + dependencies: + bn.js: 5.2.1 + + '@cosmjs/proto-signing@0.32.4': + dependencies: + '@cosmjs/amino': 0.32.4 + '@cosmjs/crypto': 0.32.4 + '@cosmjs/encoding': 0.32.4 + '@cosmjs/math': 0.32.4 + '@cosmjs/utils': 0.32.4 + cosmjs-types: 0.9.0 + + '@cosmjs/socket@0.32.4': + dependencies: + '@cosmjs/stream': 0.32.4 + isomorphic-ws: 4.0.1(ws@7.5.10) + ws: 7.5.10 + xstream: 11.14.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@cosmjs/stargate@0.32.4': + dependencies: + '@confio/ics23': 0.6.8 + '@cosmjs/amino': 0.32.4 + '@cosmjs/encoding': 0.32.4 + '@cosmjs/math': 0.32.4 + '@cosmjs/proto-signing': 0.32.4 + '@cosmjs/stream': 0.32.4 + '@cosmjs/tendermint-rpc': 0.32.4 + '@cosmjs/utils': 0.32.4 + cosmjs-types: 0.9.0 + xstream: 11.14.0 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + + '@cosmjs/stream@0.32.4': + dependencies: + xstream: 11.14.0 + + '@cosmjs/tendermint-rpc@0.32.4': + dependencies: + '@cosmjs/crypto': 0.32.4 + '@cosmjs/encoding': 0.32.4 + '@cosmjs/json-rpc': 0.32.4 + '@cosmjs/math': 0.32.4 + '@cosmjs/socket': 0.32.4 + '@cosmjs/stream': 0.32.4 + '@cosmjs/utils': 0.32.4 + axios: 1.7.7 + readonly-date: 1.0.0 + xstream: 11.14.0 + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + + '@cosmjs/utils@0.32.4': {} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -10376,80 +10638,80 @@ snapshots: '@penumbra-labs/registry@11.3.1': {} - '@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))': + '@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))': dependencies: - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) bech32: 2.0.0 - '@penumbra-zone/client@19.0.0(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/transport-dom@7.5.0)': + '@penumbra-zone/client@20.0.0(@bufbuild/protobuf@1.10.0)(@connectrpc/connect@1.4.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/protobuf@6.2.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.1.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/crypto-web@25.0.0(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))': + '@penumbra-zone/crypto-web@26.0.0(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))': dependencies: - '@penumbra-zone/types': 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/types': 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) bip39: 3.1.0 crypto-js: 4.2.0 - '@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))': + '@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))': dependencies: '@bufbuild/protobuf': 1.10.0 - '@penumbra-zone/bech32m': 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/bech32m': 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) '@penumbra-zone/keys@4.2.1': {} - '@penumbra-zone/perspective@32.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))))': + '@penumbra-zone/perspective@34.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/wasm@30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))))': dependencies: '@bufbuild/protobuf': 1.10.0 - '@penumbra-zone/bech32m': 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/getters': 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/wasm': 29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/bech32m': 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/getters': 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/wasm': 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) - '@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)': + '@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)': dependencies: '@bufbuild/protobuf': 1.10.0 - '@penumbra-zone/query@33.0.0(l77odcocovoiix4tgkh6kbsite)': + '@penumbra-zone/query@35.0.0(iha2udlxcxryuemuqxr7uggmxu)': 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': 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/crypto-web': 25.0.0(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) - '@penumbra-zone/getters': 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types': 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/wasm': 29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/bech32m': 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/crypto-web': 26.0.0(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/getters': 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/types': 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/wasm': 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) exponential-backoff: 3.1.1 - '@penumbra-zone/services@36.0.0(3xjadmb72msn44bew7xiijb3xu)': + '@penumbra-zone/services@38.0.0(qpxr5cgn3k5q3jgdqm54gvl7ji)': dependencies: '@bufbuild/protobuf': 1.10.0 '@connectrpc/connect': 1.4.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/bech32m': 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/crypto-web': 25.0.0(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) - '@penumbra-zone/getters': 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/query': 33.0.0(l77odcocovoiix4tgkh6kbsite) - '@penumbra-zone/storage': 32.0.0(ljocwg256yqdf5d7vnuoh5u3ve) + '@penumbra-zone/bech32m': 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/crypto-web': 26.0.0(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/getters': 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/query': 35.0.0(iha2udlxcxryuemuqxr7uggmxu) + '@penumbra-zone/storage': 34.0.0(4pxauojjbegt4l7t5zqwnx2eeu) '@penumbra-zone/transport-dom': 7.5.0 - '@penumbra-zone/types': 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/wasm': 29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/types': 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/wasm': 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))) - '@penumbra-zone/storage@32.0.0(ljocwg256yqdf5d7vnuoh5u3ve)': + '@penumbra-zone/storage@34.0.0(4pxauojjbegt4l7t5zqwnx2eeu)': dependencies: '@bufbuild/protobuf': 1.10.0 '@penumbra-labs/registry': 11.3.1 - '@penumbra-zone/bech32m': 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/getters': 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types': 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/wasm': 29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))) + '@penumbra-zone/bech32m': 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/getters': 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/types': 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/wasm': 30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.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)': @@ -10463,22 +10725,22 @@ snapshots: '@bufbuild/protobuf': 1.10.0 '@connectrpc/connect': 1.4.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))': + '@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))': dependencies: '@bufbuild/protobuf': 1.10.0 - '@penumbra-zone/bech32m': 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/getters': 18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/bech32m': 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/getters': 19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) bignumber.js: 9.1.2 idb: 8.0.0 zod: 3.23.8 - '@penumbra-zone/wasm@29.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))': + '@penumbra-zone/wasm@30.1.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0))(@penumbra-zone/types@25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))': dependencies: '@bufbuild/protobuf': 1.10.0 - '@penumbra-zone/bech32m': 8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) - '@penumbra-zone/protobuf': 6.1.0(@bufbuild/protobuf@1.10.0) - '@penumbra-zone/types': 24.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@18.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@8.0.0(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.1.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/bech32m': 9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) + '@penumbra-zone/protobuf': 6.2.0(@bufbuild/protobuf@1.10.0) + '@penumbra-zone/types': 25.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/getters@19.0.0(@bufbuild/protobuf@1.10.0)(@penumbra-zone/bech32m@9.0.0(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)))(@penumbra-zone/protobuf@6.2.0(@bufbuild/protobuf@1.10.0)) optionalDependencies: '@penumbra-zone/keys': 4.2.1 @@ -10503,6 +10765,29 @@ snapshots: '@popperjs/core@2.11.8': {} + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + '@radix-ui/number@1.1.0': {} '@radix-ui/primitive@1.0.1': @@ -11280,11 +11565,11 @@ snapshots: '@storybook/global': 5.0.0 storybook: 8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)) - '@storybook/addon-interactions@8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1))': + '@storybook/addon-interactions@8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1))': dependencies: '@storybook/global': 5.0.0 '@storybook/instrumenter': 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2))) - '@storybook/test': 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) + '@storybook/test': 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) polished: 4.3.1 storybook: 8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)) ts-dedent: 2.2.0 @@ -11636,12 +11921,12 @@ snapshots: optionalDependencies: typescript: 5.5.4 - '@storybook/test@8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1))': + '@storybook/test@8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2)))(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1))': dependencies: '@storybook/csf': 0.1.11 '@storybook/instrumenter': 8.2.9(storybook@8.2.9(@babel/preset-env@7.25.4(@babel/core@7.25.2))) '@testing-library/dom': 10.1.0 - '@testing-library/jest-dom': 6.4.5(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) + '@testing-library/jest-dom': 6.4.5(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)) '@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0) '@vitest/expect': 1.6.0 '@vitest/spy': 1.6.0 @@ -11750,7 +12035,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.5(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1))': + '@testing-library/jest-dom@6.4.5(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1))': dependencies: '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.25.6 @@ -11761,7 +12046,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 optionalDependencies: - vitest: 2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1) + vitest: 2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1) '@testing-library/jest-dom@6.5.0': dependencies: @@ -11959,6 +12244,8 @@ snapshots: '@types/lodash@4.17.7': {} + '@types/long@4.0.2': {} + '@types/mdx@2.0.13': {} '@types/mime@1.3.5': {} @@ -12050,7 +12337,7 @@ snapshots: '@types/uuid@9.0.8': {} - '@types/webpack@5.28.5(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4(webpack@5.94.0))': + '@types/webpack@5.28.5(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)': dependencies: '@types/node': 22.5.4 tapable: 2.2.1 @@ -12373,17 +12660,17 @@ snapshots: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4))': + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.94.0)': dependencies: webpack: 5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.94.0) - '@webpack-cli/info@2.0.2(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4))': + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.94.0)': dependencies: webpack: 5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.94.0) - '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4))': + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.94.0)': dependencies: webpack: 5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.94.0) @@ -12708,6 +12995,14 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 + axios@1.7.7: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + babel-core@7.0.0-bridge.0(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 @@ -12748,6 +13043,8 @@ snapshots: basic-ftp@5.0.5: {} + bech32@1.1.4: {} + bech32@2.0.0: {} better-opn@3.0.2: @@ -12778,6 +13075,10 @@ snapshots: bluebird@3.7.2: {} + bn.js@4.12.0: {} + + bn.js@5.2.1: {} + body-parser@1.20.2: dependencies: bytes: 3.1.2 @@ -12842,6 +13143,8 @@ snapshots: dependencies: fill-range: 7.1.1 + brorand@1.1.0: {} + browser-assert@1.2.1: {} browserslist@4.23.3: @@ -13208,7 +13511,7 @@ snapshots: dependencies: toggle-selection: 1.0.6 - copy-webpack-plugin@12.0.2(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + copy-webpack-plugin@12.0.2(webpack@5.94.0): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -13254,6 +13557,8 @@ snapshots: optionalDependencies: typescript: 5.6.2 + cosmjs-types@0.9.0: {} + create-require@1.1.1: {} cross-spawn@5.1.0: @@ -13293,7 +13598,7 @@ snapshots: semver: 6.3.1 webpack: 5.95.0(@swc/core@1.7.28)(esbuild@0.21.5) - css-loader@7.1.2(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + css-loader@7.1.2(webpack@5.94.0): dependencies: icss-utils: 5.1.0(postcss@8.4.45) postcss: 8.4.45 @@ -13575,6 +13880,16 @@ snapshots: electron-to-chromium@1.5.31: {} + elliptic@6.5.7: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -13812,7 +14127,7 @@ snapshots: debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 9.10.0(jiti@2.1.0) - eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.10.0(jiti@2.1.0)))(eslint@9.10.0(jiti@2.1.0)) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.10.0(jiti@2.1.0)) fast-glob: 3.3.2 get-tsconfig: 4.8.0 is-bun-module: 1.1.0 @@ -13825,7 +14140,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.10.0(jiti@2.1.0)))(eslint@9.10.0(jiti@2.1.0)): + eslint-module-utils@2.11.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.10.0(jiti@2.1.0)): dependencies: debug: 3.2.7 optionalDependencies: @@ -13847,7 +14162,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.10.0(jiti@2.1.0) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@9.10.0(jiti@2.1.0)))(eslint@9.10.0(jiti@2.1.0)) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.10.0(jiti@2.1.0)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -13925,12 +14240,12 @@ snapshots: dotenv: 16.0.3 eslint: 9.10.0(jiti@2.1.0) - eslint-plugin-vitest@0.5.4(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)): + eslint-plugin-vitest@0.5.4(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2)(vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@9.10.0(jiti@2.1.0))(typescript@5.6.2) eslint: 9.10.0(jiti@2.1.0) optionalDependencies: - vitest: 2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1) + vitest: 2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1) transitivePeerDependencies: - supports-color - typescript @@ -14354,6 +14669,8 @@ snapshots: flow-parser@0.245.2: {} + follow-redirects@1.15.9: {} + for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -14686,6 +15003,11 @@ snapshots: has-yarn@3.0.0: {} + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -14711,6 +15033,12 @@ snapshots: headers-polyfill@4.0.3: {} + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 @@ -14735,7 +15063,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.0(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + html-webpack-plugin@5.6.0(webpack@5.94.0): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -15116,6 +15444,10 @@ snapshots: isobject@3.0.1: {} + isomorphic-ws@4.0.1(ws@7.5.10): + dependencies: + ws: 7.5.10 + iterator.prototype@1.1.2: dependencies: define-properties: 1.2.1 @@ -15323,6 +15655,12 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + libsodium-sumo@0.7.15: {} + + libsodium-wrappers-sumo@0.7.15: + dependencies: + libsodium-sumo: 0.7.15 + lie@3.3.0: dependencies: immediate: 3.0.6 @@ -15398,6 +15736,8 @@ snapshots: chalk: 5.3.0 is-unicode-supported: 1.3.0 + long@4.0.0: {} + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 @@ -15517,6 +15857,10 @@ snapshots: min-indent@1.0.1: {} + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -16177,7 +16521,7 @@ snapshots: semver: 7.6.3 webpack: 5.95.0(@swc/core@1.7.28)(esbuild@0.21.5) - postcss-loader@8.1.1(postcss@8.4.45)(typescript@5.6.2)(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + postcss-loader@8.1.1(postcss@8.4.45)(typescript@5.6.2)(webpack@5.94.0): dependencies: cosmiconfig: 9.0.0(typescript@5.6.2) jiti: 1.21.6 @@ -16324,6 +16668,22 @@ snapshots: proto-list@1.2.4: {} + protobufjs@6.11.4: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/long': 4.0.2 + '@types/node': 22.7.4 + long: 4.0.0 + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -16566,6 +16926,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readonly-date@1.0.0: {} + real-require@0.2.0: {} recast@0.23.9: @@ -17235,7 +17597,7 @@ snapshots: schema-utils: 2.7.1 webpack: 5.95.0(@swc/core@1.7.28)(esbuild@0.21.5) - style-loader@4.0.0(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + style-loader@4.0.0(webpack@5.94.0): dependencies: webpack: 5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4) @@ -17286,6 +17648,8 @@ snapshots: lower-case: 1.1.4 upper-case: 1.1.3 + symbol-observable@2.0.3: {} + symbol-tree@3.2.4: {} synckit@0.9.1: @@ -17445,7 +17809,7 @@ snapshots: '@swc/core': 1.7.28 esbuild: 0.21.5 - terser-webpack-plugin@5.3.10(@swc/core@1.7.28)(esbuild@0.23.1)(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + terser-webpack-plugin@5.3.10(@swc/core@1.7.28)(esbuild@0.23.1)(webpack@5.94.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -17575,7 +17939,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-loader@9.5.1(typescript@5.6.2)(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + ts-loader@9.5.1(typescript@5.6.2)(webpack@5.94.0): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 @@ -18036,7 +18400,7 @@ snapshots: - supports-color - terser - vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5(graphql@16.9.0)(playwright@1.47.0)(typescript@5.5.4)(vitest@1.6.0))(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1): + vitest@2.1.1(@types/node@22.7.4)(@vitest/browser@2.0.5)(jsdom@25.0.1)(msw@2.4.9(typescript@5.6.2))(terser@5.34.1): dependencies: '@vitest/expect': 2.1.1 '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(msw@2.4.9(typescript@5.6.2))(vite@5.4.8(@types/node@22.7.4)(terser@5.34.1)) @@ -18142,9 +18506,9 @@ snapshots: webpack-cli@5.1.4(webpack@5.94.0): dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) - '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) - '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack@5.94.0))(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.94.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.94.0) colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -18172,7 +18536,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack-watch-external-files-plugin@3.1.0(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)): + webpack-watch-external-files-plugin@3.1.0(webpack@5.94.0): dependencies: glob: 10.4.2 path: 0.12.7 @@ -18200,7 +18564,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.28)(esbuild@0.23.1)(webpack@5.94.0(@swc/core@1.7.28)(esbuild@0.23.1)(webpack-cli@5.1.4)) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.28)(esbuild@0.23.1)(webpack@5.94.0) watchpack: 2.4.2 webpack-sources: 3.2.3 optionalDependencies: @@ -18358,6 +18722,8 @@ snapshots: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 + ws@7.5.10: {} + ws@8.17.1: {} ws@8.18.0: {} @@ -18375,6 +18741,11 @@ snapshots: xmlchars@2.2.0: {} + xstream@11.14.0: + dependencies: + globalthis: 1.0.4 + symbol-observable: 2.0.3 + y18n@5.0.8: {} yallist@2.1.2: {}