From 318e37868e0cb214f0cb5fdd5fc6a8425fc11707 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Mon, 21 Sep 2020 13:24:51 +0200 Subject: [PATCH] Fix beginBlockEvents/endBlockEvents --- CHANGELOG.md | 3 +++ packages/tendermint-rpc/src/client.spec.ts | 17 ++++++++++++++++- packages/tendermint-rpc/src/responses.ts | 4 ++-- packages/tendermint-rpc/src/v0-33/responses.ts | 8 ++++---- packages/tendermint-rpc/types/responses.d.ts | 4 ++-- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff3806f42f..01ac395a70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,6 +56,9 @@ `Record | undefined`. - @cosmjs/tendermint-rpc: Remove obsolete `TxData.tags` and make `TxData.events` non-optional. Rename `Tag` to `Attribute`. +- @cosmjs/tendermint-rpc: Remove obsolete `BlockResultsResponse.beginBlock` and + `.beginBlock`. The new `.beginBlockEvents` and `.endBlockEvents` now parse the + events correctly. - @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 41f4a0521e..13bb567df5 100644 --- a/packages/tendermint-rpc/src/client.spec.ts +++ b/packages/tendermint-rpc/src/client.spec.ts @@ -119,7 +119,6 @@ function defaultTestSuite(rpcFactory: () => RpcClient, adaptor: Adaptor): void { const client = new Client(rpcFactory(), adaptor); expect(await client.block()).toBeTruthy(); - expect(await client.blockResults(3)).toBeTruthy(); expect(await client.commit(4)).toBeTruthy(); expect(await client.genesis()).toBeTruthy(); expect(await client.health()).toBeNull(); @@ -145,6 +144,22 @@ function defaultTestSuite(rpcFactory: () => RpcClient, adaptor: Adaptor): void { }); }); + describe("blockResults", () => { + it("works", async () => { + pendingWithoutTendermint(); + const client = new Client(rpcFactory(), adaptor); + + const height = 3; + const results = await client.blockResults(height); + expect(results.height).toEqual(height); + expect(results.results).toEqual([]); + expect(results.beginBlockEvents).toEqual([]); + expect(results.endBlockEvents).toEqual([]); + + client.disconnect(); + }); + }); + describe("blockchain", () => { it("returns latest in descending order by default", async () => { pendingWithoutTendermint(); diff --git a/packages/tendermint-rpc/src/responses.ts b/packages/tendermint-rpc/src/responses.ts index 0c202a7c51..d377092397 100644 --- a/packages/tendermint-rpc/src/responses.ts +++ b/packages/tendermint-rpc/src/responses.ts @@ -55,8 +55,8 @@ export interface BlockResultsResponse { readonly results: readonly TxData[]; readonly validatorUpdates: readonly Validator[]; readonly consensusUpdates?: ConsensusParams; - readonly beginBlock?: readonly Attribute[]; - readonly endBlock?: readonly Attribute[]; + readonly beginBlockEvents: readonly Event[]; + readonly endBlockEvents: readonly Event[]; } export interface BlockchainResponse { diff --git a/packages/tendermint-rpc/src/v0-33/responses.ts b/packages/tendermint-rpc/src/v0-33/responses.ts index 6d35ca4d98..efdf473c9d 100644 --- a/packages/tendermint-rpc/src/v0-33/responses.ts +++ b/packages/tendermint-rpc/src/v0-33/responses.ts @@ -234,8 +234,8 @@ function decodeConsensusParams(data: RpcConsensusParams): responses.ConsensusPar interface RpcBlockResultsResponse { readonly height: IntegerString; readonly txs_results: readonly RpcTxData[] | null; - readonly begin_block_events: null; - readonly end_block_events: null; + readonly begin_block_events: readonly RpcEvent[] | null; + readonly end_block_events: readonly RpcEvent[] | null; readonly validator_updates: null; readonly consensus_param_updates: null; } @@ -248,8 +248,8 @@ function decodeBlockResults(data: RpcBlockResultsResponse): responses.BlockResul results: results.map(decodeTxData), validatorUpdates: validatorUpdates.map(decodeValidatorUpdate), consensusUpdates: may(decodeConsensusParams, data.consensus_param_updates), - beginBlock: may(decodeAttributes, data.begin_block_events), - endBlock: may(decodeAttributes, data.end_block_events), + beginBlockEvents: decodeEvents(data.begin_block_events || []), + endBlockEvents: decodeEvents(data.end_block_events || []), }; } diff --git a/packages/tendermint-rpc/types/responses.d.ts b/packages/tendermint-rpc/types/responses.d.ts index 306d7716b4..fba36abaa9 100644 --- a/packages/tendermint-rpc/types/responses.d.ts +++ b/packages/tendermint-rpc/types/responses.d.ts @@ -47,8 +47,8 @@ export interface BlockResultsResponse { readonly results: readonly TxData[]; readonly validatorUpdates: readonly Validator[]; readonly consensusUpdates?: ConsensusParams; - readonly beginBlock?: readonly Attribute[]; - readonly endBlock?: readonly Attribute[]; + readonly beginBlockEvents: readonly Event[]; + readonly endBlockEvents: readonly Event[]; } export interface BlockchainResponse { readonly lastHeight: number;