diff --git a/packages/stargate/src/queries/queryclient.ts b/packages/stargate/src/queries/queryclient.ts index 31cf9ef1..3af4bdf8 100644 --- a/packages/stargate/src/queries/queryclient.ts +++ b/packages/stargate/src/queries/queryclient.ts @@ -6,6 +6,8 @@ import { Client as TendermintClient, Header, NewBlockHeaderEvent, ProofOp } from import { arrayContentEquals, assert, assertDefined, isNonNullObject, sleep } from "@cosmjs/utils"; import { Stream } from "xstream"; +import { ProofOps } from "../codec/tendermint/crypto/proof"; + type QueryExtensionSetup
= (base: QueryClient) => P;
function checkAndParseOp(op: ProofOp, kind: string, key: Uint8Array): ics23.CommitmentProof {
@@ -18,6 +20,13 @@ function checkAndParseOp(op: ProofOp, kind: string, key: Uint8Array): ics23.Comm
return ics23.CommitmentProof.decode(op.data);
}
+export interface ProvenQuery {
+ readonly key: Uint8Array;
+ readonly value: Uint8Array;
+ readonly proof: ProofOps;
+ readonly height: number;
+}
+
export class QueryClient {
/** Constructs a QueryClient with 0 extensions */
public static withExtensions(tmClient: TendermintClient): QueryClient;
@@ -216,6 +225,44 @@ export class QueryClient {
return response.value;
}
+ public async queryRawProof(store: string, queryKey: Uint8Array): Promise