diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e9e0a31..147cd66a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,8 @@ is always set. - @cosmjs/tendermint-rpc: Change type of `GenesisResponse.appState` to `Record | undefined`. +- @cosmjs/tendermint-rpc: Remove obsolete `TxData.tags` and make `TxData.events` + non-optional. - @cosmjs/utils: Add `assertDefined`. - @cosmjs/faucet: Rename binary from `cosmwasm-faucet` to `cosmos-faucet`. diff --git a/packages/tendermint-rpc/src/client.spec.ts b/packages/tendermint-rpc/src/client.spec.ts index ff4703f0..41f4a052 100644 --- a/packages/tendermint-rpc/src/client.spec.ts +++ b/packages/tendermint-rpc/src/client.spec.ts @@ -485,6 +485,7 @@ function websocketTestSuite(rpcFactory: () => RpcClient, adaptor: Adaptor, appCr expect(event.height).toBeGreaterThan(0); expect(event.index).toEqual(0); expect(event.result).toBeTruthy(); + expect(event.result.events.length).toBeGreaterThanOrEqual(1); events.push(event); @@ -507,12 +508,7 @@ function websocketTestSuite(rpcFactory: () => RpcClient, adaptor: Adaptor, appCr expect(events.length).toEqual(2); // Meta expect(events[1].height).toEqual(events[0].height + 1); - if (events[1].result.tags && events[0].result.tags) { - expect(events[1].result.tags).not.toEqual(events[0].result.tags); - } - if (events[1].result.events && events[0].result.events) { - expect(events[1].result.events).not.toEqual(events[0].result.events); - } + expect(events[1].result.events).not.toEqual(events[0].result.events); // Content expect(events[0].tx).toEqual(transactionData1); expect(events[1].tx).toEqual(transactionData2); @@ -536,6 +532,7 @@ function websocketTestSuite(rpcFactory: () => RpcClient, adaptor: Adaptor, appCr expect(event.height).toBeGreaterThan(0); expect(event.index).toEqual(0); expect(event.result).toBeTruthy(); + expect(event.result.events.length).toBeGreaterThanOrEqual(1); events.push(event); if (events.length === 2) { @@ -554,12 +551,7 @@ function websocketTestSuite(rpcFactory: () => RpcClient, adaptor: Adaptor, appCr expect(events.length).toEqual(2); // Meta expect(events[1].height).toEqual(events[0].height + 1); - if (events[1].result.tags && events[0].result.tags) { - expect(events[1].result.tags).not.toEqual(events[0].result.tags); - } - if (events[1].result.events && events[0].result.events) { - expect(events[1].result.events).not.toEqual(events[0].result.events); - } + expect(events[1].result.events).not.toEqual(events[0].result.events); // Content expect(events[0].tx).toEqual(transactionData1); expect(events[1].tx).toEqual(transactionData2); diff --git a/packages/tendermint-rpc/src/responses.ts b/packages/tendermint-rpc/src/responses.ts index 9f3ae892..09b00e9e 100644 --- a/packages/tendermint-rpc/src/responses.ts +++ b/packages/tendermint-rpc/src/responses.ts @@ -177,8 +177,7 @@ export interface TxData { readonly code: number; readonly log?: string; readonly data?: Uint8Array; - readonly tags?: readonly Tag[]; - readonly events?: readonly Event[]; + readonly events: readonly Event[]; // readonly fees?: any; } diff --git a/packages/tendermint-rpc/src/v0-33/responses.ts b/packages/tendermint-rpc/src/v0-33/responses.ts index 3e785ac1..f15ab54e 100644 --- a/packages/tendermint-rpc/src/v0-33/responses.ts +++ b/packages/tendermint-rpc/src/v0-33/responses.ts @@ -126,7 +126,7 @@ interface RpcTxData { readonly code?: number; readonly log?: string; readonly data?: Base64String; - readonly events?: readonly RpcEvent[]; + readonly events: readonly RpcEvent[]; } function decodeTxData(data: RpcTxData): responses.TxData { @@ -134,7 +134,7 @@ function decodeTxData(data: RpcTxData): responses.TxData { data: may(Base64.decode, data.data), log: data.log, code: Integer.parse(assertNumber(optional(data.code, 0))), - events: may(decodeEvents, data.events), + events: decodeEvents(data.events), }; } diff --git a/packages/tendermint-rpc/types/responses.d.ts b/packages/tendermint-rpc/types/responses.d.ts index 7707c6e1..1fbf7912 100644 --- a/packages/tendermint-rpc/types/responses.d.ts +++ b/packages/tendermint-rpc/types/responses.d.ts @@ -138,8 +138,7 @@ export interface TxData { readonly code: number; readonly log?: string; readonly data?: Uint8Array; - readonly tags?: readonly Tag[]; - readonly events?: readonly Event[]; + readonly events: readonly Event[]; } export interface TxProof { readonly data: Uint8Array;