From db90bd44450721b734098e757480bb3cc3a14063 Mon Sep 17 00:00:00 2001 From: Ethan Frey Date: Fri, 12 Mar 2021 00:41:40 +0100 Subject: [PATCH] Properly handle missing commit signatures --- .../src/tendermint34/adaptors/v0-34/responses.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/tendermint-rpc/src/tendermint34/adaptors/v0-34/responses.ts b/packages/tendermint-rpc/src/tendermint34/adaptors/v0-34/responses.ts index 9feb8c2e..3605890d 100644 --- a/packages/tendermint-rpc/src/tendermint34/adaptors/v0-34/responses.ts +++ b/packages/tendermint-rpc/src/tendermint34/adaptors/v0-34/responses.ts @@ -414,11 +414,13 @@ type RpcSignature = { }; function decodeCommitSignature(data: RpcSignature): CommitSignature { + const nonZeroTime = data.timestamp && !data.timestamp.startsWith("0001-01-01"); return { blockIdFlag: decodeBlockIdFlag(data.block_id_flag), validatorAddress: fromHex(data.validator_address), - timestamp: fromRfc3339WithNanoseconds(assertNotEmpty(data.timestamp)), - signature: fromBase64(assertNotEmpty(data.signature)), + timestamp: nonZeroTime ? fromRfc3339WithNanoseconds(data.timestamp) : undefined, + // FIXME: make this optional in type? (signature?: Uint8Array) + signature: fromBase64(optional(data.signature, "")), }; }