diff --git a/__fixtures__/misc/output-impl-interfaces-gen/types.ts b/__fixtures__/misc/output-impl-interfaces-gen/types.ts index 3beeefb49..973fa1e8b 100644 --- a/__fixtures__/misc/output-impl-interfaces-gen/types.ts +++ b/__fixtures__/misc/output-impl-interfaces-gen/types.ts @@ -154,3 +154,4 @@ export interface SigningClientParams { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; } + diff --git a/__fixtures__/misc/output-proto-amino/amino-interface-proto-optionality/types.ts b/__fixtures__/misc/output-proto-amino/amino-interface-proto-optionality/types.ts index 3beeefb49..973fa1e8b 100644 --- a/__fixtures__/misc/output-proto-amino/amino-interface-proto-optionality/types.ts +++ b/__fixtures__/misc/output-proto-amino/amino-interface-proto-optionality/types.ts @@ -154,3 +154,4 @@ export interface SigningClientParams { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; } + diff --git a/__fixtures__/misc/output-proto-amino/amino-interface/types.ts b/__fixtures__/misc/output-proto-amino/amino-interface/types.ts index 3beeefb49..973fa1e8b 100644 --- a/__fixtures__/misc/output-proto-amino/amino-interface/types.ts +++ b/__fixtures__/misc/output-proto-amino/amino-interface/types.ts @@ -154,3 +154,4 @@ export interface SigningClientParams { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; } + diff --git a/__fixtures__/v-next/outputhelperfunc/extern.ts b/__fixtures__/v-next/outputhelperfunc/extern.ts index 9c6bff619..50fb5dc5d 100644 --- a/__fixtures__/v-next/outputhelperfunc/extern.ts +++ b/__fixtures__/v-next/outputhelperfunc/extern.ts @@ -8,7 +8,7 @@ import { HttpEndpoint } from "@interchainjs/types"; import { createQueryRpc, -} from '@interchainjs/cosmos/utils'; +} from '@interchainjs/utils'; import { Rpc } from "./helpers"; const _rpcClients: Record = {}; diff --git a/__fixtures__/v-next/outputhelperfunc/types.ts b/__fixtures__/v-next/outputhelperfunc/types.ts index 3beeefb49..973fa1e8b 100644 --- a/__fixtures__/v-next/outputhelperfunc/types.ts +++ b/__fixtures__/v-next/outputhelperfunc/types.ts @@ -154,3 +154,4 @@ export interface SigningClientParams { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; } + diff --git a/__fixtures__/v-next/outputhelperfunc/vue-query.ts b/__fixtures__/v-next/outputhelperfunc/vue-query.ts index 0cdd9939f..6e7d2d07e 100644 --- a/__fixtures__/v-next/outputhelperfunc/vue-query.ts +++ b/__fixtures__/v-next/outputhelperfunc/vue-query.ts @@ -30,8 +30,9 @@ import { QueryKey, } from '@tanstack/vue-query'; -import { HttpEndpoint, ProtobufRpcClient } from '@cosmjs/stargate'; -import { CometClient, connectComet, Tendermint34Client, Tendermint37Client } from '@cosmjs/tendermint-rpc'; +import { HttpEndpoint } from "@interchainjs/types"; +import { Rpc as ProtobufRpcClient } from "./helpers"; + import {Ref} from 'vue' export const DEFAULT_RPC_CLIENT_QUERY_KEY = 'rpcClient'; @@ -111,32 +112,6 @@ export function useRpcClient({ ); } -interface UseTendermintClient extends VueQueryParams { - rpcEndpoint: string | HttpEndpoint; -} - -/** - * Function that uses vue-query to cache a connected tendermint client. - */ -export const useTendermintClient = ({ - rpcEndpoint, - options, -}: UseTendermintClient) => { - const { data: client } = useQuery({ - queryKey: ['client', 'tendermint', rpcEndpoint], - queryFn: () => connectComet(rpcEndpoint), - ...{ - // allow overriding - onError: (e: any) => { - throw new Error(`Failed to connect to ${rpcEndpoint}` + '\n' + e) - }, - ...options, - } - } - ); - return { client }; -}; - export interface UseQueryBuilderOptions { builderQueryFn: ( clientResolver?: RpcResolver diff --git a/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/staking.ts b/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/staking.ts index dfb5305a9..80be8c429 100644 --- a/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/staking.ts +++ b/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/staking.ts @@ -5,7 +5,7 @@ import { Duration, DurationAmino } from "../../../google/protobuf/duration"; import { Coin, CoinAmino } from "../../base/v1beta1/coin"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { DeepPartial, toTimestamp, fromTimestamp } from "../../../helpers"; -import { encodePubkey, decodePubkey } from "@cosmjs/proto-signing"; +import { encodePubkey, decodePubkey } from "@interchainjs/pubkey"; import { Pubkey } from "@cosmjs/amino"; /** BondStatus is the status of a validator. */ export enum BondStatus { diff --git a/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/tx.ts b/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/tx.ts index dc0e2fa40..acbf3a059 100644 --- a/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/tx.ts +++ b/__fixtures__/v-next/outputicjs/cosmos/staking/v1beta1/tx.ts @@ -4,7 +4,7 @@ import { Coin, CoinAmino } from "../../base/v1beta1/coin"; import { Timestamp } from "../../../google/protobuf/timestamp"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { DeepPartial, toTimestamp, fromTimestamp } from "../../../helpers"; -import { encodePubkey, decodePubkey } from "@cosmjs/proto-signing"; +import { encodePubkey, decodePubkey } from "@interchainjs/pubkey"; import { Pubkey } from "@cosmjs/amino"; /** MsgCreateValidator defines a SDK message for creating a new validator. */ export interface MsgCreateValidator { diff --git a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/proposal.ts b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/proposal.ts index 957e1f12f..6c96e872f 100644 --- a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/proposal.ts +++ b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/proposal.ts @@ -2,7 +2,7 @@ import { AccessConfig, AccessConfigAmino } from "./types"; import { Coin, CoinAmino } from "../../../cosmos/base/v1beta1/coin"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { DeepPartial } from "../../../helpers"; -import { fromBase64, toBase64, toUtf8, fromUtf8 } from "@cosmjs/encoding"; +import { fromBase64, toBase64, toUtf8, fromUtf8 } from "@interchainjs/encoding"; /** StoreCodeProposal gov proposal content type to submit WASM code to the system */ export interface StoreCodeProposal { /** Title is a short summary */ diff --git a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/query.ts b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/query.ts index 25c80ef63..9556636da 100644 --- a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/query.ts +++ b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/query.ts @@ -2,7 +2,7 @@ import { PageRequest, PageRequestAmino, PageResponse, PageResponseAmino } from " import { ContractInfo, ContractInfoAmino, ContractCodeHistoryEntry, ContractCodeHistoryEntryAmino, Model, ModelAmino } from "./types"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { DeepPartial, bytesFromBase64, base64FromBytes } from "../../../helpers"; -import { toUtf8, fromUtf8 } from "@cosmjs/encoding"; +import { toUtf8, fromUtf8 } from "@interchainjs/encoding"; /** * QueryContractInfoRequest is the request type for the Query/ContractInfo RPC * method diff --git a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/tx.ts b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/tx.ts index e0e244e11..950d3141d 100644 --- a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/tx.ts +++ b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/tx.ts @@ -2,7 +2,7 @@ import { AccessConfig, AccessConfigAmino } from "./types"; import { Coin, CoinAmino } from "../../../cosmos/base/v1beta1/coin"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { DeepPartial, bytesFromBase64, base64FromBytes } from "../../../helpers"; -import { fromBase64, toBase64, toUtf8, fromUtf8 } from "@cosmjs/encoding"; +import { fromBase64, toBase64, toUtf8, fromUtf8 } from "@interchainjs/encoding"; /** MsgStoreCode submit Wasm code to the system */ export interface MsgStoreCode { /** Sender is the that actor that signed the messages */ diff --git a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/types.ts b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/types.ts index d7015f6c4..5821d2fdc 100644 --- a/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/types.ts +++ b/__fixtures__/v-next/outputicjs/cosmwasm/wasm/v1/types.ts @@ -1,7 +1,7 @@ import { Any, AnyProtoMsg, AnyAmino } from "../../../google/protobuf/any"; import { BinaryReader, BinaryWriter } from "../../../binary"; import { DeepPartial, bytesFromBase64, base64FromBytes } from "../../../helpers"; -import { toUtf8, fromUtf8 } from "@cosmjs/encoding"; +import { toUtf8, fromUtf8 } from "@interchainjs/encoding"; /** AccessType permission types */ export enum AccessType { /** ACCESS_TYPE_UNSPECIFIED - AccessTypeUnspecified placeholder for empty value */ diff --git a/__fixtures__/v-next/outputicjs/extern.ts b/__fixtures__/v-next/outputicjs/extern.ts index 9c6bff619..50fb5dc5d 100644 --- a/__fixtures__/v-next/outputicjs/extern.ts +++ b/__fixtures__/v-next/outputicjs/extern.ts @@ -8,7 +8,7 @@ import { HttpEndpoint } from "@interchainjs/types"; import { createQueryRpc, -} from '@interchainjs/cosmos/utils'; +} from '@interchainjs/utils'; import { Rpc } from "./helpers"; const _rpcClients: Record = {}; diff --git a/__fixtures__/v-next/outputicjs/types.ts b/__fixtures__/v-next/outputicjs/types.ts index 58eddba1d..7f5f2460e 100644 --- a/__fixtures__/v-next/outputicjs/types.ts +++ b/__fixtures__/v-next/outputicjs/types.ts @@ -6,7 +6,7 @@ import { IBinaryReader, IBinaryWriter } from "./binary"; import { Any } from "./google/protobuf/any"; -import { OfflineSigner } from "@interchainjs/cosmos/types/wallet"; + import { HttpEndpoint } from "@interchainjs/types"; export type ProtoMsg = Omit & { typeUrl: any }; @@ -150,7 +150,3 @@ export interface TxRpc { ): Promise; } -export interface SigningClientParams { - rpcEndpoint: string | HttpEndpoint; - signer: OfflineSigner; -} diff --git a/__fixtures__/v-next/outputinstantrpc/types.ts b/__fixtures__/v-next/outputinstantrpc/types.ts index 3beeefb49..973fa1e8b 100644 --- a/__fixtures__/v-next/outputinstantrpc/types.ts +++ b/__fixtures__/v-next/outputinstantrpc/types.ts @@ -154,3 +154,4 @@ export interface SigningClientParams { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; } + diff --git a/__fixtures__/v-next/outputsign/types.ts b/__fixtures__/v-next/outputsign/types.ts index 3beeefb49..973fa1e8b 100644 --- a/__fixtures__/v-next/outputsign/types.ts +++ b/__fixtures__/v-next/outputsign/types.ts @@ -154,3 +154,4 @@ export interface SigningClientParams { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; } + diff --git a/packages/telescope/src/generators/customize-utils.ts b/packages/telescope/src/generators/customize-utils.ts index fae6e1886..50bb0dbb1 100644 --- a/packages/telescope/src/generators/customize-utils.ts +++ b/packages/telescope/src/generators/customize-utils.ts @@ -2,6 +2,18 @@ import { TelescopeBuilder } from '../builder'; import { UTILS } from '../utils'; export const plugin = (builder: TelescopeBuilder) => { + if(builder.options.useInterchainJs) { + UTILS.encodePubkey = '@interchainjs/pubkey'; + UTILS.decodePubkey = '@interchainjs/pubkey'; + + UTILS.fromBase64 = '@interchainjs/encoding'; + UTILS.fromBech32 = '@interchainjs/encoding'; + UTILS.fromHex = '@interchainjs/encoding'; + UTILS.fromUtf8 = '@interchainjs/encoding'; + UTILS.toBase64 = '@interchainjs/encoding'; + UTILS.toUtf8 = '@interchainjs/encoding'; + } + if ( builder.options.prototypes.typingsFormat.customTypes.useEnhancedDecimal === true diff --git a/packages/telescope/src/helpers/external-icjs.ts b/packages/telescope/src/helpers/external-icjs.ts index 6a4b3debf..eef8a0794 100644 --- a/packages/telescope/src/helpers/external-icjs.ts +++ b/packages/telescope/src/helpers/external-icjs.ts @@ -2,7 +2,7 @@ export const externalIcJs = ` import { HttpEndpoint } from "@interchainjs/types"; import { createQueryRpc, -} from '@interchainjs/cosmos/utils'; +} from '@interchainjs/utils'; import { Rpc } from "./helpers"; const _rpcClients: Record = {}; diff --git a/packages/telescope/src/helpers/types-helper.ts b/packages/telescope/src/helpers/types-helper.ts index 602c11d10..d18d31505 100644 --- a/packages/telescope/src/helpers/types-helper.ts +++ b/packages/telescope/src/helpers/types-helper.ts @@ -7,11 +7,7 @@ export const getTypesHelper = (options: TelescopeOptions) => { import { Any } from "./google/protobuf/any${ options.restoreImportExtension ?? "" }"; -import { OfflineSigner } from "${ - options.useInterchainJs - ? "@interchainjs/cosmos/types/wallet" - : "@cosmjs/proto-signing" - }"; +${options.useInterchainJs ? '' : `import { OfflineSigner } from "@cosmjs/proto-signing";`} import { HttpEndpoint } from "${ options.useInterchainJs ? "@interchainjs/types" : "@cosmjs/tendermint-rpc" }"; @@ -156,10 +152,11 @@ export interface TxRpc { memo: string ): Promise; } - +${options.useInterchainJs ? '' : ` export interface SigningClientParams { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; } +`} `; }; diff --git a/packages/telescope/src/helpers/vue-query-hooks.ts b/packages/telescope/src/helpers/vue-query-hooks.ts index 8584fc81f..976bdab49 100644 --- a/packages/telescope/src/helpers/vue-query-hooks.ts +++ b/packages/telescope/src/helpers/vue-query-hooks.ts @@ -27,12 +27,9 @@ import { QueryKey, } from '@tanstack/vue-query'; -import { HttpEndpoint, ProtobufRpcClient } from '@cosmjs/stargate'; -${ - options.rpcClients.useConnectComet - ? "import { CometClient, connectComet, Tendermint34Client, Tendermint37Client } from '@cosmjs/tendermint-rpc';" - : "import { Tendermint34Client } from '@cosmjs/tendermint-rpc';" -} +import { HttpEndpoint } from "@interchainjs/types"; +import { Rpc as ProtobufRpcClient } from "./helpers${options.restoreImportExtension ?? ""}"; + import {Ref} from 'vue' export const DEFAULT_RPC_CLIENT_QUERY_KEY = 'rpcClient'; @@ -112,44 +109,6 @@ export function useRpcClient({ ); } -${ - options.rpcClients.useConnectComet - ? "interface UseTendermintClient extends VueQueryParams {" - : "interface UseTendermintClient extends VueQueryParams {" -} - rpcEndpoint: string | HttpEndpoint; -} - -/** - * Function that uses vue-query to cache a connected tendermint client. - */ -export const useTendermintClient = ({ - rpcEndpoint, - options, -}: UseTendermintClient) => { -${ - options.rpcClients.useConnectComet - ? " const { data: client } = useQuery({" - : " const { data: client } = useQuery({" -} - queryKey: ['client', 'tendermint', rpcEndpoint], - queryFn: () => ${ - options.rpcClients.useConnectComet - ? "connectComet(rpcEndpoint)" - : "Tendermint34Client.connect(rpcEndpoint)" - }, - ...{ - // allow overriding - onError: (e: any) => { - throw new Error(\`Failed to connect to \${rpcEndpoint}\` + '\\n' + e) - }, - ...options, - } - } - ); - return { client }; -}; - export interface UseQueryBuilderOptions { builderQueryFn: ( clientResolver?: RpcResolver diff --git a/packages/telescope/types/helpers/external-icjs.d.ts b/packages/telescope/types/helpers/external-icjs.d.ts index 042bc3f97..2a0f6b34d 100644 --- a/packages/telescope/types/helpers/external-icjs.d.ts +++ b/packages/telescope/types/helpers/external-icjs.d.ts @@ -1 +1 @@ -export declare const externalIcJs = "\nimport { HttpEndpoint } from \"@interchainjs/types\";\nimport {\n createQueryRpc,\n} from '@interchainjs/cosmos/utils';\nimport { Rpc } from \"./helpers\";\n\nconst _rpcClients: Record = {};\n\nexport const getRpcEndpointKey = (rpcEndpoint: string | HttpEndpoint) => {\n if (typeof rpcEndpoint === 'string') {\n return rpcEndpoint;\n } else if (!!rpcEndpoint) {\n //@ts-ignore\n return rpcEndpoint.url;\n }\n}\n\nexport const getRpcClient = async (rpcEndpoint: string | HttpEndpoint) => {\n const key = getRpcEndpointKey(rpcEndpoint);\n if (!key) return;\n if (_rpcClients.hasOwnProperty(key)) {\n return _rpcClients[key];\n }\n const rpc = await createRpcClient(rpcEndpoint);\n _rpcClients[key] = rpc;\n return rpc;\n}\n\nexport const createRpcClient = async (rpcEndpoint: string | HttpEndpoint) => {\n return createQueryRpc(rpcEndpoint)\n}\n"; +export declare const externalIcJs = "\nimport { HttpEndpoint } from \"@interchainjs/types\";\nimport {\n createQueryRpc,\n} from '@interchainjs/utils';\nimport { Rpc } from \"./helpers\";\n\nconst _rpcClients: Record = {};\n\nexport const getRpcEndpointKey = (rpcEndpoint: string | HttpEndpoint) => {\n if (typeof rpcEndpoint === 'string') {\n return rpcEndpoint;\n } else if (!!rpcEndpoint) {\n //@ts-ignore\n return rpcEndpoint.url;\n }\n}\n\nexport const getRpcClient = async (rpcEndpoint: string | HttpEndpoint) => {\n const key = getRpcEndpointKey(rpcEndpoint);\n if (!key) return;\n if (_rpcClients.hasOwnProperty(key)) {\n return _rpcClients[key];\n }\n const rpc = await createRpcClient(rpcEndpoint);\n _rpcClients[key] = rpc;\n return rpc;\n}\n\nexport const createRpcClient = async (rpcEndpoint: string | HttpEndpoint) => {\n return createQueryRpc(rpcEndpoint)\n}\n";