Merge pull request #791 from cosmos/fee-table-fix

Fix fee table type in SigningCosmWasmClientOptions
This commit is contained in:
Will Clark 2021-05-06 11:18:29 +02:00 committed by GitHub
commit 414874eeda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 18 additions and 30 deletions

View File

@ -6,6 +6,11 @@ and this project adheres to
## [Unreleased]
### Fixed
- @cosmjs/cosmwasm-stargate: Use `CosmWasmFeeTable` instead of `CosmosFeeTable`
in `SigningCosmWasmClientOptions`; export type `CosmWasmFeeTable`.
## [0.25.0] - 2021-05-05
### Added

View File

@ -16,7 +16,7 @@ import { assert } from "@cosmjs/utils";
import { PrivateCosmWasmClient } from "./cosmwasmclient";
import { setupWasmExtension, WasmExtension } from "./lcdapi/wasm";
import { PrivateSigningCosmWasmClient, SigningCosmWasmClient, UploadMeta } from "./signingcosmwasmclient";
import { SigningCosmWasmClient, UploadMeta } from "./signingcosmwasmclient";
import {
alice,
getHackatom,
@ -42,8 +42,7 @@ describe("SigningCosmWasmClient", () => {
const wallet = await Secp256k1HdWallet.fromMnemonic(alice.mnemonic);
const gasPrice = GasPrice.fromString("3.14utest");
const client = new SigningCosmWasmClient(launchpad.endpoint, alice.address0, wallet, gasPrice);
const openedClient = (client as unknown) as PrivateSigningCosmWasmClient;
expect(openedClient.fees).toEqual({
expect(client.fees).toEqual({
upload: {
amount: [
{
@ -113,8 +112,7 @@ describe("SigningCosmWasmClient", () => {
undefined,
gasLimits,
);
const openedClient = (client as unknown) as PrivateSigningCosmWasmClient;
expect(openedClient.fees).toEqual({
expect(client.fees).toEqual({
upload: {
amount: [
{
@ -185,8 +183,7 @@ describe("SigningCosmWasmClient", () => {
gasPrice,
gasLimits,
);
const openedClient = (client as unknown) as PrivateSigningCosmWasmClient;
expect(openedClient.fees).toEqual({
expect(client.fees).toEqual({
upload: {
amount: [
{

View File

@ -143,11 +143,6 @@ function createBroadcastTxErrorMessage(result: BroadcastTxFailure): string {
return `Error when broadcasting tx ${result.transactionHash} at height ${result.height}. Code: ${result.code}; Raw log: ${result.rawLog}`;
}
/** Use for testing only */
export interface PrivateSigningCosmWasmClient {
readonly fees: CosmWasmFeeTable;
}
export class SigningCosmWasmClient extends CosmWasmClient {
public readonly fees: CosmWasmFeeTable;
public readonly signerAddress: string;

View File

@ -16,6 +16,7 @@ export {
} from "./encodeobjects";
export {
defaultGasLimits,
CosmWasmFeeTable, // part of SigningCosmWasmClientOptions
SigningCosmWasmClient,
SigningCosmWasmClientOptions,
} from "./signingcosmwasmclient";

View File

@ -25,7 +25,7 @@ import protobuf from "protobufjs/minimal";
import { MsgStoreCode } from "./codec/cosmwasm/wasm/v1beta1/tx";
import { MsgStoreCodeEncodeObject } from "./encodeobjects";
import { PrivateSigningCosmWasmClient, SigningCosmWasmClient } from "./signingcosmwasmclient";
import { SigningCosmWasmClient } from "./signingcosmwasmclient";
import {
alice,
getHackatom,
@ -56,8 +56,7 @@ describe("SigningCosmWasmClient", () => {
registry.register("/custom.MsgCustom", MsgSend);
const options = { prefix: wasmd.prefix, registry: registry };
const client = await SigningCosmWasmClient.connectWithSigner(wasmd.endpoint, wallet, options);
const openedClient = (client as unknown) as PrivateSigningCosmWasmClient;
expect(openedClient.registry.lookupType("/custom.MsgCustom")).toEqual(MsgSend);
expect(client.registry.lookupType("/custom.MsgCustom")).toEqual(MsgSend);
});
it("can be constructed with custom gas price", async () => {
@ -68,8 +67,7 @@ describe("SigningCosmWasmClient", () => {
gasPrice: GasPrice.fromString("3.14utest"),
};
const client = await SigningCosmWasmClient.connectWithSigner(wasmd.endpoint, wallet, options);
const openedClient = (client as unknown) as PrivateSigningCosmWasmClient;
expect(openedClient.fees).toEqual({
expect(client.fees).toEqual({
upload: {
amount: coins(4710000, "utest"),
gas: "1500000",
@ -123,8 +121,7 @@ describe("SigningCosmWasmClient", () => {
},
};
const client = await SigningCosmWasmClient.connectWithSigner(wasmd.endpoint, wallet, options);
const openedClient = (client as unknown) as PrivateSigningCosmWasmClient;
expect(openedClient.fees).toEqual({
expect(client.fees).toEqual({
upload: {
amount: coins(37500, "ucosm"),
gas: "1500000",
@ -179,8 +176,7 @@ describe("SigningCosmWasmClient", () => {
},
};
const client = await SigningCosmWasmClient.connectWithSigner(wasmd.endpoint, wallet, options);
const openedClient = (client as unknown) as PrivateSigningCosmWasmClient;
expect(openedClient.fees).toEqual({
expect(client.fees).toEqual({
upload: {
amount: coins(4710000, "utest"),
gas: "1500000",

View File

@ -123,17 +123,11 @@ export interface SigningCosmWasmClientOptions {
readonly aminoTypes?: AminoTypes;
readonly prefix?: string;
readonly gasPrice?: GasPrice;
readonly gasLimits?: Partial<GasLimits<CosmosFeeTable>>;
}
/** Use for testing only */
export interface PrivateSigningCosmWasmClient {
readonly fees: CosmWasmFeeTable;
readonly registry: Registry;
readonly gasLimits?: Partial<GasLimits<CosmWasmFeeTable>>;
}
export class SigningCosmWasmClient extends CosmWasmClient {
public readonly fees: CosmosFeeTable;
public readonly fees: CosmWasmFeeTable;
public readonly registry: Registry;
private readonly signer: OfflineSigner;
@ -176,7 +170,7 @@ export class SigningCosmWasmClient extends CosmWasmClient {
gasPrice = defaultGasPrice,
gasLimits = {},
} = options;
this.fees = buildFeeTable<CosmosFeeTable>(gasPrice, defaultGasLimits, gasLimits);
this.fees = buildFeeTable<CosmWasmFeeTable>(gasPrice, defaultGasLimits, gasLimits);
this.registry = registry;
this.aminoTypes = aminoTypes;
this.signer = signer;