diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a9efc12..b383714c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - @cosmjs/tendermint-rpc: Remove export `v0_33` in favour of `adaptor33` and `adaptor34`. Export the `Adaptor` type. - @cosmjs/tendermint-rpc: Export `DateTime` class. +- @cosmjs/tendermint-rpc: Remove type `QueryString`. Use `string` instead. ## 0.23.1 (2020-10-27) diff --git a/packages/cosmwasm-stargate/src/cosmwasmclient.ts b/packages/cosmwasm-stargate/src/cosmwasmclient.ts index e99b41ce..ea6c8e5c 100644 --- a/packages/cosmwasm-stargate/src/cosmwasmclient.ts +++ b/packages/cosmwasm-stargate/src/cosmwasmclient.ts @@ -36,7 +36,6 @@ import { broadcastTxCommitSuccess, Client as TendermintClient, DateTime, - QueryString, } from "@cosmjs/tendermint-rpc"; import { assert } from "@cosmjs/utils"; @@ -343,10 +342,7 @@ export class CosmWasmClient { } private async txsQuery(query: string): Promise { - const params = { - query: query as QueryString, - }; - const results = await this.tmClient.txSearchAll(params); + const results = await this.tmClient.txSearchAll({ query: query }); return results.txs.map((tx) => { return { height: tx.height, diff --git a/packages/stargate/src/stargateclient.ts b/packages/stargate/src/stargateclient.ts index ca2b1fe0..4f01f6d1 100644 --- a/packages/stargate/src/stargateclient.ts +++ b/packages/stargate/src/stargateclient.ts @@ -12,12 +12,7 @@ import { } from "@cosmjs/launchpad"; import { Uint53, Uint64 } from "@cosmjs/math"; import { decodePubkey } from "@cosmjs/proto-signing"; -import { - adaptor34, - broadcastTxCommitSuccess, - Client as TendermintClient, - QueryString, -} from "@cosmjs/tendermint-rpc"; +import { adaptor34, broadcastTxCommitSuccess, Client as TendermintClient } from "@cosmjs/tendermint-rpc"; import { assert, assertDefined } from "@cosmjs/utils"; import Long from "long"; @@ -281,10 +276,7 @@ export class StargateClient { } private async txsQuery(query: string): Promise { - const params = { - query: query as QueryString, - }; - const results = await this.tmClient.txSearchAll(params); + const results = await this.tmClient.txSearchAll({ query: query }); return results.txs.map((tx) => { return { height: tx.height, diff --git a/packages/tendermint-rpc/src/adaptors/v0-33/requests.ts b/packages/tendermint-rpc/src/adaptors/v0-33/requests.ts index f9501bff..286313c0 100644 --- a/packages/tendermint-rpc/src/adaptors/v0-33/requests.ts +++ b/packages/tendermint-rpc/src/adaptors/v0-33/requests.ts @@ -75,7 +75,7 @@ function encodeTxParams(params: requests.TxParams): RpcTxParams { } interface RpcTxSearchParams { - readonly query: requests.QueryString; + readonly query: string; readonly prove?: boolean; readonly page?: IntegerString; readonly per_page?: IntegerString; diff --git a/packages/tendermint-rpc/src/client.ts b/packages/tendermint-rpc/src/client.ts index 1878b6e0..9df10731 100644 --- a/packages/tendermint-rpc/src/client.ts +++ b/packages/tendermint-rpc/src/client.ts @@ -186,7 +186,7 @@ export class Client { return this.subscribe(request, this.r.decodeNewBlockHeaderEvent); } - public subscribeTx(query?: requests.QueryString): Stream { + public subscribeTx(query?: string): Stream { const request: requests.SubscribeRequest = { method: requests.Method.Subscribe, query: { diff --git a/packages/tendermint-rpc/src/index.ts b/packages/tendermint-rpc/src/index.ts index c01b7fd0..ab9e1f74 100644 --- a/packages/tendermint-rpc/src/index.ts +++ b/packages/tendermint-rpc/src/index.ts @@ -16,7 +16,6 @@ export { HealthRequest, Method, Request, - QueryString, QueryTag, StatusRequest, SubscriptionEventType, diff --git a/packages/tendermint-rpc/src/requests.spec.ts b/packages/tendermint-rpc/src/requests.spec.ts index 5277e0b4..f2134ea8 100644 --- a/packages/tendermint-rpc/src/requests.spec.ts +++ b/packages/tendermint-rpc/src/requests.spec.ts @@ -1,4 +1,4 @@ -import { buildQuery, QueryString } from "./requests"; +import { buildQuery } from "./requests"; describe("Requests", () => { describe("buildQuery", () => { @@ -23,7 +23,7 @@ describe("Requests", () => { }); it("works for raw input", () => { - const query = buildQuery({ raw: "aabbCCDD" as QueryString }); + const query = buildQuery({ raw: "aabbCCDD" }); expect(query).toEqual("aabbCCDD"); }); @@ -33,7 +33,7 @@ describe("Requests", () => { { key: "k", value: "9" }, { key: "L", value: "7" }, ], - raw: "aabbCCDD" as QueryString, + raw: "aabbCCDD", }); expect(query).toEqual("k='9' AND L='7' AND aabbCCDD"); }); diff --git a/packages/tendermint-rpc/src/requests.ts b/packages/tendermint-rpc/src/requests.ts index bb6b1b83..b4c7e8f4 100644 --- a/packages/tendermint-rpc/src/requests.ts +++ b/packages/tendermint-rpc/src/requests.ts @@ -1,5 +1,4 @@ /* eslint-disable @typescript-eslint/naming-convention */ -import { As } from "type-tagger"; /** * RPC methods as documented in https://docs.tendermint.com/master/rpc/ @@ -129,12 +128,10 @@ export interface SubscribeRequest { readonly method: Method.Subscribe; readonly query: { readonly type: SubscriptionEventType; - readonly raw?: QueryString; + readonly raw?: string; }; } -export type QueryString = string & As<"query">; - export interface QueryTag { readonly key: string; readonly value: string; @@ -154,8 +151,9 @@ export interface TxSearchRequest { readonly method: Method.TxSearch; readonly params: TxSearchParams; } + export interface TxSearchParams { - readonly query: QueryString; + readonly query: string; readonly prove?: boolean; readonly page?: number; readonly per_page?: number; @@ -170,13 +168,13 @@ export interface ValidatorsRequest { export interface BuildQueryComponents { readonly tags?: readonly QueryTag[]; - readonly raw?: QueryString; + readonly raw?: string; } -export function buildQuery(components: BuildQueryComponents): QueryString { +export function buildQuery(components: BuildQueryComponents): string { const tags = components.tags ? components.tags : []; const tagComponents = tags.map((tag) => `${tag.key}='${tag.value}'`); const rawComponents = components.raw ? [components.raw] : []; - return [...tagComponents, ...rawComponents].join(" AND ") as QueryString; + return [...tagComponents, ...rawComponents].join(" AND "); } diff --git a/packages/tendermint-rpc/types/client.d.ts b/packages/tendermint-rpc/types/client.d.ts index f6a4830a..e4c8b468 100644 --- a/packages/tendermint-rpc/types/client.d.ts +++ b/packages/tendermint-rpc/types/client.d.ts @@ -62,7 +62,7 @@ export declare class Client { status(): Promise; subscribeNewBlock(): Stream; subscribeNewBlockHeader(): Stream; - subscribeTx(query?: requests.QueryString): Stream; + subscribeTx(query?: string): Stream; /** * Get a single transaction by hash * diff --git a/packages/tendermint-rpc/types/index.d.ts b/packages/tendermint-rpc/types/index.d.ts index 4923480d..675663bc 100644 --- a/packages/tendermint-rpc/types/index.d.ts +++ b/packages/tendermint-rpc/types/index.d.ts @@ -16,7 +16,6 @@ export { HealthRequest, Method, Request, - QueryString, QueryTag, StatusRequest, SubscriptionEventType, diff --git a/packages/tendermint-rpc/types/requests.d.ts b/packages/tendermint-rpc/types/requests.d.ts index c8c8f312..c7284797 100644 --- a/packages/tendermint-rpc/types/requests.d.ts +++ b/packages/tendermint-rpc/types/requests.d.ts @@ -1,4 +1,3 @@ -import { As } from "type-tagger"; /** * RPC methods as documented in https://docs.tendermint.com/master/rpc/ * @@ -113,10 +112,9 @@ export interface SubscribeRequest { readonly method: Method.Subscribe; readonly query: { readonly type: SubscriptionEventType; - readonly raw?: QueryString; + readonly raw?: string; }; } -export declare type QueryString = string & As<"query">; export interface QueryTag { readonly key: string; readonly value: string; @@ -134,7 +132,7 @@ export interface TxSearchRequest { readonly params: TxSearchParams; } export interface TxSearchParams { - readonly query: QueryString; + readonly query: string; readonly prove?: boolean; readonly page?: number; readonly per_page?: number; @@ -147,6 +145,6 @@ export interface ValidatorsRequest { } export interface BuildQueryComponents { readonly tags?: readonly QueryTag[]; - readonly raw?: QueryString; + readonly raw?: string; } -export declare function buildQuery(components: BuildQueryComponents): QueryString; +export declare function buildQuery(components: BuildQueryComponents): string;