Use Tendermint34Client
This commit is contained in:
@@ -32,9 +32,8 @@ import {
|
||||
} from "@cosmjs/stargate";
|
||||
import { TxMsgData } from "@cosmjs/stargate/build/codec/cosmos/base/abci/v1beta1/abci";
|
||||
import {
|
||||
adaptor34,
|
||||
broadcastTxCommitSuccess,
|
||||
Client as TendermintClient,
|
||||
Tendermint34Client,
|
||||
toRfc3339WithNanoseconds,
|
||||
} from "@cosmjs/tendermint-rpc";
|
||||
import { assert } from "@cosmjs/utils";
|
||||
@@ -45,22 +44,22 @@ import { setupWasmExtension, WasmExtension } from "./queries";
|
||||
|
||||
/** Use for testing only */
|
||||
export interface PrivateCosmWasmClient {
|
||||
readonly tmClient: TendermintClient;
|
||||
readonly tmClient: Tendermint34Client;
|
||||
readonly queryClient: QueryClient & AuthExtension & BankExtension & WasmExtension;
|
||||
}
|
||||
|
||||
export class CosmWasmClient {
|
||||
private readonly tmClient: TendermintClient;
|
||||
private readonly tmClient: Tendermint34Client;
|
||||
private readonly queryClient: QueryClient & AuthExtension & BankExtension & WasmExtension;
|
||||
private readonly codesCache = new Map<number, CodeDetails>();
|
||||
private chainId: string | undefined;
|
||||
|
||||
public static async connect(endpoint: string): Promise<CosmWasmClient> {
|
||||
const tmClient = await TendermintClient.connect(endpoint, adaptor34);
|
||||
const tmClient = await Tendermint34Client.connect(endpoint);
|
||||
return new CosmWasmClient(tmClient);
|
||||
}
|
||||
|
||||
protected constructor(tmClient: TendermintClient) {
|
||||
protected constructor(tmClient: Tendermint34Client) {
|
||||
this.tmClient = tmClient;
|
||||
this.queryClient = QueryClient.withExtensions(
|
||||
tmClient,
|
||||
|
||||
@@ -43,7 +43,7 @@ import {
|
||||
} from "@cosmjs/stargate";
|
||||
import { SignMode } from "@cosmjs/stargate/build/codec/cosmos/tx/signing/v1beta1/signing";
|
||||
import { TxRaw } from "@cosmjs/stargate/build/codec/cosmos/tx/v1beta1/tx";
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
import Long from "long";
|
||||
import pako from "pako";
|
||||
|
||||
@@ -118,12 +118,12 @@ export class SigningCosmWasmClient extends CosmWasmClient {
|
||||
signer: OfflineSigner,
|
||||
options: SigningCosmWasmClientOptions = {},
|
||||
): Promise<SigningCosmWasmClient> {
|
||||
const tmClient = await TendermintClient.connect(endpoint, adaptor34);
|
||||
const tmClient = await Tendermint34Client.connect(endpoint);
|
||||
return new SigningCosmWasmClient(tmClient, signer, options);
|
||||
}
|
||||
|
||||
private constructor(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
signer: OfflineSigner,
|
||||
options: SigningCosmWasmClientOptions,
|
||||
) {
|
||||
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
} from "@cosmjs/stargate";
|
||||
import { SignMode } from "@cosmjs/stargate/build/codec/cosmos/tx/signing/v1beta1/signing";
|
||||
import { AuthInfo, SignDoc, TxBody } from "@cosmjs/stargate/build/codec/cosmos/tx/v1beta1/tx";
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
|
||||
import { setupWasmExtension, WasmExtension } from "./queries";
|
||||
import hackatom from "./testdata/contract.json";
|
||||
@@ -203,7 +203,7 @@ export function fromOneElementArray<T>(elements: ArrayLike<T>): T {
|
||||
export async function makeWasmClient(
|
||||
endpoint: string,
|
||||
): Promise<QueryClient & AuthExtension & BankExtension & WasmExtension> {
|
||||
const tmClient = await TendermintClient.connect(endpoint, adaptor34);
|
||||
const tmClient = await Tendermint34Client.connect(endpoint);
|
||||
return QueryClient.withExtensions(tmClient, setupAuthExtension, setupBankExtension, setupWasmExtension);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { encodePubkey } from "@cosmjs/proto-signing";
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
import { assert } from "@cosmjs/utils";
|
||||
import Long from "long";
|
||||
|
||||
@@ -9,8 +9,8 @@ import { nonExistentAddress, pendingWithoutSimapp, simapp, unused, validator } f
|
||||
import { AuthExtension, setupAuthExtension } from "./auth";
|
||||
import { QueryClient } from "./queryclient";
|
||||
|
||||
async function makeClientWithAuth(rpcUrl: string): Promise<[QueryClient & AuthExtension, TendermintClient]> {
|
||||
const tmClient = await TendermintClient.connect(rpcUrl, adaptor34);
|
||||
async function makeClientWithAuth(rpcUrl: string): Promise<[QueryClient & AuthExtension, Tendermint34Client]> {
|
||||
const tmClient = await Tendermint34Client.connect(rpcUrl);
|
||||
return [QueryClient.withExtensions(tmClient, setupAuthExtension), tmClient];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
|
||||
import {
|
||||
nonExistentAddress,
|
||||
@@ -10,8 +10,8 @@ import {
|
||||
import { BankExtension, setupBankExtension } from "./bank";
|
||||
import { QueryClient } from "./queryclient";
|
||||
|
||||
async function makeClientWithBank(rpcUrl: string): Promise<[QueryClient & BankExtension, TendermintClient]> {
|
||||
const tmClient = await TendermintClient.connect(rpcUrl, adaptor34);
|
||||
async function makeClientWithBank(rpcUrl: string): Promise<[QueryClient & BankExtension, Tendermint34Client]> {
|
||||
const tmClient = await Tendermint34Client.connect(rpcUrl);
|
||||
return [QueryClient.withExtensions(tmClient, setupBankExtension), tmClient];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { coin, coins } from "@cosmjs/launchpad";
|
||||
import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
import { sleep } from "@cosmjs/utils";
|
||||
|
||||
import { MsgDelegate } from "../codec/cosmos/staking/v1beta1/tx";
|
||||
@@ -13,8 +13,8 @@ import { QueryClient } from "./queryclient";
|
||||
|
||||
async function makeClientWithDistribution(
|
||||
rpcUrl: string,
|
||||
): Promise<[QueryClient & DistributionExtension, TendermintClient]> {
|
||||
const tmClient = await TendermintClient.connect(rpcUrl, adaptor34);
|
||||
): Promise<[QueryClient & DistributionExtension, Tendermint34Client]> {
|
||||
const tmClient = await Tendermint34Client.connect(rpcUrl);
|
||||
return [QueryClient.withExtensions(tmClient, setupDistributionExtension), tmClient];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
import Long from "long";
|
||||
|
||||
import { pendingWithoutSimapp, simapp } from "../testutils.spec";
|
||||
@@ -6,8 +6,8 @@ import { IbcExtension, setupIbcExtension } from "./ibc";
|
||||
import * as ibcTest from "./ibctestdata.spec";
|
||||
import { QueryClient } from "./queryclient";
|
||||
|
||||
async function makeClientWithIbc(rpcUrl: string): Promise<[QueryClient & IbcExtension, TendermintClient]> {
|
||||
const tmClient = await TendermintClient.connect(rpcUrl, adaptor34);
|
||||
async function makeClientWithIbc(rpcUrl: string): Promise<[QueryClient & IbcExtension, Tendermint34Client]> {
|
||||
const tmClient = await Tendermint34Client.connect(rpcUrl);
|
||||
return [QueryClient.withExtensions(tmClient, setupIbcExtension), tmClient];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { toAscii } from "@cosmjs/encoding";
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
|
||||
import { QueryAllBalancesRequest, QueryAllBalancesResponse } from "../codec/cosmos/bank/v1beta1/query";
|
||||
import { Coin } from "../codec/cosmos/base/v1beta1/coin";
|
||||
@@ -8,8 +8,8 @@ import { nonNegativeIntegerMatcher, pendingWithoutSimapp, simapp, unused } from
|
||||
import { QueryClient } from "./queryclient";
|
||||
import { toAccAddress } from "./utils";
|
||||
|
||||
async function makeClient(rpcUrl: string): Promise<[QueryClient, TendermintClient]> {
|
||||
const tmClient = await TendermintClient.connect(rpcUrl, adaptor34);
|
||||
async function makeClient(rpcUrl: string): Promise<[QueryClient, Tendermint34Client]> {
|
||||
const tmClient = await Tendermint34Client.connect(rpcUrl);
|
||||
return [QueryClient.withExtensions(tmClient), tmClient];
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { iavlSpec, ics23, tendermintSpec, verifyExistence, verifyNonExistence } from "@confio/ics23";
|
||||
import { toAscii, toHex } from "@cosmjs/encoding";
|
||||
import { firstEvent } from "@cosmjs/stream";
|
||||
import { Client as TendermintClient, Header, NewBlockHeaderEvent, ProofOp } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client, Header, NewBlockHeaderEvent, ProofOp } from "@cosmjs/tendermint-rpc";
|
||||
import { arrayContentEquals, assert, assertDefined, isNonNullObject, sleep } from "@cosmjs/utils";
|
||||
import { Stream } from "xstream";
|
||||
|
||||
@@ -29,24 +29,24 @@ export interface ProvenQuery {
|
||||
|
||||
export class QueryClient {
|
||||
/** Constructs a QueryClient with 0 extensions */
|
||||
public static withExtensions(tmClient: TendermintClient): QueryClient;
|
||||
public static withExtensions(tmClient: Tendermint34Client): QueryClient;
|
||||
|
||||
/** Constructs a QueryClient with 1 extension */
|
||||
public static withExtensions<A extends object>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
): QueryClient & A;
|
||||
|
||||
/** Constructs a QueryClient with 2 extensions */
|
||||
public static withExtensions<A extends object, B extends object>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
setupExtensionB: QueryExtensionSetup<B>,
|
||||
): QueryClient & A & B;
|
||||
|
||||
/** Constructs a QueryClient with 3 extensions */
|
||||
public static withExtensions<A extends object, B extends object, C extends object>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
setupExtensionB: QueryExtensionSetup<B>,
|
||||
setupExtensionC: QueryExtensionSetup<C>,
|
||||
@@ -54,7 +54,7 @@ export class QueryClient {
|
||||
|
||||
/** Constructs a QueryClient with 4 extensions */
|
||||
public static withExtensions<A extends object, B extends object, C extends object, D extends object>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
setupExtensionB: QueryExtensionSetup<B>,
|
||||
setupExtensionC: QueryExtensionSetup<C>,
|
||||
@@ -69,7 +69,7 @@ export class QueryClient {
|
||||
D extends object,
|
||||
E extends object
|
||||
>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
setupExtensionB: QueryExtensionSetup<B>,
|
||||
setupExtensionC: QueryExtensionSetup<C>,
|
||||
@@ -86,7 +86,7 @@ export class QueryClient {
|
||||
E extends object,
|
||||
F extends object
|
||||
>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
setupExtensionB: QueryExtensionSetup<B>,
|
||||
setupExtensionC: QueryExtensionSetup<C>,
|
||||
@@ -105,7 +105,7 @@ export class QueryClient {
|
||||
F extends object,
|
||||
G extends object
|
||||
>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
setupExtensionB: QueryExtensionSetup<B>,
|
||||
setupExtensionC: QueryExtensionSetup<C>,
|
||||
@@ -126,7 +126,7 @@ export class QueryClient {
|
||||
G extends object,
|
||||
H extends object
|
||||
>(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
setupExtensionA: QueryExtensionSetup<A>,
|
||||
setupExtensionB: QueryExtensionSetup<B>,
|
||||
setupExtensionC: QueryExtensionSetup<C>,
|
||||
@@ -138,7 +138,7 @@ export class QueryClient {
|
||||
): QueryClient & A & B & C & D & E & F & G & H;
|
||||
|
||||
public static withExtensions(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
...extensionSetups: Array<QueryExtensionSetup<object>>
|
||||
): any {
|
||||
const client = new QueryClient(tmClient);
|
||||
@@ -160,9 +160,9 @@ export class QueryClient {
|
||||
return client;
|
||||
}
|
||||
|
||||
private readonly tmClient: TendermintClient;
|
||||
private readonly tmClient: Tendermint34Client;
|
||||
|
||||
public constructor(tmClient: TendermintClient) {
|
||||
public constructor(tmClient: Tendermint34Client) {
|
||||
this.tmClient = tmClient;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { coin, coins } from "@cosmjs/launchpad";
|
||||
import { DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
import { sleep } from "@cosmjs/utils";
|
||||
|
||||
import { MsgDelegate, MsgUndelegate } from "../codec/cosmos/staking/v1beta1/tx";
|
||||
@@ -13,8 +13,8 @@ import { setupStakingExtension, StakingExtension } from "./staking";
|
||||
|
||||
async function makeClientWithStaking(
|
||||
rpcUrl: string,
|
||||
): Promise<[QueryClient & StakingExtension, TendermintClient]> {
|
||||
const tmClient = await TendermintClient.connect(rpcUrl, adaptor34);
|
||||
): Promise<[QueryClient & StakingExtension, Tendermint34Client]> {
|
||||
const tmClient = await Tendermint34Client.connect(rpcUrl);
|
||||
return [QueryClient.withExtensions(tmClient, setupStakingExtension), tmClient];
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ import {
|
||||
OfflineSigner,
|
||||
Registry,
|
||||
} from "@cosmjs/proto-signing";
|
||||
import { adaptor34, Client as TendermintClient } from "@cosmjs/tendermint-rpc";
|
||||
import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
|
||||
|
||||
import { AminoTypes } from "./aminotypes";
|
||||
import { MsgMultiSend } from "./codec/cosmos/bank/v1beta1/tx";
|
||||
@@ -86,12 +86,12 @@ export class SigningStargateClient extends StargateClient {
|
||||
signer: OfflineSigner,
|
||||
options: SigningStargateClientOptions = {},
|
||||
): Promise<SigningStargateClient> {
|
||||
const tmClient = await TendermintClient.connect(endpoint, adaptor34);
|
||||
const tmClient = await Tendermint34Client.connect(endpoint);
|
||||
return new SigningStargateClient(tmClient, signer, options);
|
||||
}
|
||||
|
||||
private constructor(
|
||||
tmClient: TendermintClient,
|
||||
tmClient: Tendermint34Client,
|
||||
signer: OfflineSigner,
|
||||
options: SigningStargateClientOptions,
|
||||
) {
|
||||
|
||||
@@ -12,9 +12,8 @@ import {
|
||||
import { Uint53, Uint64 } from "@cosmjs/math";
|
||||
import { decodePubkey } from "@cosmjs/proto-signing";
|
||||
import {
|
||||
adaptor34,
|
||||
broadcastTxCommitSuccess,
|
||||
Client as TendermintClient,
|
||||
Tendermint34Client,
|
||||
toRfc3339WithNanoseconds,
|
||||
} from "@cosmjs/tendermint-rpc";
|
||||
import { assert, assertDefinedAndNotNull } from "@cosmjs/utils";
|
||||
@@ -115,20 +114,20 @@ export function coinFromProto(input: Coin): Coin {
|
||||
|
||||
/** Use for testing only */
|
||||
export interface PrivateStargateClient {
|
||||
readonly tmClient: TendermintClient;
|
||||
readonly tmClient: Tendermint34Client;
|
||||
}
|
||||
|
||||
export class StargateClient {
|
||||
private readonly tmClient: TendermintClient;
|
||||
private readonly tmClient: Tendermint34Client;
|
||||
private readonly queryClient: QueryClient & AuthExtension & BankExtension;
|
||||
private chainId: string | undefined;
|
||||
|
||||
public static async connect(endpoint: string): Promise<StargateClient> {
|
||||
const tmClient = await TendermintClient.connect(endpoint, adaptor34);
|
||||
const tmClient = await Tendermint34Client.connect(endpoint);
|
||||
return new StargateClient(tmClient);
|
||||
}
|
||||
|
||||
protected constructor(tmClient: TendermintClient) {
|
||||
protected constructor(tmClient: Tendermint34Client) {
|
||||
this.tmClient = tmClient;
|
||||
this.queryClient = QueryClient.withExtensions(tmClient, setupAuthExtension, setupBankExtension);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user