diff --git a/packages/bcp/src/decode.ts b/packages/bcp/src/decode.ts index 72eaf9cf..a6c40170 100644 --- a/packages/bcp/src/decode.ts +++ b/packages/bcp/src/decode.ts @@ -1,4 +1,4 @@ -import { TxsResponse } from "@cosmwasm/sdk"; +import { isAminoStdTx, TxsResponse } from "@cosmwasm/sdk"; import { Address, Algorithm, @@ -19,7 +19,7 @@ import { import { Encoding } from "@iov/encoding"; import amino from "@tendermint/amino-js"; -import { coinToAmount, isAminoStdTx, TokenInfos } from "./types"; +import { coinToAmount, TokenInfos } from "./types"; const { fromBase64 } = Encoding; diff --git a/packages/bcp/src/types.ts b/packages/bcp/src/types.ts index 8a77aa71..8e3bccc1 100644 --- a/packages/bcp/src/types.ts +++ b/packages/bcp/src/types.ts @@ -1,13 +1,6 @@ import { Amount, Nonce, Token } from "@iov/bcp"; import amino from "@tendermint/amino-js"; -export function isAminoStdTx(txValue: amino.TxValue): txValue is amino.StdTx { - const { memo, msg, fee, signatures } = txValue as amino.StdTx; - return ( - typeof memo === "string" && Array.isArray(msg) && typeof fee === "object" && Array.isArray(signatures) - ); -} - export interface TokenInfo extends Token { readonly denom: string; } diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts index c5976e02..f8dbdc95 100644 --- a/packages/sdk/src/index.ts +++ b/packages/sdk/src/index.ts @@ -1,2 +1,2 @@ export { RestClient, TxsResponse } from "./restclient"; -export { AminoTx } from "./types"; +export { AminoTx, isAminoStdTx } from "./types"; diff --git a/packages/sdk/src/types.ts b/packages/sdk/src/types.ts index 7b5d6599..c8a0ef72 100644 --- a/packages/sdk/src/types.ts +++ b/packages/sdk/src/types.ts @@ -1,3 +1,10 @@ import amino from "@tendermint/amino-js"; export type AminoTx = amino.Tx & { readonly value: amino.StdTx }; + +export function isAminoStdTx(txValue: amino.TxValue): txValue is amino.StdTx { + const { memo, msg, fee, signatures } = txValue as amino.StdTx; + return ( + typeof memo === "string" && Array.isArray(msg) && typeof fee === "object" && Array.isArray(signatures) + ); +} diff --git a/packages/sdk/types/index.d.ts b/packages/sdk/types/index.d.ts index c5976e02..f8dbdc95 100644 --- a/packages/sdk/types/index.d.ts +++ b/packages/sdk/types/index.d.ts @@ -1,2 +1,2 @@ export { RestClient, TxsResponse } from "./restclient"; -export { AminoTx } from "./types"; +export { AminoTx, isAminoStdTx } from "./types"; diff --git a/packages/sdk/types/types.d.ts b/packages/sdk/types/types.d.ts index e0c11766..cb5a44a9 100644 --- a/packages/sdk/types/types.d.ts +++ b/packages/sdk/types/types.d.ts @@ -2,3 +2,4 @@ import amino from "@tendermint/amino-js"; export declare type AminoTx = amino.Tx & { readonly value: amino.StdTx; }; +export declare function isAminoStdTx(txValue: amino.TxValue): txValue is amino.StdTx;