confio / cosmjs-types

JS and TS types relating to Protocol Buffers used by Cosmos-SDK and other related projects
Apache License 2.0
36 stars 42 forks source link

Upgrade Telescope to 0.105.0 #70

Closed webmaster128 closed 1 year ago

hoangdv2429 commented 1 year ago

@webmaster128 Can you upgrade telescope to v0.99.0 sir. I think it'll resolve the failing checks.

webmaster128 commented 1 year ago
Bildschirmfoto 2023-06-29 um 15 51 57

One step further, but the same problem occurs in fromJSON and from fromPartial (see CI output)

hoangdv2429 commented 1 year ago

Type 'Header | undefined' is not assignable to type 'Header'. Type 'undefined' is not assignable to type 'Header' So apparently we'll also have to remove undefined from fromJSON and fromPartial if that field is not nullable.

hoangdv2429 commented 1 year ago

I'll fix that and ping you back when it's done

webmaster128 commented 1 year ago

So apparently we'll also have to remove undefined from fromJSON and fromPartial if that field is not nullable.

I think a better implementation here to avoid the duplication is something like:

  fromJSON(object: any): Block {
    const out = createBaseBlock();
    if (isSet(object.header)) out.header = Header.fromJSON(object.header);
    if (isSet(object.data)) out.data = Data.fromJSON(object.data);
    if (isSet(object.evidence)) out.evidence = EvidenceList.fromJSON(object.evidence);
    if (isSet(object.lastCommit) ) out.lastCommit = Commit.fromJSON(object.lastCommit);
    return out;
  },

This matches the decoding logic.

hoangdv2429 commented 1 year ago

thank for your suggestion, I'll make it that way.

hoangdv2429 commented 1 year ago

@webmaster128 Hello sir, sorry for the late reply. I was sick last week and unable to do this earlier. I fix fromJSON but other functions like fromPartial and fromSDK also need to be improve. Can you have a look at the PR I created above and their new fixtures ? thank you!

hoangdv2429 commented 1 year ago

@webmaster128 Hello sir, can you have a look at this PR ?

webmaster128 commented 1 year ago

Thank you @hoangdv2429. I now updated to @cosmology/telescope 0.105.0 and get those errors:

src/ibc/core/client/v1/query.ts:825:5 - error TS2322: Type 'PageResponse | undefined' is not assignable to type 'PageResponse'.
  Type 'undefined' is not assignable to type 'PageResponse'.

825     message.pagination =
        ~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/query.ts:990:7 - error TS2322: Type 'Params | undefined' is not assignable to type 'Params'.
  Type 'undefined' is not assignable to type 'Params'.

990       params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,
          ~~~~~~

  src/ibc/core/client/v1/query.ts:143:3
    143   params: Params;
          ~~~~~~
    The expected type comes from property 'params' which is declared here on type 'QueryClientParamsResponse'

src/ibc/core/client/v1/query.ts:1002:5 - error TS2322: Type 'Params | undefined' is not assignable to type 'Params'.
  Type 'undefined' is not assignable to type 'Params'.

1002     message.params =
         ~~~~~~~~~~~~~~

src/ibc/core/client/v1/query.ts:1073:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

1073       upgradedClientState: isSet(object.upgradedClientState)
           ~~~~~~~~~~~~~~~~~~~

  src/ibc/core/client/v1/query.ts:156:3
    156   upgradedClientState: Any;
          ~~~~~~~~~~~~~~~~~~~
    The expected type comes from property 'upgradedClientState' which is declared here on type 'QueryUpgradedClientStateResponse'

src/ibc/core/client/v1/query.ts:1090:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

1090     message.upgradedClientState =
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/query.ts:1163:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

1163       upgradedConsensusState: isSet(object.upgradedConsensusState)
           ~~~~~~~~~~~~~~~~~~~~~~

  src/ibc/core/client/v1/query.ts:169:3
    169   upgradedConsensusState: Any;
          ~~~~~~~~~~~~~~~~~~~~~~
    The expected type comes from property 'upgradedConsensusState' which is declared here on type 'QueryUpgradedConsensusStateResponse'

src/ibc/core/client/v1/query.ts:1180:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

1180     message.upgradedConsensusState =
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/query.ts:1239:7 - error TS2322: Type 'undefined' is not assignable to type 'PageRequest'.

1239       pagination: undefined,
           ~~~~~~~~~~

  src/ibc/core/client/v1/query.ts:35:3
    35   pagination: PageRequest;
         ~~~~~~~~~~
    The expected type comes from property 'pagination' which is declared here on type 'QueryClientStatesRequest'

src/ibc/core/client/v1/tx.ts:123:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

123       clientState: isSet(object.clientState) ? Any.fromJSON(object.clientState) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/client/v1/tx.ts:9:3
    9   clientState: Any;
        ~~~~~~~~~~~
    The expected type comes from property 'clientState' which is declared here on type 'MsgCreateClient'

src/ibc/core/client/v1/tx.ts:124:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

124       consensusState: isSet(object.consensusState) ? Any.fromJSON(object.consensusState) : undefined,
          ~~~~~~~~~~~~~~

  src/ibc/core/client/v1/tx.ts:14:3
    14   consensusState: Any;
         ~~~~~~~~~~~~~~
    The expected type comes from property 'consensusState' which is declared here on type 'MsgCreateClient'

src/ibc/core/client/v1/tx.ts:139:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

139     message.clientState =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/tx.ts:143:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

143     message.consensusState =
        ~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/tx.ts:230:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

230       clientMessage: isSet(object.clientMessage) ? Any.fromJSON(object.clientMessage) : undefined,
          ~~~~~~~~~~~~~

  src/ibc/core/client/v1/tx.ts:28:3
    28   clientMessage: Any;
         ~~~~~~~~~~~~~
    The expected type comes from property 'clientMessage' which is declared here on type 'MsgUpdateClient'

src/ibc/core/client/v1/tx.ts:245:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

245     message.clientMessage =
        ~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/tx.ts:353:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

353       clientState: isSet(object.clientState) ? Any.fromJSON(object.clientState) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/client/v1/tx.ts:42:3
    42   clientState: Any;
         ~~~~~~~~~~~
    The expected type comes from property 'clientState' which is declared here on type 'MsgUpgradeClient'

src/ibc/core/client/v1/tx.ts:354:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

354       consensusState: isSet(object.consensusState) ? Any.fromJSON(object.consensusState) : undefined,
          ~~~~~~~~~~~~~~

  src/ibc/core/client/v1/tx.ts:47:3
    47   consensusState: Any;
         ~~~~~~~~~~~~~~
    The expected type comes from property 'consensusState' which is declared here on type 'MsgUpgradeClient'

src/ibc/core/client/v1/tx.ts:387:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

387     message.clientState =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/tx.ts:391:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

391     message.consensusState =
        ~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/client/v1/tx.ts:480:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

480       misbehaviour: isSet(object.misbehaviour) ? Any.fromJSON(object.misbehaviour) : undefined,
          ~~~~~~~~~~~~

  src/ibc/core/client/v1/tx.ts:68:3
    68   misbehaviour: Any;
         ~~~~~~~~~~~~
    The expected type comes from property 'misbehaviour' which is declared here on type 'MsgSubmitMisbehaviour'

src/ibc/core/client/v1/tx.ts:495:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

495     message.misbehaviour =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/connection.ts:213:7 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

213       counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,
          ~~~~~~~~~~~~

  src/ibc/core/connection/v1/connection.ts:76:3
    76   counterparty: Counterparty;
         ~~~~~~~~~~~~
    The expected type comes from property 'counterparty' which is declared here on type 'ConnectionEnd'

src/ibc/core/connection/v1/connection.ts:236:5 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

236     message.counterparty =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/connection.ts:317:7 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

317       counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,
          ~~~~~~~~~~~~

  src/ibc/core/connection/v1/connection.ts:101:3
    101   counterparty: Counterparty;
          ~~~~~~~~~~~~
    The expected type comes from property 'counterparty' which is declared here on type 'IdentifiedConnection'

src/ibc/core/connection/v1/connection.ts:342:5 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

342     message.counterparty =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/connection.ts:400:7 - error TS2322: Type 'MerklePrefix | undefined' is not assignable to type 'MerklePrefix'.
  Type 'undefined' is not assignable to type 'MerklePrefix'.

400       prefix: isSet(object.prefix) ? MerklePrefix.fromJSON(object.prefix) : undefined,
          ~~~~~~

  src/ibc/core/connection/v1/connection.ts:118:3
    118   prefix: MerklePrefix;
          ~~~~~~
    The expected type comes from property 'prefix' which is declared here on type 'Counterparty'

src/ibc/core/connection/v1/connection.ts:415:5 - error TS2322: Type 'MerklePrefix | undefined' is not assignable to type 'MerklePrefix'.
  Type 'undefined' is not assignable to type 'MerklePrefix'.

415     message.prefix =
        ~~~~~~~~~~~~~~

src/ibc/core/connection/v1/genesis.ts:75:7 - error TS2322: Type 'Params | undefined' is not assignable to type 'Params'.
  Type 'undefined' is not assignable to type 'Params'.

75       params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,
         ~~~~~~

  src/ibc/core/connection/v1/genesis.ts:12:3
    12   params: Params;
         ~~~~~~
    The expected type comes from property 'params' which is declared here on type 'GenesisState'

src/ibc/core/connection/v1/genesis.ts:106:5 - error TS2322: Type 'Params | undefined' is not assignable to type 'Params'.
  Type 'undefined' is not assignable to type 'Params'.

106     message.params =
        ~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:210:7 - error TS2322: Type 'ConnectionEnd | undefined' is not assignable to type 'ConnectionEnd'.
  Type 'undefined' is not assignable to type 'ConnectionEnd'.

210       connection: isSet(object.connection) ? ConnectionEnd.fromJSON(object.connection) : undefined,
          ~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:24:3
    24   connection: ConnectionEnd;
         ~~~~~~~~~~
    The expected type comes from property 'connection' which is declared here on type 'QueryConnectionResponse'

src/ibc/core/connection/v1/query.ts:212:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

212       proofHeight: isSet(object.proofHeight) ? Height.fromJSON(object.proofHeight) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:28:3
    28   proofHeight: Height;
         ~~~~~~~~~~~
    The expected type comes from property 'proofHeight' which is declared here on type 'QueryConnectionResponse'

src/ibc/core/connection/v1/query.ts:227:5 - error TS2322: Type 'ConnectionEnd | undefined' is not assignable to type 'ConnectionEnd'.
  Type 'undefined' is not assignable to type 'ConnectionEnd'.

227     message.connection =
        ~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:232:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

232     message.proofHeight =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:270:7 - error TS2322: Type 'PageRequest | undefined' is not assignable to type 'PageRequest'.
  Type 'undefined' is not assignable to type 'PageRequest'.

270       pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined,
          ~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:35:3
    35   pagination: PageRequest;
         ~~~~~~~~~~
    The expected type comes from property 'pagination' which is declared here on type 'QueryConnectionsRequest'

src/ibc/core/connection/v1/query.ts:281:5 - error TS2322: Type 'PageRequest | undefined' is not assignable to type 'PageRequest'.
  Type 'undefined' is not assignable to type 'PageRequest'.

281     message.pagination =
        ~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:336:7 - error TS2322: Type 'PageResponse | undefined' is not assignable to type 'PageResponse'.
  Type 'undefined' is not assignable to type 'PageResponse'.

336       pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined,
          ~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:45:3
    45   pagination: PageResponse;
         ~~~~~~~~~~
    The expected type comes from property 'pagination' which is declared here on type 'QueryConnectionsResponse'

src/ibc/core/connection/v1/query.ts:337:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

337       height: isSet(object.height) ? Height.fromJSON(object.height) : undefined,
          ~~~~~~

  src/ibc/core/connection/v1/query.ts:47:3
    47   height: Height;
         ~~~~~~
    The expected type comes from property 'height' which is declared here on type 'QueryConnectionsResponse'

src/ibc/core/connection/v1/query.ts:357:5 - error TS2322: Type 'PageResponse | undefined' is not assignable to type 'PageResponse'.
  Type 'undefined' is not assignable to type 'PageResponse'.

357     message.pagination =
        ~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:361:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

361     message.height =
        ~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:462:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

462       proofHeight: isSet(object.proofHeight) ? Height.fromJSON(object.proofHeight) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:67:3
    67   proofHeight: Height;
         ~~~~~~~~~~~
    The expected type comes from property 'proofHeight' which is declared here on type 'QueryClientConnectionsResponse'

src/ibc/core/connection/v1/query.ts:484:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

484     message.proofHeight =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:583:7 - error TS2322: Type 'IdentifiedClientState | undefined' is not assignable to type 'IdentifiedClientState'.
  Type 'undefined' is not assignable to type 'IdentifiedClientState'.

583       identifiedClientState: isSet(object.identifiedClientState)
          ~~~~~~~~~~~~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:83:3
    83   identifiedClientState: IdentifiedClientState;
         ~~~~~~~~~~~~~~~~~~~~~
    The expected type comes from property 'identifiedClientState' which is declared here on type 'QueryConnectionClientStateResponse'

src/ibc/core/connection/v1/query.ts:587:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

587       proofHeight: isSet(object.proofHeight) ? Height.fromJSON(object.proofHeight) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:87:3
    87   proofHeight: Height;
         ~~~~~~~~~~~
    The expected type comes from property 'proofHeight' which is declared here on type 'QueryConnectionClientStateResponse'

src/ibc/core/connection/v1/query.ts:606:5 - error TS2322: Type 'IdentifiedClientState | undefined' is not assignable to type 'IdentifiedClientState'.
  Type 'undefined' is not assignable to type 'IdentifiedClientState'.

606     message.identifiedClientState =
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:611:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

611     message.proofHeight =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:751:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

751       consensusState: isSet(object.consensusState) ? Any.fromJSON(object.consensusState) : undefined,
          ~~~~~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:105:3
    105   consensusState: Any;
          ~~~~~~~~~~~~~~
    The expected type comes from property 'consensusState' which is declared here on type 'QueryConnectionConsensusStateResponse'

src/ibc/core/connection/v1/query.ts:754:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

754       proofHeight: isSet(object.proofHeight) ? Height.fromJSON(object.proofHeight) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:111:3
    111   proofHeight: Height;
          ~~~~~~~~~~~
    The expected type comes from property 'proofHeight' which is declared here on type 'QueryConnectionConsensusStateResponse'

src/ibc/core/connection/v1/query.ts:772:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

772     message.consensusState =
        ~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:778:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

778     message.proofHeight =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:851:7 - error TS2322: Type 'Params | undefined' is not assignable to type 'Params'.
  Type 'undefined' is not assignable to type 'Params'.

851       params: isSet(object.params) ? Params.fromJSON(object.params) : undefined,
          ~~~~~~

  src/ibc/core/connection/v1/query.ts:118:3
    118   params: Params;
          ~~~~~~
    The expected type comes from property 'params' which is declared here on type 'QueryConnectionParamsResponse'

src/ibc/core/connection/v1/query.ts:863:5 - error TS2322: Type 'Params | undefined' is not assignable to type 'Params'.
  Type 'undefined' is not assignable to type 'Params'.

863     message.params =
        ~~~~~~~~~~~~~~

src/ibc/core/connection/v1/query.ts:914:7 - error TS2322: Type 'undefined' is not assignable to type 'PageRequest'.

914       pagination: undefined,
          ~~~~~~~~~~

  src/ibc/core/connection/v1/query.ts:35:3
    35   pagination: PageRequest;
         ~~~~~~~~~~
    The expected type comes from property 'pagination' which is declared here on type 'QueryConnectionsRequest'

src/ibc/core/connection/v1/tx.ts:156:7 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

156       counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,
          ~~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:14:3
    14   counterparty: Counterparty;
         ~~~~~~~~~~~~
    The expected type comes from property 'counterparty' which is declared here on type 'MsgConnectionOpenInit'

src/ibc/core/connection/v1/tx.ts:157:7 - error TS2322: Type 'Version | undefined' is not assignable to type 'Version'.
  Type 'undefined' is not assignable to type 'Version'.

157       version: isSet(object.version) ? Version.fromJSON(object.version) : undefined,
          ~~~~~~~

  src/ibc/core/connection/v1/tx.ts:15:3
    15   version: Version;
         ~~~~~~~
    The expected type comes from property 'version' which is declared here on type 'MsgConnectionOpenInit'

src/ibc/core/connection/v1/tx.ts:176:5 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

176     message.counterparty =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:180:5 - error TS2322: Type 'Version | undefined' is not assignable to type 'Version'.
  Type 'undefined' is not assignable to type 'Version'.

180     message.version =
        ~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:344:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

344       clientState: isSet(object.clientState) ? Any.fromJSON(object.clientState) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:33:3
    33   clientState: Any;
         ~~~~~~~~~~~
    The expected type comes from property 'clientState' which is declared here on type 'MsgConnectionOpenTry'

src/ibc/core/connection/v1/tx.ts:345:7 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

345       counterparty: isSet(object.counterparty) ? Counterparty.fromJSON(object.counterparty) : undefined,
          ~~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:34:3
    34   counterparty: Counterparty;
         ~~~~~~~~~~~~
    The expected type comes from property 'counterparty' which is declared here on type 'MsgConnectionOpenTry'

src/ibc/core/connection/v1/tx.ts:350:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

350       proofHeight: isSet(object.proofHeight) ? Height.fromJSON(object.proofHeight) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:37:3
    37   proofHeight: Height;
         ~~~~~~~~~~~
    The expected type comes from property 'proofHeight' which is declared here on type 'MsgConnectionOpenTry'

src/ibc/core/connection/v1/tx.ts:356:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

356       consensusHeight: isSet(object.consensusHeight) ? Height.fromJSON(object.consensusHeight) : undefined,
          ~~~~~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:47:3
    47   consensusHeight: Height;
         ~~~~~~~~~~~~~~~
    The expected type comes from property 'consensusHeight' which is declared here on type 'MsgConnectionOpenTry'

src/ibc/core/connection/v1/tx.ts:404:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

404     message.clientState =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:408:5 - error TS2322: Type 'Counterparty | undefined' is not assignable to type 'Counterparty'.
  Type 'undefined' is not assignable to type 'Counterparty'.

408     message.counterparty =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:417:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

417     message.proofHeight =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:424:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

424     message.consensusHeight =
        ~~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:573:7 - error TS2322: Type 'Version | undefined' is not assignable to type 'Version'.
  Type 'undefined' is not assignable to type 'Version'.

573       version: isSet(object.version) ? Version.fromJSON(object.version) : undefined,
          ~~~~~~~

  src/ibc/core/connection/v1/tx.ts:61:3
    61   version: Version;
         ~~~~~~~
    The expected type comes from property 'version' which is declared here on type 'MsgConnectionOpenAck'

src/ibc/core/connection/v1/tx.ts:574:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

574       clientState: isSet(object.clientState) ? Any.fromJSON(object.clientState) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:62:3
    62   clientState: Any;
         ~~~~~~~~~~~
    The expected type comes from property 'clientState' which is declared here on type 'MsgConnectionOpenAck'

src/ibc/core/connection/v1/tx.ts:575:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

575       proofHeight: isSet(object.proofHeight) ? Height.fromJSON(object.proofHeight) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:63:3
    63   proofHeight: Height;
         ~~~~~~~~~~~
    The expected type comes from property 'proofHeight' which is declared here on type 'MsgConnectionOpenAck'

src/ibc/core/connection/v1/tx.ts:581:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

581       consensusHeight: isSet(object.consensusHeight) ? Height.fromJSON(object.consensusHeight) : undefined,
          ~~~~~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:73:3
    73   consensusHeight: Height;
         ~~~~~~~~~~~~~~~
    The expected type comes from property 'consensusHeight' which is declared here on type 'MsgConnectionOpenAck'

src/ibc/core/connection/v1/tx.ts:622:5 - error TS2322: Type 'Version | undefined' is not assignable to type 'Version'.
  Type 'undefined' is not assignable to type 'Version'.

622     message.version =
        ~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:626:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

626     message.clientState =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:630:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

630     message.proofHeight =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:637:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

637     message.consensusHeight =
        ~~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/connection/v1/tx.ts:735:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

735       proofHeight: isSet(object.proofHeight) ? Height.fromJSON(object.proofHeight) : undefined,
          ~~~~~~~~~~~

  src/ibc/core/connection/v1/tx.ts:88:3
    88   proofHeight: Height;
         ~~~~~~~~~~~
    The expected type comes from property 'proofHeight' which is declared here on type 'MsgConnectionOpenConfirm'

src/ibc/core/connection/v1/tx.ts:755:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

755     message.proofHeight =
        ~~~~~~~~~~~~~~~~~~~

src/ibc/core/types/v1/genesis.ts:62:7 - error TS2322: Type 'GenesisState | undefined' is not assignable to type 'GenesisState'.
  Type 'undefined' is not assignable to type 'GenesisState'.

62       clientGenesis: isSet(object.clientGenesis) ? GenesisState1.fromJSON(object.clientGenesis) : undefined,
         ~~~~~~~~~~~~~

  src/ibc/core/types/v1/genesis.ts:11:3
    11   clientGenesis: GenesisState1;
         ~~~~~~~~~~~~~
    The expected type comes from property 'clientGenesis' which is declared here on type 'GenesisState'

src/ibc/core/types/v1/genesis.ts:63:7 - error TS2322: Type 'GenesisState | undefined' is not assignable to type 'GenesisState'.
  Type 'undefined' is not assignable to type 'GenesisState'.

63       connectionGenesis: isSet(object.connectionGenesis)
         ~~~~~~~~~~~~~~~~~

  src/ibc/core/types/v1/genesis.ts:13:3
    13   connectionGenesis: GenesisState2;
         ~~~~~~~~~~~~~~~~~
    The expected type comes from property 'connectionGenesis' which is declared here on type 'GenesisState'

src/ibc/core/types/v1/genesis.ts:66:7 - error TS2322: Type 'GenesisState | undefined' is not assignable to type 'GenesisState'.
  Type 'undefined' is not assignable to type 'GenesisState'.

66       channelGenesis: isSet(object.channelGenesis)
         ~~~~~~~~~~~~~~

  src/ibc/core/types/v1/genesis.ts:15:3
    15   channelGenesis: GenesisState3;
         ~~~~~~~~~~~~~~
    The expected type comes from property 'channelGenesis' which is declared here on type 'GenesisState'

src/ibc/core/types/v1/genesis.ts:87:5 - error TS2322: Type 'GenesisState | undefined' is not assignable to type 'GenesisState'.
  Type 'undefined' is not assignable to type 'GenesisState'.

87     message.clientGenesis =
       ~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/types/v1/genesis.ts:91:5 - error TS2322: Type 'GenesisState | undefined' is not assignable to type 'GenesisState'.
  Type 'undefined' is not assignable to type 'GenesisState'.

91     message.connectionGenesis =
       ~~~~~~~~~~~~~~~~~~~~~~~~~

src/ibc/core/types/v1/genesis.ts:95:5 - error TS2322: Type 'GenesisState | undefined' is not assignable to type 'GenesisState'.
  Type 'undefined' is not assignable to type 'GenesisState'.

95     message.channelGenesis =
       ~~~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/solomachine/v3/solomachine.ts:134:7 - error TS2322: Type 'ConsensusState | undefined' is not assignable to type 'ConsensusState'.
  Type 'undefined' is not assignable to type 'ConsensusState'.

134       consensusState: isSet(object.consensusState)
          ~~~~~~~~~~~~~~

  src/ibc/lightclients/solomachine/v3/solomachine.ts:15:3
    15   consensusState: ConsensusState;
         ~~~~~~~~~~~~~~
    The expected type comes from property 'consensusState' which is declared here on type 'ClientState'

src/ibc/lightclients/solomachine/v3/solomachine.ts:156:5 - error TS2322: Type 'ConsensusState | undefined' is not assignable to type 'ConsensusState'.
  Type 'undefined' is not assignable to type 'ConsensusState'.

156     message.consensusState =
        ~~~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/solomachine/v3/solomachine.ts:208:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

208       publicKey: isSet(object.publicKey) ? Any.fromJSON(object.publicKey) : undefined,
          ~~~~~~~~~

  src/ibc/lightclients/solomachine/v3/solomachine.ts:24:3
    24   publicKey: Any;
         ~~~~~~~~~
    The expected type comes from property 'publicKey' which is declared here on type 'ConsensusState'

src/ibc/lightclients/solomachine/v3/solomachine.ts:223:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

223     message.publicKey =
        ~~~~~~~~~~~~~~~~~

src/ibc/lightclients/solomachine/v3/solomachine.ts:289:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

289       newPublicKey: isSet(object.newPublicKey) ? Any.fromJSON(object.newPublicKey) : undefined,
          ~~~~~~~~~~~~

  src/ibc/lightclients/solomachine/v3/solomachine.ts:37:3
    37   newPublicKey: Any;
         ~~~~~~~~~~~~
    The expected type comes from property 'newPublicKey' which is declared here on type 'Header'

src/ibc/lightclients/solomachine/v3/solomachine.ts:312:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

312     message.newPublicKey =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/solomachine/v3/solomachine.ts:366:7 - error TS2322: Type 'SignatureAndData | undefined' is not assignable to type 'SignatureAndData'.
  Type 'undefined' is not assignable to type 'SignatureAndData'.

366       signatureOne: isSet(object.signatureOne) ? SignatureAndData.fromJSON(object.signatureOne) : undefined,
          ~~~~~~~~~~~~

  src/ibc/lightclients/solomachine/v3/solomachine.ts:46:3
    46   signatureOne: SignatureAndData;
         ~~~~~~~~~~~~
    The expected type comes from property 'signatureOne' which is declared here on type 'Misbehaviour'

src/ibc/lightclients/solomachine/v3/solomachine.ts:367:7 - error TS2322: Type 'SignatureAndData | undefined' is not assignable to type 'SignatureAndData'.
  Type 'undefined' is not assignable to type 'SignatureAndData'.

367       signatureTwo: isSet(object.signatureTwo) ? SignatureAndData.fromJSON(object.signatureTwo) : undefined,
          ~~~~~~~~~~~~

  src/ibc/lightclients/solomachine/v3/solomachine.ts:47:3
    47   signatureTwo: SignatureAndData;
         ~~~~~~~~~~~~
    The expected type comes from property 'signatureTwo' which is declared here on type 'Misbehaviour'

src/ibc/lightclients/solomachine/v3/solomachine.ts:385:5 - error TS2322: Type 'SignatureAndData | undefined' is not assignable to type 'SignatureAndData'.
  Type 'undefined' is not assignable to type 'SignatureAndData'.

385     message.signatureOne =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/solomachine/v3/solomachine.ts:389:5 - error TS2322: Type 'SignatureAndData | undefined' is not assignable to type 'SignatureAndData'.
  Type 'undefined' is not assignable to type 'SignatureAndData'.

389     message.signatureTwo =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/solomachine/v3/solomachine.ts:673:7 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

673       newPubKey: isSet(object.newPubKey) ? Any.fromJSON(object.newPubKey) : undefined,
          ~~~~~~~~~

  src/ibc/lightclients/solomachine/v3/solomachine.ts:83:3
    83   newPubKey: Any;
         ~~~~~~~~~
    The expected type comes from property 'newPubKey' which is declared here on type 'HeaderData'

src/ibc/lightclients/solomachine/v3/solomachine.ts:686:5 - error TS2322: Type 'Any | undefined' is not assignable to type 'Any'.
  Type 'undefined' is not assignable to type 'Any'.

686     message.newPubKey =
        ~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:212:7 - error TS2322: Type 'Fraction | undefined' is not assignable to type 'Fraction'.
  Type 'undefined' is not assignable to type 'Fraction'.

212       trustLevel: isSet(object.trustLevel) ? Fraction.fromJSON(object.trustLevel) : undefined,
          ~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:27:3
    27   trustLevel: Fraction;
         ~~~~~~~~~~
    The expected type comes from property 'trustLevel' which is declared here on type 'ClientState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:213:7 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

213       trustingPeriod: isSet(object.trustingPeriod) ? Duration.fromJSON(object.trustingPeriod) : undefined,
          ~~~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:32:3
    32   trustingPeriod: Duration;
         ~~~~~~~~~~~~~~
    The expected type comes from property 'trustingPeriod' which is declared here on type 'ClientState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:214:7 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

214       unbondingPeriod: isSet(object.unbondingPeriod) ? Duration.fromJSON(object.unbondingPeriod) : undefined,
          ~~~~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:34:3
    34   unbondingPeriod: Duration;
         ~~~~~~~~~~~~~~~
    The expected type comes from property 'unbondingPeriod' which is declared here on type 'ClientState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:215:7 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

215       maxClockDrift: isSet(object.maxClockDrift) ? Duration.fromJSON(object.maxClockDrift) : undefined,
          ~~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:36:3
    36   maxClockDrift: Duration;
         ~~~~~~~~~~~~~
    The expected type comes from property 'maxClockDrift' which is declared here on type 'ClientState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:216:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

216       frozenHeight: isSet(object.frozenHeight) ? Height.fromJSON(object.frozenHeight) : undefined,
          ~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:38:3
    38   frozenHeight: Height;
         ~~~~~~~~~~~~
    The expected type comes from property 'frozenHeight' which is declared here on type 'ClientState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:217:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

217       latestHeight: isSet(object.latestHeight) ? Height.fromJSON(object.latestHeight) : undefined,
          ~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:40:3
    40   latestHeight: Height;
         ~~~~~~~~~~~~
    The expected type comes from property 'latestHeight' which is declared here on type 'ClientState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:264:5 - error TS2322: Type 'Fraction | undefined' is not assignable to type 'Fraction'.
  Type 'undefined' is not assignable to type 'Fraction'.

264     message.trustLevel =
        ~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:268:5 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

268     message.trustingPeriod =
        ~~~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:272:5 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

272     message.unbondingPeriod =
        ~~~~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:276:5 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

276     message.maxClockDrift =
        ~~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:280:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

280     message.frozenHeight =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:284:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

284     message.latestHeight =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:340:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

340       timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
          ~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:66:3
    66   timestamp: Timestamp;
         ~~~~~~~~~
    The expected type comes from property 'timestamp' which is declared here on type 'ConsensusState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:341:7 - error TS2322: Type 'MerkleRoot | undefined' is not assignable to type 'MerkleRoot'.
  Type 'undefined' is not assignable to type 'MerkleRoot'.

341       root: isSet(object.root) ? MerkleRoot.fromJSON(object.root) : undefined,
          ~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:68:3
    68   root: MerkleRoot;
         ~~~~
    The expected type comes from property 'root' which is declared here on type 'ConsensusState'

src/ibc/lightclients/tendermint/v1/tendermint.ts:359:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

359     message.timestamp =
        ~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:363:5 - error TS2322: Type 'MerkleRoot | undefined' is not assignable to type 'MerkleRoot'.
  Type 'undefined' is not assignable to type 'MerkleRoot'.

363     message.root =
        ~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:415:7 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

415       header1: isSet(object.header1) ? Header.fromJSON(object.header1) : undefined,
          ~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:79:3
    79   header1: Header;
         ~~~~~~~
    The expected type comes from property 'header1' which is declared here on type 'Misbehaviour'

src/ibc/lightclients/tendermint/v1/tendermint.ts:416:7 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

416       header2: isSet(object.header2) ? Header.fromJSON(object.header2) : undefined,
          ~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:80:3
    80   header2: Header;
         ~~~~~~~
    The expected type comes from property 'header2' which is declared here on type 'Misbehaviour'

src/ibc/lightclients/tendermint/v1/tendermint.ts:431:5 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

431     message.header1 =
        ~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:435:5 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

435     message.header2 =
        ~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:494:7 - error TS2322: Type 'SignedHeader | undefined' is not assignable to type 'SignedHeader'.
  Type 'undefined' is not assignable to type 'SignedHeader'.

494       signedHeader: isSet(object.signedHeader) ? SignedHeader.fromJSON(object.signedHeader) : undefined,
          ~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:97:3
    97   signedHeader: SignedHeader;
         ~~~~~~~~~~~~
    The expected type comes from property 'signedHeader' which is declared here on type 'Header'

src/ibc/lightclients/tendermint/v1/tendermint.ts:495:7 - error TS2322: Type 'ValidatorSet | undefined' is not assignable to type 'ValidatorSet'.
  Type 'undefined' is not assignable to type 'ValidatorSet'.

495       validatorSet: isSet(object.validatorSet) ? ValidatorSet.fromJSON(object.validatorSet) : undefined,
          ~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:98:3
    98   validatorSet: ValidatorSet;
         ~~~~~~~~~~~~
    The expected type comes from property 'validatorSet' which is declared here on type 'Header'

src/ibc/lightclients/tendermint/v1/tendermint.ts:496:7 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

496       trustedHeight: isSet(object.trustedHeight) ? Height.fromJSON(object.trustedHeight) : undefined,
          ~~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:99:3
    99   trustedHeight: Height;
         ~~~~~~~~~~~~~
    The expected type comes from property 'trustedHeight' which is declared here on type 'Header'

src/ibc/lightclients/tendermint/v1/tendermint.ts:497:7 - error TS2322: Type 'ValidatorSet | undefined' is not assignable to type 'ValidatorSet'.
  Type 'undefined' is not assignable to type 'ValidatorSet'.

497       trustedValidators: isSet(object.trustedValidators)
          ~~~~~~~~~~~~~~~~~

  src/ibc/lightclients/tendermint/v1/tendermint.ts:100:3
    100   trustedValidators: ValidatorSet;
          ~~~~~~~~~~~~~~~~~
    The expected type comes from property 'trustedValidators' which is declared here on type 'Header'

src/ibc/lightclients/tendermint/v1/tendermint.ts:518:5 - error TS2322: Type 'SignedHeader | undefined' is not assignable to type 'SignedHeader'.
  Type 'undefined' is not assignable to type 'SignedHeader'.

518     message.signedHeader =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:522:5 - error TS2322: Type 'ValidatorSet | undefined' is not assignable to type 'ValidatorSet'.
  Type 'undefined' is not assignable to type 'ValidatorSet'.

522     message.validatorSet =
        ~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:526:5 - error TS2322: Type 'Height | undefined' is not assignable to type 'Height'.
  Type 'undefined' is not assignable to type 'Height'.

526     message.trustedHeight =
        ~~~~~~~~~~~~~~~~~~~~~

src/ibc/lightclients/tendermint/v1/tendermint.ts:530:5 - error TS2322: Type 'ValidatorSet | undefined' is not assignable to type 'ValidatorSet'.
  Type 'undefined' is not assignable to type 'ValidatorSet'.

530     message.trustedValidators =
        ~~~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:1068:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1068       time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined,
           ~~~~

  src/tendermint/abci/types.ts:275:3
    275   time: Timestamp;
          ~~~~
    The expected type comes from property 'time' which is declared here on type 'RequestInitChain'

src/tendermint/abci/types.ts:1070:7 - error TS2322: Type 'ConsensusParams | undefined' is not assignable to type 'ConsensusParams'.
  Type 'undefined' is not assignable to type 'ConsensusParams'.

1070       consensusParams: isSet(object.consensusParams)
           ~~~~~~~~~~~~~~~

  src/tendermint/abci/types.ts:277:3
    277   consensusParams: ConsensusParams;
          ~~~~~~~~~~~~~~~
    The expected type comes from property 'consensusParams' which is declared here on type 'RequestInitChain'

src/tendermint/abci/types.ts:1103:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1103     message.time =
         ~~~~~~~~~~~~

src/tendermint/abci/types.ts:1106:5 - error TS2322: Type 'ConsensusParams | undefined' is not assignable to type 'ConsensusParams'.
  Type 'undefined' is not assignable to type 'ConsensusParams'.

1106     message.consensusParams =
         ~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:1249:7 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

1249       header: isSet(object.header) ? Header.fromJSON(object.header) : undefined,
           ~~~~~~

  src/tendermint/abci/types.ts:290:3
    290   header: Header;
          ~~~~~~
    The expected type comes from property 'header' which is declared here on type 'RequestBeginBlock'

src/tendermint/abci/types.ts:1250:7 - error TS2322: Type 'CommitInfo | undefined' is not assignable to type 'CommitInfo'.
  Type 'undefined' is not assignable to type 'CommitInfo'.

1250       lastCommitInfo: isSet(object.lastCommitInfo) ? CommitInfo.fromJSON(object.lastCommitInfo) : undefined,
           ~~~~~~~~~~~~~~

  src/tendermint/abci/types.ts:291:3
    291   lastCommitInfo: CommitInfo;
          ~~~~~~~~~~~~~~
    The expected type comes from property 'lastCommitInfo' which is declared here on type 'RequestBeginBlock'

src/tendermint/abci/types.ts:1275:5 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

1275     message.header =
         ~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:1277:5 - error TS2322: Type 'CommitInfo | undefined' is not assignable to type 'CommitInfo'.
  Type 'undefined' is not assignable to type 'CommitInfo'.

1277     message.lastCommitInfo =
         ~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:1537:7 - error TS2322: Type 'Snapshot | undefined' is not assignable to type 'Snapshot'.
  Type 'undefined' is not assignable to type 'Snapshot'.

1537       snapshot: isSet(object.snapshot) ? Snapshot.fromJSON(object.snapshot) : undefined,
           ~~~~~~~~

  src/tendermint/abci/types.ts:310:3
    310   snapshot: Snapshot;
          ~~~~~~~~
    The expected type comes from property 'snapshot' which is declared here on type 'RequestOfferSnapshot'

src/tendermint/abci/types.ts:1551:5 - error TS2322: Type 'Snapshot | undefined' is not assignable to type 'Snapshot'.
  Type 'undefined' is not assignable to type 'Snapshot'.

1551     message.snapshot =
         ~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:1777:7 - error TS2322: Type 'ExtendedCommitInfo | undefined' is not assignable to type 'ExtendedCommitInfo'.
  Type 'undefined' is not assignable to type 'ExtendedCommitInfo'.

1777       localLastCommit: isSet(object.localLastCommit)
           ~~~~~~~~~~~~~~~

  src/tendermint/abci/types.ts:334:3
    334   localLastCommit: ExtendedCommitInfo;
          ~~~~~~~~~~~~~~~
    The expected type comes from property 'localLastCommit' which is declared here on type 'RequestPrepareProposal'

src/tendermint/abci/types.ts:1784:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1784       time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined,
           ~~~~

  src/tendermint/abci/types.ts:337:3
    337   time: Timestamp;
          ~~~~
    The expected type comes from property 'time' which is declared here on type 'RequestPrepareProposal'

src/tendermint/abci/types.ts:1829:5 - error TS2322: Type 'ExtendedCommitInfo | undefined' is not assignable to type 'ExtendedCommitInfo'.
  Type 'undefined' is not assignable to type 'ExtendedCommitInfo'.

1829     message.localLastCommit =
         ~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:1836:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1836     message.time =
         ~~~~~~~~~~~~

src/tendermint/abci/types.ts:1924:7 - error TS2322: Type 'CommitInfo | undefined' is not assignable to type 'CommitInfo'.
  Type 'undefined' is not assignable to type 'CommitInfo'.

1924       proposedLastCommit: isSet(object.proposedLastCommit)
           ~~~~~~~~~~~~~~~~~~

  src/tendermint/abci/types.ts:344:3
    344   proposedLastCommit: CommitInfo;
          ~~~~~~~~~~~~~~~~~~
    The expected type comes from property 'proposedLastCommit' which is declared here on type 'RequestProcessProposal'

src/tendermint/abci/types.ts:1932:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1932       time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined,
           ~~~~

  src/tendermint/abci/types.ts:349:3
    349   time: Timestamp;
          ~~~~
    The expected type comes from property 'time' which is declared here on type 'RequestProcessProposal'

src/tendermint/abci/types.ts:1974:5 - error TS2322: Type 'CommitInfo | undefined' is not assignable to type 'CommitInfo'.
  Type 'undefined' is not assignable to type 'CommitInfo'.

1974     message.proposedLastCommit =
         ~~~~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:1982:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1982     message.time =
         ~~~~~~~~~~~~

src/tendermint/abci/types.ts:2545:7 - error TS2322: Type 'ConsensusParams | undefined' is not assignable to type 'ConsensusParams'.
  Type 'undefined' is not assignable to type 'ConsensusParams'.

2545       consensusParams: isSet(object.consensusParams)
           ~~~~~~~~~~~~~~~

  src/tendermint/abci/types.ts:389:3
    389   consensusParams: ConsensusParams;
          ~~~~~~~~~~~~~~~
    The expected type comes from property 'consensusParams' which is declared here on type 'ResponseInitChain'

src/tendermint/abci/types.ts:2571:5 - error TS2322: Type 'ConsensusParams | undefined' is not assignable to type 'ConsensusParams'.
  Type 'undefined' is not assignable to type 'ConsensusParams'.

2571     message.consensusParams =
         ~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:2673:7 - error TS2322: Type 'ProofOps | undefined' is not assignable to type 'ProofOps'.
  Type 'undefined' is not assignable to type 'ProofOps'.

2673       proofOps: isSet(object.proofOps) ? ProofOps.fromJSON(object.proofOps) : undefined,
           ~~~~~~~~

  src/tendermint/abci/types.ts:402:3
    402   proofOps: ProofOps;
          ~~~~~~~~
    The expected type comes from property 'proofOps' which is declared here on type 'ResponseQuery'

src/tendermint/abci/types.ts:2703:5 - error TS2322: Type 'ProofOps | undefined' is not assignable to type 'ProofOps'.
  Type 'undefined' is not assignable to type 'ProofOps'.

2703     message.proofOps =
         ~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:3089:7 - error TS2322: Type 'ConsensusParams | undefined' is not assignable to type 'ConsensusParams'.
  Type 'undefined' is not assignable to type 'ConsensusParams'.

3089       consensusParamUpdates: isSet(object.consensusParamUpdates)
           ~~~~~~~~~~~~~~~~~~~~~

  src/tendermint/abci/types.ts:442:3
    442   consensusParamUpdates: ConsensusParams;
          ~~~~~~~~~~~~~~~~~~~~~
    The expected type comes from property 'consensusParamUpdates' which is declared here on type 'ResponseEndBlock'

src/tendermint/abci/types.ts:3116:5 - error TS2322: Type 'ConsensusParams | undefined' is not assignable to type 'ConsensusParams'.
  Type 'undefined' is not assignable to type 'ConsensusParams'.

3116     message.consensusParamUpdates =
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:3809:7 - error TS2322: Type 'ResponseDeliverTx | undefined' is not assignable to type 'ResponseDeliverTx'.
  Type 'undefined' is not assignable to type 'ResponseDeliverTx'.

3809       result: isSet(object.result) ? ResponseDeliverTx.fromJSON(object.result) : undefined,
           ~~~~~~

  src/tendermint/abci/types.ts:510:3
    510   result: ResponseDeliverTx;
          ~~~~~~
    The expected type comes from property 'result' which is declared here on type 'TxResult'

src/tendermint/abci/types.ts:3828:5 - error TS2322: Type 'ResponseDeliverTx | undefined' is not assignable to type 'ResponseDeliverTx'.
  Type 'undefined' is not assignable to type 'ResponseDeliverTx'.

3828     message.result =
         ~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:3930:7 - error TS2322: Type 'PublicKey | undefined' is not assignable to type 'PublicKey'.
  Type 'undefined' is not assignable to type 'PublicKey'.

3930       pubKey: isSet(object.pubKey) ? PublicKey.fromJSON(object.pubKey) : undefined,
           ~~~~~~

  src/tendermint/abci/types.ts:524:3
    524   pubKey: PublicKey;
          ~~~~~~
    The expected type comes from property 'pubKey' which is declared here on type 'ValidatorUpdate'

src/tendermint/abci/types.ts:3943:5 - error TS2322: Type 'PublicKey | undefined' is not assignable to type 'PublicKey'.
  Type 'undefined' is not assignable to type 'PublicKey'.

3943     message.pubKey =
         ~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:3990:7 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

3990       validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined,
           ~~~~~~~~~

  src/tendermint/abci/types.ts:529:3
    529   validator: Validator;
          ~~~~~~~~~
    The expected type comes from property 'validator' which is declared here on type 'VoteInfo'

src/tendermint/abci/types.ts:4003:5 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

4003     message.validator =
         ~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:4056:7 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

4056       validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined,
           ~~~~~~~~~

  src/tendermint/abci/types.ts:533:3
    533   validator: Validator;
          ~~~~~~~~~
    The expected type comes from property 'validator' which is declared here on type 'ExtendedVoteInfo'

src/tendermint/abci/types.ts:4074:5 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

4074     message.validator =
         ~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:4143:7 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

4143       validator: isSet(object.validator) ? Validator.fromJSON(object.validator) : undefined,
           ~~~~~~~~~

  src/tendermint/abci/types.ts:541:3
    541   validator: Validator;
          ~~~~~~~~~
    The expected type comes from property 'validator' which is declared here on type 'Misbehavior'

src/tendermint/abci/types.ts:4145:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

4145       time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined,
           ~~~~

  src/tendermint/abci/types.ts:545:3
    545   time: Timestamp;
          ~~~~
    The expected type comes from property 'time' which is declared here on type 'Misbehavior'

src/tendermint/abci/types.ts:4163:5 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

4163     message.validator =
         ~~~~~~~~~~~~~~~~~

src/tendermint/abci/types.ts:4169:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

4169     message.time =
         ~~~~~~~~~~~~

src/tendermint/crypto/proof.ts:157:7 - error TS2322: Type 'Proof | undefined' is not assignable to type 'Proof'.
  Type 'undefined' is not assignable to type 'Proof'.

157       proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined,
          ~~~~~

  src/tendermint/crypto/proof.ts:15:3
    15   proof: Proof;
         ~~~~~
    The expected type comes from property 'proof' which is declared here on type 'ValueOp'

src/tendermint/crypto/proof.ts:170:5 - error TS2322: Type 'Proof | undefined' is not assignable to type 'Proof'.
  Type 'undefined' is not assignable to type 'Proof'.

170     message.proof =
        ~~~~~~~~~~~~~

src/tendermint/p2p/types.ts:240:7 - error TS2322: Type 'ProtocolVersion | undefined' is not assignable to type 'ProtocolVersion'.
  Type 'undefined' is not assignable to type 'ProtocolVersion'.

240       protocolVersion: isSet(object.protocolVersion)
          ~~~~~~~~~~~~~~~

  src/tendermint/p2p/types.ts:16:3
    16   protocolVersion: ProtocolVersion;
         ~~~~~~~~~~~~~~~
    The expected type comes from property 'protocolVersion' which is declared here on type 'DefaultNodeInfo'

src/tendermint/p2p/types.ts:249:7 - error TS2322: Type 'DefaultNodeInfoOther | undefined' is not assignable to type 'DefaultNodeInfoOther'.
  Type 'undefined' is not assignable to type 'DefaultNodeInfoOther'.

249       other: isSet(object.other) ? DefaultNodeInfoOther.fromJSON(object.other) : undefined,
          ~~~~~

  src/tendermint/p2p/types.ts:23:3
    23   other: DefaultNodeInfoOther;
         ~~~~~
    The expected type comes from property 'other' which is declared here on type 'DefaultNodeInfo'

src/tendermint/p2p/types.ts:271:5 - error TS2322: Type 'ProtocolVersion | undefined' is not assignable to type 'ProtocolVersion'.
  Type 'undefined' is not assignable to type 'ProtocolVersion'.

271     message.protocolVersion =
        ~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/p2p/types.ts:281:5 - error TS2322: Type 'DefaultNodeInfoOther | undefined' is not assignable to type 'DefaultNodeInfoOther'.
  Type 'undefined' is not assignable to type 'DefaultNodeInfoOther'.

281     message.other =
        ~~~~~~~~~~~~~

src/tendermint/types/block.ts:65:7 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

65       header: isSet(object.header) ? Header.fromJSON(object.header) : undefined,
         ~~~~~~

  src/tendermint/types/block.ts:8:3
    8   header: Header;
        ~~~~~~
    The expected type comes from property 'header' which is declared here on type 'Block'

src/tendermint/types/block.ts:66:7 - error TS2322: Type 'Data | undefined' is not assignable to type 'Data'.
  Type 'undefined' is not assignable to type 'Data'.

66       data: isSet(object.data) ? Data.fromJSON(object.data) : undefined,
         ~~~~

  src/tendermint/types/block.ts:9:3
    9   data: Data;
        ~~~~
    The expected type comes from property 'data' which is declared here on type 'Block'

src/tendermint/types/block.ts:67:7 - error TS2322: Type 'EvidenceList | undefined' is not assignable to type 'EvidenceList'.
  Type 'undefined' is not assignable to type 'EvidenceList'.

67       evidence: isSet(object.evidence) ? EvidenceList.fromJSON(object.evidence) : undefined,
         ~~~~~~~~

  src/tendermint/types/block.ts:10:3
    10   evidence: EvidenceList;
         ~~~~~~~~
    The expected type comes from property 'evidence' which is declared here on type 'Block'

src/tendermint/types/block.ts:68:7 - error TS2322: Type 'Commit | undefined' is not assignable to type 'Commit'.
  Type 'undefined' is not assignable to type 'Commit'.

68       lastCommit: isSet(object.lastCommit) ? Commit.fromJSON(object.lastCommit) : undefined,
         ~~~~~~~~~~

  src/tendermint/types/block.ts:11:3
    11   lastCommit: Commit;
         ~~~~~~~~~~
    The expected type comes from property 'lastCommit' which is declared here on type 'Block'

src/tendermint/types/block.ts:83:5 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

83     message.header =
       ~~~~~~~~~~~~~~

src/tendermint/types/block.ts:85:5 - error TS2322: Type 'Data | undefined' is not assignable to type 'Data'.
  Type 'undefined' is not assignable to type 'Data'.

85     message.data =
       ~~~~~~~~~~~~

src/tendermint/types/block.ts:87:5 - error TS2322: Type 'EvidenceList | undefined' is not assignable to type 'EvidenceList'.
  Type 'undefined' is not assignable to type 'EvidenceList'.

87     message.evidence =
       ~~~~~~~~~~~~~~~~

src/tendermint/types/block.ts:91:5 - error TS2322: Type 'Commit | undefined' is not assignable to type 'Commit'.
  Type 'undefined' is not assignable to type 'Commit'.

91     message.lastCommit =
       ~~~~~~~~~~~~~~~~~~

src/tendermint/types/evidence.ts:161:7 - error TS2322: Type 'Vote | undefined' is not assignable to type 'Vote'.
  Type 'undefined' is not assignable to type 'Vote'.

161       voteA: isSet(object.voteA) ? Vote.fromJSON(object.voteA) : undefined,
          ~~~~~

  src/tendermint/types/evidence.ts:14:3
    14   voteA: Vote;
         ~~~~~
    The expected type comes from property 'voteA' which is declared here on type 'DuplicateVoteEvidence'

src/tendermint/types/evidence.ts:162:7 - error TS2322: Type 'Vote | undefined' is not assignable to type 'Vote'.
  Type 'undefined' is not assignable to type 'Vote'.

162       voteB: isSet(object.voteB) ? Vote.fromJSON(object.voteB) : undefined,
          ~~~~~

  src/tendermint/types/evidence.ts:15:3
    15   voteB: Vote;
         ~~~~~
    The expected type comes from property 'voteB' which is declared here on type 'DuplicateVoteEvidence'

src/tendermint/types/evidence.ts:165:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

165       timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
          ~~~~~~~~~

  src/tendermint/types/evidence.ts:18:3
    18   timestamp: Timestamp;
         ~~~~~~~~~
    The expected type comes from property 'timestamp' which is declared here on type 'DuplicateVoteEvidence'

src/tendermint/types/evidence.ts:181:5 - error TS2322: Type 'Vote | undefined' is not assignable to type 'Vote'.
  Type 'undefined' is not assignable to type 'Vote'.

181     message.voteA =
        ~~~~~~~~~~~~~

src/tendermint/types/evidence.ts:183:5 - error TS2322: Type 'Vote | undefined' is not assignable to type 'Vote'.
  Type 'undefined' is not assignable to type 'Vote'.

183     message.voteB =
        ~~~~~~~~~~~~~

src/tendermint/types/evidence.ts:193:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

193     message.timestamp =
        ~~~~~~~~~~~~~~~~~

src/tendermint/types/evidence.ts:259:7 - error TS2322: Type 'LightBlock | undefined' is not assignable to type 'LightBlock'.
  Type 'undefined' is not assignable to type 'LightBlock'.

259       conflictingBlock: isSet(object.conflictingBlock)
          ~~~~~~~~~~~~~~~~

  src/tendermint/types/evidence.ts:22:3
    22   conflictingBlock: LightBlock;
         ~~~~~~~~~~~~~~~~
    The expected type comes from property 'conflictingBlock' which is declared here on type 'LightClientAttackEvidence'

src/tendermint/types/evidence.ts:267:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

267       timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
          ~~~~~~~~~

  src/tendermint/types/evidence.ts:26:3
    26   timestamp: Timestamp;
         ~~~~~~~~~
    The expected type comes from property 'timestamp' which is declared here on type 'LightClientAttackEvidence'

src/tendermint/types/evidence.ts:291:5 - error TS2322: Type 'LightBlock | undefined' is not assignable to type 'LightBlock'.
  Type 'undefined' is not assignable to type 'LightBlock'.

291     message.conflictingBlock =
        ~~~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/types/evidence.ts:304:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

304     message.timestamp =
        ~~~~~~~~~~~~~~~~~

src/tendermint/types/params.ts:125:7 - error TS2322: Type 'BlockParams | undefined' is not assignable to type 'BlockParams'.
  Type 'undefined' is not assignable to type 'BlockParams'.

125       block: isSet(object.block) ? BlockParams.fromJSON(object.block) : undefined,
          ~~~~~

  src/tendermint/types/params.ts:11:3
    11   block: BlockParams;
         ~~~~~
    The expected type comes from property 'block' which is declared here on type 'ConsensusParams'

src/tendermint/types/params.ts:126:7 - error TS2322: Type 'EvidenceParams | undefined' is not assignable to type 'EvidenceParams'.
  Type 'undefined' is not assignable to type 'EvidenceParams'.

126       evidence: isSet(object.evidence) ? EvidenceParams.fromJSON(object.evidence) : undefined,
          ~~~~~~~~

  src/tendermint/types/params.ts:12:3
    12   evidence: EvidenceParams;
         ~~~~~~~~
    The expected type comes from property 'evidence' which is declared here on type 'ConsensusParams'

src/tendermint/types/params.ts:127:7 - error TS2322: Type 'ValidatorParams | undefined' is not assignable to type 'ValidatorParams'.
  Type 'undefined' is not assignable to type 'ValidatorParams'.

127       validator: isSet(object.validator) ? ValidatorParams.fromJSON(object.validator) : undefined,
          ~~~~~~~~~

  src/tendermint/types/params.ts:13:3
    13   validator: ValidatorParams;
         ~~~~~~~~~
    The expected type comes from property 'validator' which is declared here on type 'ConsensusParams'

src/tendermint/types/params.ts:128:7 - error TS2322: Type 'VersionParams | undefined' is not assignable to type 'VersionParams'.
  Type 'undefined' is not assignable to type 'VersionParams'.

128       version: isSet(object.version) ? VersionParams.fromJSON(object.version) : undefined,
          ~~~~~~~

  src/tendermint/types/params.ts:14:3
    14   version: VersionParams;
         ~~~~~~~
    The expected type comes from property 'version' which is declared here on type 'ConsensusParams'

src/tendermint/types/params.ts:145:5 - error TS2322: Type 'BlockParams | undefined' is not assignable to type 'BlockParams'.
  Type 'undefined' is not assignable to type 'BlockParams'.

145     message.block =
        ~~~~~~~~~~~~~

src/tendermint/types/params.ts:147:5 - error TS2322: Type 'EvidenceParams | undefined' is not assignable to type 'EvidenceParams'.
  Type 'undefined' is not assignable to type 'EvidenceParams'.

147     message.evidence =
        ~~~~~~~~~~~~~~~~

src/tendermint/types/params.ts:151:5 - error TS2322: Type 'ValidatorParams | undefined' is not assignable to type 'ValidatorParams'.
  Type 'undefined' is not assignable to type 'ValidatorParams'.

151     message.validator =
        ~~~~~~~~~~~~~~~~~

src/tendermint/types/params.ts:155:5 - error TS2322: Type 'VersionParams | undefined' is not assignable to type 'VersionParams'.
  Type 'undefined' is not assignable to type 'VersionParams'.

155     message.version =
        ~~~~~~~~~~~~~~~

src/tendermint/types/params.ts:265:7 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

265       maxAgeDuration: isSet(object.maxAgeDuration) ? Duration.fromJSON(object.maxAgeDuration) : undefined,
          ~~~~~~~~~~~~~~

  src/tendermint/types/params.ts:45:3
    45   maxAgeDuration: Duration;
         ~~~~~~~~~~~~~~
    The expected type comes from property 'maxAgeDuration' which is declared here on type 'EvidenceParams'

src/tendermint/types/params.ts:284:5 - error TS2322: Type 'Duration | undefined' is not assignable to type 'Duration'.
  Type 'undefined' is not assignable to type 'Duration'.

284     message.maxAgeDuration =
        ~~~~~~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:316:7 - error TS2322: Type 'Proof | undefined' is not assignable to type 'Proof'.
  Type 'undefined' is not assignable to type 'Proof'.

316       proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined,
          ~~~~~

  src/tendermint/types/types.ts:114:3
    114   proof: Proof;
          ~~~~~
    The expected type comes from property 'proof' which is declared here on type 'Part'

src/tendermint/types/types.ts:331:5 - error TS2322: Type 'Proof | undefined' is not assignable to type 'Proof'.
  Type 'undefined' is not assignable to type 'Proof'.

331     message.proof =
        ~~~~~~~~~~~~~

src/tendermint/types/types.ts:375:7 - error TS2322: Type 'PartSetHeader | undefined' is not assignable to type 'PartSetHeader'.
  Type 'undefined' is not assignable to type 'PartSetHeader'.

375       partSetHeader: isSet(object.partSetHeader) ? PartSetHeader.fromJSON(object.partSetHeader) : undefined,
          ~~~~~~~~~~~~~

  src/tendermint/types/types.ts:119:3
    119   partSetHeader: PartSetHeader;
          ~~~~~~~~~~~~~
    The expected type comes from property 'partSetHeader' which is declared here on type 'BlockID'

src/tendermint/types/types.ts:389:5 - error TS2322: Type 'PartSetHeader | undefined' is not assignable to type 'PartSetHeader'.
  Type 'undefined' is not assignable to type 'PartSetHeader'.

389     message.partSetHeader =
        ~~~~~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:518:7 - error TS2322: Type 'Consensus | undefined' is not assignable to type 'Consensus'.
  Type 'undefined' is not assignable to type 'Consensus'.

518       version: isSet(object.version) ? Consensus.fromJSON(object.version) : undefined,
          ~~~~~~~

  src/tendermint/types/types.ts:124:3
    124   version: Consensus;
          ~~~~~~~
    The expected type comes from property 'version' which is declared here on type 'Header'

src/tendermint/types/types.ts:521:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

521       time: isSet(object.time) ? fromJsonTimestamp(object.time) : undefined,
          ~~~~

  src/tendermint/types/types.ts:127:3
    127   time: Timestamp;
          ~~~~
    The expected type comes from property 'time' which is declared here on type 'Header'

src/tendermint/types/types.ts:522:7 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

522       lastBlockId: isSet(object.lastBlockId) ? BlockID.fromJSON(object.lastBlockId) : undefined,
          ~~~~~~~~~~~

  src/tendermint/types/types.ts:129:3
    129   lastBlockId: BlockID;
          ~~~~~~~~~~~
    The expected type comes from property 'lastBlockId' which is declared here on type 'Header'

src/tendermint/types/types.ts:589:5 - error TS2322: Type 'Consensus | undefined' is not assignable to type 'Consensus'.
  Type 'undefined' is not assignable to type 'Consensus'.

589     message.version =
        ~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:596:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

596     message.time =
        ~~~~~~~~~~~~

src/tendermint/types/types.ts:598:5 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

598     message.lastBlockId =
        ~~~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:746:7 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

746       blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
          ~~~~~~~

  src/tendermint/types/types.ts:164:3
    164   blockId: BlockID;
          ~~~~~~~
    The expected type comes from property 'blockId' which is declared here on type 'Vote'

src/tendermint/types/types.ts:747:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

747       timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
          ~~~~~~~~~

  src/tendermint/types/types.ts:165:3
    165   timestamp: Timestamp;
          ~~~~~~~~~
    The expected type comes from property 'timestamp' which is declared here on type 'Vote'

src/tendermint/types/types.ts:780:5 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

780     message.blockId =
        ~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:784:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

784     message.timestamp =
        ~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:848:7 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

848       blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
          ~~~~~~~

  src/tendermint/types/types.ts:174:3
    174   blockId: BlockID;
          ~~~~~~~
    The expected type comes from property 'blockId' which is declared here on type 'Commit'

src/tendermint/types/types.ts:872:5 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

872     message.blockId =
        ~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:936:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

936       timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
          ~~~~~~~~~

  src/tendermint/types/types.ts:181:3
    181   timestamp: Timestamp;
          ~~~~~~~~~
    The expected type comes from property 'timestamp' which is declared here on type 'CommitSig'

src/tendermint/types/types.ts:958:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

958     message.timestamp =
        ~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1043:7 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

1043       blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
           ~~~~~~~

  src/tendermint/types/types.ts:189:3
    189   blockId: BlockID;
          ~~~~~~~
    The expected type comes from property 'blockId' which is declared here on type 'Proposal'

src/tendermint/types/types.ts:1044:7 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1044       timestamp: isSet(object.timestamp) ? fromJsonTimestamp(object.timestamp) : undefined,
           ~~~~~~~~~

  src/tendermint/types/types.ts:190:3
    190   timestamp: Timestamp;
          ~~~~~~~~~
    The expected type comes from property 'timestamp' which is declared here on type 'Proposal'

src/tendermint/types/types.ts:1070:5 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

1070     message.blockId =
         ~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1074:5 - error TS2322: Type 'Timestamp | undefined' is not assignable to type 'Timestamp'.
  Type 'undefined' is not assignable to type 'Timestamp'.

1074     message.timestamp =
         ~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1120:7 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

1120       header: isSet(object.header) ? Header.fromJSON(object.header) : undefined,
           ~~~~~~

  src/tendermint/types/types.ts:194:3
    194   header: Header;
          ~~~~~~
    The expected type comes from property 'header' which is declared here on type 'SignedHeader'

src/tendermint/types/types.ts:1121:7 - error TS2322: Type 'Commit | undefined' is not assignable to type 'Commit'.
  Type 'undefined' is not assignable to type 'Commit'.

1121       commit: isSet(object.commit) ? Commit.fromJSON(object.commit) : undefined,
           ~~~~~~

  src/tendermint/types/types.ts:195:3
    195   commit: Commit;
          ~~~~~~
    The expected type comes from property 'commit' which is declared here on type 'SignedHeader'

src/tendermint/types/types.ts:1132:5 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

1132     message.header =
         ~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1134:5 - error TS2322: Type 'Commit | undefined' is not assignable to type 'Commit'.
  Type 'undefined' is not assignable to type 'Commit'.

1134     message.commit =
         ~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1177:7 - error TS2322: Type 'SignedHeader | undefined' is not assignable to type 'SignedHeader'.
  Type 'undefined' is not assignable to type 'SignedHeader'.

1177       signedHeader: isSet(object.signedHeader) ? SignedHeader.fromJSON(object.signedHeader) : undefined,
           ~~~~~~~~~~~~

  src/tendermint/types/types.ts:198:3
    198   signedHeader: SignedHeader;
          ~~~~~~~~~~~~
    The expected type comes from property 'signedHeader' which is declared here on type 'LightBlock'

src/tendermint/types/types.ts:1178:7 - error TS2322: Type 'ValidatorSet | undefined' is not assignable to type 'ValidatorSet'.
  Type 'undefined' is not assignable to type 'ValidatorSet'.

1178       validatorSet: isSet(object.validatorSet) ? ValidatorSet.fromJSON(object.validatorSet) : undefined,
           ~~~~~~~~~~~~

  src/tendermint/types/types.ts:199:3
    199   validatorSet: ValidatorSet;
          ~~~~~~~~~~~~
    The expected type comes from property 'validatorSet' which is declared here on type 'LightBlock'

src/tendermint/types/types.ts:1191:5 - error TS2322: Type 'SignedHeader | undefined' is not assignable to type 'SignedHeader'.
  Type 'undefined' is not assignable to type 'SignedHeader'.

1191     message.signedHeader =
         ~~~~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1195:5 - error TS2322: Type 'ValidatorSet | undefined' is not assignable to type 'ValidatorSet'.
  Type 'undefined' is not assignable to type 'ValidatorSet'.

1195     message.validatorSet =
         ~~~~~~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1254:7 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

1254       blockId: isSet(object.blockId) ? BlockID.fromJSON(object.blockId) : undefined,
           ~~~~~~~

  src/tendermint/types/types.ts:202:3
    202   blockId: BlockID;
          ~~~~~~~
    The expected type comes from property 'blockId' which is declared here on type 'BlockMeta'

src/tendermint/types/types.ts:1256:7 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

1256       header: isSet(object.header) ? Header.fromJSON(object.header) : undefined,
           ~~~~~~

  src/tendermint/types/types.ts:204:3
    204   header: Header;
          ~~~~~~
    The expected type comes from property 'header' which is declared here on type 'BlockMeta'

src/tendermint/types/types.ts:1271:5 - error TS2322: Type 'BlockID | undefined' is not assignable to type 'BlockID'.
  Type 'undefined' is not assignable to type 'BlockID'.

1271     message.blockId =
         ~~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1279:5 - error TS2322: Type 'Header | undefined' is not assignable to type 'Header'.
  Type 'undefined' is not assignable to type 'Header'.

1279     message.header =
         ~~~~~~~~~~~~~~

src/tendermint/types/types.ts:1333:7 - error TS2322: Type 'Proof | undefined' is not assignable to type 'Proof'.
  Type 'undefined' is not assignable to type 'Proof'.

1333       proof: isSet(object.proof) ? Proof.fromJSON(object.proof) : undefined,
           ~~~~~

  src/tendermint/types/types.ts:211:3
    211   proof: Proof;
          ~~~~~
    The expected type comes from property 'proof' which is declared here on type 'TxProof'

src/tendermint/types/types.ts:1349:5 - error TS2322: Type 'Proof | undefined' is not assignable to type 'Proof'.
  Type 'undefined' is not assignable to type 'Proof'.

1349     message.proof =
         ~~~~~~~~~~~~~

src/tendermint/types/validator.ts:69:7 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

69       proposer: isSet(object.proposer) ? Validator.fromJSON(object.proposer) : undefined,
         ~~~~~~~~

  src/tendermint/types/validator.ts:8:3
    8   proposer: Validator;
        ~~~~~~~~
    The expected type comes from property 'proposer' which is declared here on type 'ValidatorSet'

src/tendermint/types/validator.ts:89:5 - error TS2322: Type 'Validator | undefined' is not assignable to type 'Validator'.
  Type 'undefined' is not assignable to type 'Validator'.

89     message.proposer =
       ~~~~~~~~~~~~~~~~

src/tendermint/types/validator.ts:153:7 - error TS2322: Type 'PublicKey | undefined' is not assignable to type 'PublicKey'.
  Type 'undefined' is not assignable to type 'PublicKey'.

153       pubKey: isSet(object.pubKey) ? PublicKey.fromJSON(object.pubKey) : undefined,
          ~~~~~~

  src/tendermint/types/validator.ts:13:3
    13   pubKey: PublicKey;
         ~~~~~~
    The expected type comes from property 'pubKey' which is declared here on type 'Validator'

src/tendermint/types/validator.ts:172:5 - error TS2322: Type 'PublicKey | undefined' is not assignable to type 'PublicKey'.
  Type 'undefined' is not assignable to type 'PublicKey'.

172     message.pubKey =
        ~~~~~~~~~~~~~~

src/tendermint/types/validator.ts:225:7 - error TS2322: Type 'PublicKey | undefined' is not assignable to type 'PublicKey'.
  Type 'undefined' is not assignable to type 'PublicKey'.

225       pubKey: isSet(object.pubKey) ? PublicKey.fromJSON(object.pubKey) : undefined,
          ~~~~~~

  src/tendermint/types/validator.ts:18:3
    18   pubKey: PublicKey;
         ~~~~~~
    The expected type comes from property 'pubKey' which is declared here on type 'SimpleValidator'

src/tendermint/types/validator.ts:238:5 - error TS2322: Type 'PublicKey | undefined' is not assignable to type 'PublicKey'.
  Type 'undefined' is not assignable to type 'PublicKey'.

238     message.pubKey =
        ~~~~~~~~~~~~~~
webmaster128 commented 1 year ago

If you checkout the branch telescope-0.98.0 you can reproduce with npm i && npm run build

Zetazzz commented 1 year ago

If you checkout the branch telescope-0.98.0 you can reproduce with npm i && npm run build

Hi, I tried to apply strictNullChecks: false in tsconfig.json, then it's building without errors. So is it possible that we disable strict null checks for now? That can buy us some time to fix the issue properly.

Thank you very much!

hoangdv2429 commented 1 year ago

If you checkout the branch telescope-0.98.0 you can reproduce with npm i && npm run build @webmaster128 hi sir, The fix for this haven't been merge yet. We're deciding on making this as bug fix or a flag and let people choose what they want 🙌

webmaster128 commented 1 year ago

Thank you @hoangdv2429 & @Zetazzz! I can try strictNullChecks: false for sure, but don't feel comfortable releasing cosmjs-types with that. The error here are correct to complain about a type mismatch. E.g. with

pubKey: isSet(object.pubKey) ? PublicKey.fromJSON(object.pubKey) : undefined,

in a fromJSON implementation, a missing or null pubKey input would lead to pubKey: undefined whereas the type interface says that it is never undefined.

hoangdv2429 commented 1 year ago

@webmaster128 I have made the change in this PR, we're discussing on how to apply this before merging. Can you have a look https://github.com/cosmology-tech/telescope/pull/404/

Zetazzz commented 1 year ago

Hi! @webmaster128

@hoangdv2429 's PR has been merged to Telescope. After that I also fixed pagination undefined problems. I've made a PR: https://github.com/confio/cosmjs-types/pull/75

It seems like it can build now. Hopefully this PR works for you.

Thank you very much!