diff --git a/.changeset/tender-mayflies-join.md b/.changeset/tender-mayflies-join.md new file mode 100644 index 0000000000..52f3e928a4 --- /dev/null +++ b/.changeset/tender-mayflies-join.md @@ -0,0 +1,6 @@ +--- +'@penumbra-zone/protobuf': major +'@penumbra-zone/types': major +--- + +initial release of `@penumbra-zone/protobuf` package containing `typeRegistry`. same removed from `@penumbra-zone/types` diff --git a/apps/extension/package.json b/apps/extension/package.json index c91df8f070..237b3bb993 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -54,6 +54,7 @@ "devDependencies": { "@penumbra-zone/keys": "workspace:*", "@penumbra-zone/polyfills": "workspace:*", + "@penumbra-zone/protobuf": "workspace:*", "@radix-ui/react-icons": "^1.3.0", "@types/firefox-webext-browser": "^120.0.3", "@types/lodash": "^4.17.0", diff --git a/apps/extension/src/clients.ts b/apps/extension/src/clients.ts index 2df66be5c5..3d05d2d1e3 100644 --- a/apps/extension/src/clients.ts +++ b/apps/extension/src/clients.ts @@ -2,13 +2,13 @@ import { ViewService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/ import { createPromiseClient } from '@connectrpc/connect'; import { createChannelTransport } from '@penumbra-zone/transport-dom/create'; import { CRSessionClient } from '@penumbra-zone/transport-chrome/session-client'; -import { transportOptions } from '@penumbra-zone/types/registry'; +import { jsonOptions } from '@penumbra-zone/protobuf'; const port = CRSessionClient.init(PRAX); const extensionPageTransport = createChannelTransport({ + jsonOptions, getPort: () => Promise.resolve(port), - ...transportOptions, }); export const viewClient = createPromiseClient(ViewService, extensionPageTransport); diff --git a/apps/extension/src/service-worker.ts b/apps/extension/src/service-worker.ts index aa77bc4770..baf170612b 100644 --- a/apps/extension/src/service-worker.ts +++ b/apps/extension/src/service-worker.ts @@ -20,7 +20,7 @@ import { ConnectRouter, createContextValues, PromiseClient } from '@connectrpc/c import { CRSessionManager } from '@penumbra-zone/transport-chrome/session-manager'; import { createDirectClient } from '@penumbra-zone/transport-dom/direct'; import { connectChannelAdapter } from '@penumbra-zone/transport-dom/adapter'; -import { transportOptions } from '@penumbra-zone/types/registry'; +import { jsonOptions } from '@penumbra-zone/protobuf'; // context import { CustodyService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/custody/v1/custody_connect'; @@ -107,8 +107,7 @@ const getServiceHandler = async () => { let custodyClient: PromiseClient | undefined; let stakingClient: PromiseClient | undefined; return connectChannelAdapter({ - // jsonOptions contains typeRegistry providing ser/de - jsonOptions: transportOptions.jsonOptions, + jsonOptions, /** @see https://connectrpc.com/docs/node/implementing-services */ routes: (router: ConnectRouter) => @@ -119,8 +118,8 @@ const getServiceHandler = async () => { const contextValues = req.contextValues ?? createContextValues(); // dynamically initialize clients, or reuse if already available - custodyClient ??= createDirectClient(CustodyService, handler, transportOptions); - stakingClient ??= createDirectClient(StakingService, handler, transportOptions); + custodyClient ??= createDirectClient(CustodyService, handler, { jsonOptions }); + stakingClient ??= createDirectClient(StakingService, handler, { jsonOptions }); contextValues.set(custodyCtx, custodyClient); contextValues.set(stakingClientCtx, stakingClient); diff --git a/packages/client/package.json b/packages/client/package.json index 848cbae6a5..fe0d9961d7 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -25,8 +25,8 @@ } }, "dependencies": { - "@penumbra-zone/transport-dom": "workspace:*", - "@penumbra-zone/types": "workspace:*" + "@penumbra-zone/protobuf": "workspace:*", + "@penumbra-zone/transport-dom": "workspace:*" }, "devDependencies": { "@bufbuild/protobuf": "^1.9.0", diff --git a/packages/client/src/prax.ts b/packages/client/src/prax.ts index 013d90759c..3ef3adacb7 100644 --- a/packages/client/src/prax.ts +++ b/packages/client/src/prax.ts @@ -9,7 +9,7 @@ import type { Transport } from '@connectrpc/connect'; import { createPromiseClient } from '@connectrpc/connect'; import { createChannelTransport } from '@penumbra-zone/transport-dom/create'; import { PenumbraSymbol } from './global'; -import { jsonOptions } from '@penumbra-zone/types/registry'; +import { jsonOptions } from '@penumbra-zone/protobuf'; const prax_id = 'lkpmkhpnhknhmibgnmmhdhgdilepfghe'; const prax_origin = `chrome-extension://${prax_id}`; @@ -86,9 +86,8 @@ export const throwIfPraxNotInstalled = async () => { let praxTransport: Transport | undefined; export const createPraxClient = (serviceType: T) => { praxTransport ??= createChannelTransport({ - defaultTimeoutMs: 10000, - getPort: getPraxPort, jsonOptions, + getPort: getPraxPort, }); return createPromiseClient(serviceType, praxTransport); }; diff --git a/packages/constants/package.json b/packages/constants/package.json index bcd8952304..b298adc873 100644 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -22,13 +22,5 @@ "types": "./dist/index.d.ts" } } - }, - "devDependencies": { - "@buf/penumbra-zone_penumbra.bufbuild_es": "1.9.0-20240429125510-24b08e70bbc2.1", - "@bufbuild/protobuf": "^1.9.0" - }, - "peerDependencies": { - "@buf/penumbra-zone_penumbra.bufbuild_es": "1.9.0-20240429125510-24b08e70bbc2.1", - "@bufbuild/protobuf": "^1.9.0" } } diff --git a/packages/protobuf/.eslintrc.cjs b/packages/protobuf/.eslintrc.cjs new file mode 100644 index 0000000000..c1872fb900 --- /dev/null +++ b/packages/protobuf/.eslintrc.cjs @@ -0,0 +1,8 @@ +module.exports = { + root: true, + extends: ['custom'], + parserOptions: { + project: true, + tsconfigRootDir: __dirname, + }, +}; diff --git a/packages/protobuf/README.md b/packages/protobuf/README.md new file mode 100644 index 0000000000..af3623be61 --- /dev/null +++ b/packages/protobuf/README.md @@ -0,0 +1,35 @@ +# `@penumbra-zone/protobuf` + +This package exports a `typeRegistry` (and inclusive `jsonOptions`) for use with +`@bufbuild` and `@connectrpc` tooling, particularly +`@penumbra-zone/transport-dom`. + +All message types necessary for a Connect `Transport` to serialize/deserialize +communication with Prax or any other Penumbra extension are included. + +## If you simply need a Penumbra extension client + +You're looking for `@penumbra-zone/client`, which handles this process for you +and also performs some basic safety checks. + +This package is provided for those who are interested in lower-level work or +more detailed configuration. + +### Simple example + +```ts +import { jsonOptions } from '@penumbra-zone/protobuf'; + +import { createChannelTransport } from '@penumbra-zone/transport-dom'; +import type { ServiceType } from '@bufbuild/protobuf'; + +// unsafely get first available provider +const getPort = () => Object.values(window[Symbol.for('penumbra')])[0].connect(); + +// establish transport +const transport = createChannelTransport({ jsonOptions, getPort }); + +// function to create client +export const createPenumbraClient = (serviceType: ServiceType) => + createPromiseClient(serviceType, transport); +``` diff --git a/packages/protobuf/package.json b/packages/protobuf/package.json new file mode 100644 index 0000000000..d666e3188d --- /dev/null +++ b/packages/protobuf/package.json @@ -0,0 +1,42 @@ +{ + "name": "@penumbra-zone/protobuf", + "version": "0.0.0", + "license": "(MIT OR Apache-2.0)", + "description": "Exports a `@bufbuild/protobuf` type registry with all message types necessary to communicate with a Penumbra extension", + "type": "module", + "scripts": { + "build": "tsc --build", + "clean": "rm -rfv dist", + "lint": "eslint src", + "prepack": "pnpm clean && pnpm build" + }, + "exports": { + ".": "./src/registry.ts" + }, + "publishConfig": { + "exports": { + ".": { + "import": "./dist/registry.js", + "types": "./dist/registry.d.ts" + } + } + }, + "bundleDependencies": [ + "@buf/cosmos_ibc.bufbuild_es", + "@buf/cosmos_ibc.connectrpc_es", + "@buf/penumbra-zone_penumbra.bufbuild_es", + "@buf/penumbra-zone_penumbra.connectrpc_es" + ], + "devDependencies": { + "@bufbuild/protobuf": "^1.9.0", + "@connectrpc/connect": "^1.4.0" + }, + "peerDependencies": { + "@buf/cosmos_ibc.bufbuild_es": "1.9.0-20240327103030-e2006674271c.1", + "@buf/cosmos_ibc.connectrpc_es": "1.4.0-20240327103030-e2006674271c.2", + "@buf/penumbra-zone_penumbra.bufbuild_es": "1.9.0-20240429125510-24b08e70bbc2.1", + "@buf/penumbra-zone_penumbra.connectrpc_es": "1.4.0-20240429125510-24b08e70bbc2.2", + "@bufbuild/protobuf": "^1.9.0", + "@connectrpc/connect": "^1.4.0" + } +} diff --git a/packages/types/src/registry.ts b/packages/protobuf/src/registry.ts similarity index 83% rename from packages/types/src/registry.ts rename to packages/protobuf/src/registry.ts index 1308ea5b5d..244fa46793 100644 --- a/packages/types/src/registry.ts +++ b/packages/protobuf/src/registry.ts @@ -1,6 +1,16 @@ -import { Query as IbcClientService } from '@buf/cosmos_ibc.connectrpc_es/ibc/core/client/v1/query_connect'; +import { IMessageTypeRegistry, createRegistry } from '@bufbuild/protobuf'; + +import { CustodyService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/custody/v1/custody_connect'; +import { ViewService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/view/v1/view_connect'; + +import { ClientState } from '@buf/cosmos_ibc.bufbuild_es/ibc/lightclients/tendermint/v1/tendermint_pb'; + +import { TendermintProxyService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/util/tendermint_proxy/v1/tendermint_proxy_connect'; + import { Query as IbcChannelService } from '@buf/cosmos_ibc.connectrpc_es/ibc/core/channel/v1/query_connect'; +import { Query as IbcClientService } from '@buf/cosmos_ibc.connectrpc_es/ibc/core/client/v1/query_connect'; import { Query as IbcConnectionService } from '@buf/cosmos_ibc.connectrpc_es/ibc/core/connection/v1/query_connect'; + import { QueryService as AppService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/core/app/v1/app_connect'; import { QueryService as CompactBlockService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/core/component/compact_block/v1/compact_block_connect'; import { @@ -11,30 +21,27 @@ import { QueryService as GovernanceService } from '@buf/penumbra-zone_penumbra.c import { QueryService as SctService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/core/component/sct/v1/sct_connect'; import { QueryService as ShieldedPoolService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/core/component/shielded_pool/v1/shielded_pool_connect'; import { QueryService as StakeService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/core/component/stake/v1/stake_connect'; -import { CustodyService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/custody/v1/custody_connect'; -import { TendermintProxyService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/util/tendermint_proxy/v1/tendermint_proxy_connect'; -import { ViewService } from '@buf/penumbra-zone_penumbra.connectrpc_es/penumbra/view/v1/view_connect'; -import { createRegistry, IMessageTypeRegistry } from '@bufbuild/protobuf'; -import { ClientState } from '@buf/cosmos_ibc.bufbuild_es/ibc/lightclients/tendermint/v1/tendermint_pb'; /** * This type registry is for JSON serialization of protobuf messages. * * Some specced messages contain 'Any'-type fields, serialized with type - * annotation URLs resolved with this registry. Chrome runtime messages require - * contents to be JSONifiable, and 'Any' is used to pack for transport at that - * boundary. + * annotation URLs resolved with this registry. * - * This registry currently contains types for all services used in the - * extension, and should be able to resolve any message type encountered. + * This registry currently contains types for all services used in communication + * with a Penumbra extension, and should be able to resolve any message type + * encountered. */ export const typeRegistry: IMessageTypeRegistry = createRegistry( CustodyService, ViewService, - AppService, ClientState, + + TendermintProxyService, + + AppService, CompactBlockService, DexService, DexSimulationService, @@ -45,9 +52,13 @@ export const typeRegistry: IMessageTypeRegistry = createRegistry( SctService, ShieldedPoolService, StakeService, - TendermintProxyService, ); +/** + * Appropriate for any ConnectRPC `Transport` object or protobuf `Any` + * pack/unpack that handles protojson expected to contain these registry types. + * @see https://docs.cosmos.network/v0.50/build/architecture/adr-027-deterministic-protobuf-serialization + */ export const jsonOptions = { typeRegistry, @@ -57,8 +68,3 @@ export const jsonOptions = { // write options emitDefaultValues: false, }; - -export const transportOptions = { - defaultTimeoutMs: 10000, - jsonOptions, -}; diff --git a/packages/protobuf/tsconfig.json b/packages/protobuf/tsconfig.json new file mode 100644 index 0000000000..059881bcf0 --- /dev/null +++ b/packages/protobuf/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "tsconfig/base.json", + "include": ["src/*.ts"], + "exclude": ["node_modules", "dist"], + "compilerOptions": { + "outDir": "dist" + } +} diff --git a/packages/transport-dom/src/create.ts b/packages/transport-dom/src/create.ts index b89a718c5d..8d6ad96fc6 100644 --- a/packages/transport-dom/src/create.ts +++ b/packages/transport-dom/src/create.ts @@ -49,8 +49,8 @@ export interface ChannelTransportOptions export const createChannelTransport = ({ getPort, - defaultTimeoutMs, jsonOptions, + defaultTimeoutMs = 10_000, }: ChannelTransportOptions) => { const pending = new Map void>(); @@ -65,9 +65,6 @@ export const createChannelTransport = ({ * that moment, using the `getPort` function from options. Message listeners * are attached during this process. Failure will reject the first request. * - * Any createChannelTransport caller should supply `defaultTimeoutMs` or init - * may stall forever. - * * @returns A promise that resolves when the channel is acquired. */ const connect = async () => { diff --git a/packages/types/package.json b/packages/types/package.json index ad7cbd81ee..e48ff88878 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -32,16 +32,12 @@ }, "devDependencies": { "@buf/cosmos_ibc.bufbuild_es": "1.9.0-20240327103030-e2006674271c.1", - "@buf/cosmos_ibc.connectrpc_es": "1.4.0-20240327103030-e2006674271c.2", "@buf/penumbra-zone_penumbra.bufbuild_es": "1.9.0-20240429125510-24b08e70bbc2.1", - "@buf/penumbra-zone_penumbra.connectrpc_es": "1.4.0-20240429125510-24b08e70bbc2.2", "@bufbuild/protobuf": "^1.9.0" }, "peerDependencies": { "@buf/cosmos_ibc.bufbuild_es": "1.9.0-20240327103030-e2006674271c.1", - "@buf/cosmos_ibc.connectrpc_es": "1.4.0-20240327103030-e2006674271c.2", "@buf/penumbra-zone_penumbra.bufbuild_es": "1.9.0-20240429125510-24b08e70bbc2.1", - "@buf/penumbra-zone_penumbra.connectrpc_es": "1.4.0-20240429125510-24b08e70bbc2.2", "@bufbuild/protobuf": "^1.9.0" } } diff --git a/packages/types/vite.config.ts b/packages/types/vite.config.ts index 22ff196e6c..b70a9bfcf7 100644 --- a/packages/types/vite.config.ts +++ b/packages/types/vite.config.ts @@ -17,7 +17,6 @@ export default defineConfig({ jsonified: './src/jsonified.ts', 'lo-hi': './src/lo-hi.ts', querier: './src/querier.ts', - registry: './src/registry.ts', servers: './src/servers.ts', services: './src/services.ts', staking: './src/staking.ts', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88cb67838b..3c827a9539 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -277,6 +277,9 @@ importers: '@penumbra-zone/polyfills': specifier: workspace:* version: link:../../packages/polyfills + '@penumbra-zone/protobuf': + specifier: workspace:* + version: link:../../packages/protobuf '@radix-ui/react-icons': specifier: ^1.3.0 version: 1.3.0(react@18.3.1) @@ -574,12 +577,12 @@ importers: packages/client: dependencies: + '@penumbra-zone/protobuf': + specifier: workspace:* + version: link:../protobuf '@penumbra-zone/transport-dom': specifier: workspace:* version: link:../transport-dom - '@penumbra-zone/types': - specifier: workspace:* - version: link:../types devDependencies: '@bufbuild/protobuf': specifier: ^1.9.0 @@ -588,14 +591,7 @@ importers: specifier: ^1.4.0 version: 1.4.0(@bufbuild/protobuf@1.9.0) - packages/constants: - devDependencies: - '@buf/penumbra-zone_penumbra.bufbuild_es': - specifier: 1.9.0-20240429125510-24b08e70bbc2.1 - version: 1.9.0-20240429125510-24b08e70bbc2.1(@bufbuild/protobuf@1.9.0) - '@bufbuild/protobuf': - specifier: ^1.9.0 - version: 1.9.0 + packages/constants: {} packages/crypto: dependencies: @@ -655,6 +651,28 @@ importers: specifier: ^3.0.0 version: 3.0.0 + packages/protobuf: + dependencies: + '@buf/cosmos_ibc.bufbuild_es': + specifier: 1.9.0-20240327103030-e2006674271c.1 + version: 1.9.0-20240327103030-e2006674271c.1(@bufbuild/protobuf@1.9.0) + '@buf/cosmos_ibc.connectrpc_es': + specifier: 1.4.0-20240327103030-e2006674271c.2 + version: 1.4.0-20240327103030-e2006674271c.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0) + '@buf/penumbra-zone_penumbra.bufbuild_es': + specifier: 1.9.0-20240429125510-24b08e70bbc2.1 + version: 1.9.0-20240429125510-24b08e70bbc2.1(@bufbuild/protobuf@1.9.0) + '@buf/penumbra-zone_penumbra.connectrpc_es': + specifier: 1.4.0-20240429125510-24b08e70bbc2.2 + version: 1.4.0-20240429125510-24b08e70bbc2.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0) + devDependencies: + '@bufbuild/protobuf': + specifier: ^1.9.0 + version: 1.9.0 + '@connectrpc/connect': + specifier: ^1.4.0 + version: 1.4.0(@bufbuild/protobuf@1.9.0) + packages/query: dependencies: '@penumbra-zone/bech32m': @@ -893,15 +911,9 @@ importers: '@buf/cosmos_ibc.bufbuild_es': specifier: 1.9.0-20240327103030-e2006674271c.1 version: 1.9.0-20240327103030-e2006674271c.1(@bufbuild/protobuf@1.9.0) - '@buf/cosmos_ibc.connectrpc_es': - specifier: 1.4.0-20240327103030-e2006674271c.2 - version: 1.4.0-20240327103030-e2006674271c.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0) '@buf/penumbra-zone_penumbra.bufbuild_es': specifier: 1.9.0-20240429125510-24b08e70bbc2.1 version: 1.9.0-20240429125510-24b08e70bbc2.1(@bufbuild/protobuf@1.9.0) - '@buf/penumbra-zone_penumbra.connectrpc_es': - specifier: 1.4.0-20240429125510-24b08e70bbc2.2 - version: 1.4.0-20240429125510-24b08e70bbc2.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0) '@bufbuild/protobuf': specifier: ^1.9.0 version: 1.9.0 @@ -2471,7 +2483,7 @@ packages: dev: true /@buf/connectrpc_eliza.bufbuild_es@1.7.2-20230913231627-233fca715f49.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/connectrpc_eliza.bufbuild_es/-/connectrpc_eliza.bufbuild_es-1.7.2-20230913231627-233fca715f49.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/connectrpc_eliza.bufbuild_es/-/connectrpc_eliza.bufbuild_es-1.7.2-20230913231627-233fca715f49.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: @@ -2479,7 +2491,7 @@ packages: dev: true /@buf/connectrpc_eliza.bufbuild_es@1.9.0-20230913231627-233fca715f49.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/connectrpc_eliza.bufbuild_es/-/connectrpc_eliza.bufbuild_es-1.9.0-20230913231627-233fca715f49.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/connectrpc_eliza.bufbuild_es/-/connectrpc_eliza.bufbuild_es-1.9.0-20230913231627-233fca715f49.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: @@ -2487,7 +2499,7 @@ packages: dev: true /@buf/connectrpc_eliza.connectrpc_es@1.4.0-20230913231627-233fca715f49.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/connectrpc_eliza.connectrpc_es/-/connectrpc_eliza.connectrpc_es-1.4.0-20230913231627-233fca715f49.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/connectrpc_eliza.connectrpc_es/-/connectrpc_eliza.connectrpc_es-1.4.0-20230913231627-233fca715f49.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2498,21 +2510,21 @@ packages: dev: true /@buf/cosmos_cosmos-proto.bufbuild_es@1.7.2-20211202220400-1935555c206d.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-proto.bufbuild_es/-/cosmos_cosmos-proto.bufbuild_es-1.7.2-20211202220400-1935555c206d.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-proto.bufbuild_es/-/cosmos_cosmos-proto.bufbuild_es-1.7.2-20211202220400-1935555c206d.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_cosmos-proto.bufbuild_es@1.9.0-20211202220400-1935555c206d.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-proto.bufbuild_es/-/cosmos_cosmos-proto.bufbuild_es-1.9.0-20211202220400-1935555c206d.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-proto.bufbuild_es/-/cosmos_cosmos-proto.bufbuild_es-1.9.0-20211202220400-1935555c206d.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_cosmos-proto.connectrpc_es@1.4.0-20211202220400-1935555c206d.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-proto.connectrpc_es/-/cosmos_cosmos-proto.connectrpc_es-1.4.0-20211202220400-1935555c206d.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-proto.connectrpc_es/-/cosmos_cosmos-proto.connectrpc_es-1.4.0-20211202220400-1935555c206d.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2522,7 +2534,7 @@ packages: - '@bufbuild/protobuf' /@buf/cosmos_cosmos-sdk.bufbuild_es@1.7.2-20230522115704-e7a85cef453e.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.7.2-20230522115704-e7a85cef453e.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.7.2-20230522115704-e7a85cef453e.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: @@ -2532,7 +2544,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_cosmos-sdk.bufbuild_es@1.7.2-20230719110346-aa25660f4ff7.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.7.2-20230719110346-aa25660f4ff7.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.7.2-20230719110346-aa25660f4ff7.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: @@ -2542,7 +2554,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_cosmos-sdk.bufbuild_es@1.9.0-20230522115704-e7a85cef453e.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.9.0-20230522115704-e7a85cef453e.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.9.0-20230522115704-e7a85cef453e.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: @@ -2552,7 +2564,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_cosmos-sdk.bufbuild_es@1.9.0-20230719110346-aa25660f4ff7.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.9.0-20230719110346-aa25660f4ff7.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.bufbuild_es/-/cosmos_cosmos-sdk.bufbuild_es-1.9.0-20230719110346-aa25660f4ff7.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: @@ -2562,7 +2574,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_cosmos-sdk.connectrpc_es@1.4.0-20230522115704-e7a85cef453e.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.connectrpc_es/-/cosmos_cosmos-sdk.connectrpc_es-1.4.0-20230522115704-e7a85cef453e.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.connectrpc_es/-/cosmos_cosmos-sdk.connectrpc_es-1.4.0-20230522115704-e7a85cef453e.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2575,7 +2587,7 @@ packages: - '@bufbuild/protobuf' /@buf/cosmos_cosmos-sdk.connectrpc_es@1.4.0-20230719110346-aa25660f4ff7.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.connectrpc_es/-/cosmos_cosmos-sdk.connectrpc_es-1.4.0-20230719110346-aa25660f4ff7.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_cosmos-sdk.connectrpc_es/-/cosmos_cosmos-sdk.connectrpc_es-1.4.0-20230719110346-aa25660f4ff7.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2588,35 +2600,35 @@ packages: - '@bufbuild/protobuf' /@buf/cosmos_gogo-proto.bufbuild_es@1.7.2-20221020125208-34d970b699f8.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.7.2-20221020125208-34d970b699f8.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.7.2-20221020125208-34d970b699f8.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_gogo-proto.bufbuild_es@1.7.2-20230509103710-5e5b9fdd0180.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.7.2-20230509103710-5e5b9fdd0180.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.7.2-20230509103710-5e5b9fdd0180.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_gogo-proto.bufbuild_es@1.9.0-20221020125208-34d970b699f8.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.9.0-20221020125208-34d970b699f8.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.9.0-20221020125208-34d970b699f8.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_gogo-proto.bufbuild_es@1.9.0-20230509103710-5e5b9fdd0180.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.9.0-20230509103710-5e5b9fdd0180.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.bufbuild_es/-/cosmos_gogo-proto.bufbuild_es-1.9.0-20230509103710-5e5b9fdd0180.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_gogo-proto.connectrpc_es@1.4.0-20221020125208-34d970b699f8.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.connectrpc_es/-/cosmos_gogo-proto.connectrpc_es-1.4.0-20221020125208-34d970b699f8.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.connectrpc_es/-/cosmos_gogo-proto.connectrpc_es-1.4.0-20221020125208-34d970b699f8.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2626,7 +2638,7 @@ packages: - '@bufbuild/protobuf' /@buf/cosmos_gogo-proto.connectrpc_es@1.4.0-20230509103710-5e5b9fdd0180.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.connectrpc_es/-/cosmos_gogo-proto.connectrpc_es-1.4.0-20230509103710-5e5b9fdd0180.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_gogo-proto.connectrpc_es/-/cosmos_gogo-proto.connectrpc_es-1.4.0-20230509103710-5e5b9fdd0180.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2636,7 +2648,7 @@ packages: - '@bufbuild/protobuf' /@buf/cosmos_ibc.bufbuild_es@1.7.2-20230913112312-7ab44ae956a0.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.7.2-20230913112312-7ab44ae956a0.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.7.2-20230913112312-7ab44ae956a0.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: @@ -2648,7 +2660,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_ibc.bufbuild_es@1.7.2-20240327103030-e2006674271c.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.7.2-20240327103030-e2006674271c.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.7.2-20240327103030-e2006674271c.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: @@ -2660,7 +2672,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_ibc.bufbuild_es@1.9.0-20230913112312-7ab44ae956a0.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.9.0-20230913112312-7ab44ae956a0.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.9.0-20230913112312-7ab44ae956a0.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: @@ -2672,7 +2684,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_ibc.bufbuild_es@1.9.0-20240327103030-e2006674271c.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.9.0-20240327103030-e2006674271c.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.bufbuild_es/-/cosmos_ibc.bufbuild_es-1.9.0-20240327103030-e2006674271c.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: @@ -2684,7 +2696,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_ibc.connectrpc_es@1.4.0-20230913112312-7ab44ae956a0.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.connectrpc_es/-/cosmos_ibc.connectrpc_es-1.4.0-20230913112312-7ab44ae956a0.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.connectrpc_es/-/cosmos_ibc.connectrpc_es-1.4.0-20230913112312-7ab44ae956a0.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2699,7 +2711,7 @@ packages: - '@bufbuild/protobuf' /@buf/cosmos_ibc.connectrpc_es@1.4.0-20240327103030-e2006674271c.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.connectrpc_es/-/cosmos_ibc.connectrpc_es-1.4.0-20240327103030-e2006674271c.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ibc.connectrpc_es/-/cosmos_ibc.connectrpc_es-1.4.0-20240327103030-e2006674271c.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2714,21 +2726,21 @@ packages: - '@bufbuild/protobuf' /@buf/cosmos_ics23.bufbuild_es@1.7.2-20221207100654-55085f7c710a.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ics23.bufbuild_es/-/cosmos_ics23.bufbuild_es-1.7.2-20221207100654-55085f7c710a.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ics23.bufbuild_es/-/cosmos_ics23.bufbuild_es-1.7.2-20221207100654-55085f7c710a.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_ics23.bufbuild_es@1.9.0-20221207100654-55085f7c710a.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ics23.bufbuild_es/-/cosmos_ics23.bufbuild_es-1.9.0-20221207100654-55085f7c710a.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ics23.bufbuild_es/-/cosmos_ics23.bufbuild_es-1.9.0-20221207100654-55085f7c710a.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/cosmos_ics23.connectrpc_es@1.4.0-20221207100654-55085f7c710a.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ics23.connectrpc_es/-/cosmos_ics23.connectrpc_es-1.4.0-20221207100654-55085f7c710a.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/cosmos_ics23.connectrpc_es/-/cosmos_ics23.connectrpc_es-1.4.0-20221207100654-55085f7c710a.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2738,49 +2750,49 @@ packages: - '@bufbuild/protobuf' /@buf/googleapis_googleapis.bufbuild_es@1.7.2-20220908150232-8d7204855ec1.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.7.2-20220908150232-8d7204855ec1.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.7.2-20220908150232-8d7204855ec1.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/googleapis_googleapis.bufbuild_es@1.7.2-20221214150216-75b4300737fb.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.7.2-20221214150216-75b4300737fb.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.7.2-20221214150216-75b4300737fb.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/googleapis_googleapis.bufbuild_es@1.7.2-20230502210827-cc916c318597.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.7.2-20230502210827-cc916c318597.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.7.2-20230502210827-cc916c318597.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/googleapis_googleapis.bufbuild_es@1.9.0-20220908150232-8d7204855ec1.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.9.0-20220908150232-8d7204855ec1.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.9.0-20220908150232-8d7204855ec1.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/googleapis_googleapis.bufbuild_es@1.9.0-20221214150216-75b4300737fb.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.9.0-20221214150216-75b4300737fb.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.9.0-20221214150216-75b4300737fb.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/googleapis_googleapis.bufbuild_es@1.9.0-20230502210827-cc916c318597.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.9.0-20230502210827-cc916c318597.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.bufbuild_es/-/googleapis_googleapis.bufbuild_es-1.9.0-20230502210827-cc916c318597.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: '@bufbuild/protobuf': 1.9.0 /@buf/googleapis_googleapis.connectrpc_es@1.4.0-20220908150232-8d7204855ec1.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.connectrpc_es/-/googleapis_googleapis.connectrpc_es-1.4.0-20220908150232-8d7204855ec1.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.connectrpc_es/-/googleapis_googleapis.connectrpc_es-1.4.0-20220908150232-8d7204855ec1.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2790,7 +2802,7 @@ packages: - '@bufbuild/protobuf' /@buf/googleapis_googleapis.connectrpc_es@1.4.0-20221214150216-75b4300737fb.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.connectrpc_es/-/googleapis_googleapis.connectrpc_es-1.4.0-20221214150216-75b4300737fb.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.connectrpc_es/-/googleapis_googleapis.connectrpc_es-1.4.0-20221214150216-75b4300737fb.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2800,7 +2812,7 @@ packages: - '@bufbuild/protobuf' /@buf/googleapis_googleapis.connectrpc_es@1.4.0-20230502210827-cc916c318597.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.connectrpc_es/-/googleapis_googleapis.connectrpc_es-1.4.0-20230502210827-cc916c318597.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/googleapis_googleapis.connectrpc_es/-/googleapis_googleapis.connectrpc_es-1.4.0-20230502210827-cc916c318597.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2810,7 +2822,7 @@ packages: - '@bufbuild/protobuf' /@buf/penumbra-zone_penumbra.bufbuild_es@1.7.2-20240429125510-24b08e70bbc2.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/penumbra-zone_penumbra.bufbuild_es/-/penumbra-zone_penumbra.bufbuild_es-1.7.2-20240429125510-24b08e70bbc2.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/penumbra-zone_penumbra.bufbuild_es/-/penumbra-zone_penumbra.bufbuild_es-1.7.2-20240429125510-24b08e70bbc2.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.7.2 dependencies: @@ -2823,7 +2835,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/penumbra-zone_penumbra.bufbuild_es@1.9.0-20240429125510-24b08e70bbc2.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/penumbra-zone_penumbra.bufbuild_es/-/penumbra-zone_penumbra.bufbuild_es-1.9.0-20240429125510-24b08e70bbc2.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/penumbra-zone_penumbra.bufbuild_es/-/penumbra-zone_penumbra.bufbuild_es-1.9.0-20240429125510-24b08e70bbc2.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: @@ -2836,7 +2848,7 @@ packages: '@bufbuild/protobuf': 1.9.0 /@buf/penumbra-zone_penumbra.connectrpc_es@1.4.0-20240429125510-24b08e70bbc2.2(@bufbuild/protobuf@1.9.0)(@connectrpc/connect@1.4.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/penumbra-zone_penumbra.connectrpc_es/-/penumbra-zone_penumbra.connectrpc_es-1.4.0-20240429125510-24b08e70bbc2.2.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/penumbra-zone_penumbra.connectrpc_es/-/penumbra-zone_penumbra.connectrpc_es-1.4.0-20240429125510-24b08e70bbc2.2.tgz} peerDependencies: '@connectrpc/connect': ^1.4.0 dependencies: @@ -2852,7 +2864,7 @@ packages: - '@bufbuild/protobuf' /@buf/tendermint_tendermint.bufbuild_es@1.9.0-20231117195010-33ed361a9051.1(@bufbuild/protobuf@1.9.0): - resolution: {tarball: https://buf.build/gen/npm/v1/@buf/tendermint_tendermint.bufbuild_es/-/tendermint_tendermint.bufbuild_es-1.9.0-20231117195010-33ed361a9051.1.tgz} + resolution: {registry: https://buf.build/gen/npm/v1/, tarball: https://buf.build/gen/npm/v1/@buf/tendermint_tendermint.bufbuild_es/-/tendermint_tendermint.bufbuild_es-1.9.0-20231117195010-33ed361a9051.1.tgz} peerDependencies: '@bufbuild/protobuf': ^1.9.0 dependencies: