cosmos-sdk

A Framework for Building High Value Public Blockchains

APACHE-2.0 License

Downloads
4.6K
Stars
5.9K
Committers
583

Bot releases are hidden (Show)

cosmos-sdk - v0.43.0-alpha1

Published by aaronc over 3 years ago

Features

  • #8077 Added support for grpc-web, enabling browsers to communicate with a chain's gRPC server
  • #8965 cosmos reflection now provides more information on the application such as: deliverable msgs, sdk.Config info etc (still in alpha stage).
  • #8559 Added Protobuf compatible secp256r1 ECDSA signatures.
  • #8786 Enabled secp256r1 in x/auth.
  • (rosetta) #8729 Data API fully supports balance tracking. Construction API can now construct any message supported by the application.
  • #8754 Added support for reverse iteration to pagination.
  • #9088 Added implementation to ADR-28 Derived Addresses.
  • #9133 Added hooks for governance actions.

Client Breaking Changes

  • #8363 Addresses no longer have a fixed 20-byte length. From the SDK modules' point of view, any 1-255 bytes-long byte array is a valid address.
  • #8346 All CLI tx commands generate ServiceMsgs by default. Graceful Amino support has been added to ServiceMsgs to support signing legacy Msgs.
  • (crypto/ed25519) [#8690] Adopt zip1215 ed2559 verification rules.
  • #8849 Upgrade module no longer supports time based upgrades.
  • #8880 The CLI simd migrate v0.40 ... command has been renamed to simd migrate v0.42.
  • #7477 Changed Bech32 Public Key serialization in the client facing functionality (CLI, MsgServer, QueryServer):
    • updated the keyring display structure (it uses protobuf JSON serialization) - the output is more verbose.
    • Renamed MarshalAny and UnmarshalAny to MarshalInterface and UnmarshalInterface respectively. These functions must take an interface as parameter (not a concrete type nor Any object). Underneath they use Any wrapping for correct protobuf serialization.
    • CLI: removed --text flag from show-node-id command; the text format for public keys is not used any more - instead we use ProtoJSON.
  • (types) #9079 Add AddAmount/SubAmount methods to sdk.Coin.
  • #8628 Commands no longer print outputs using stderr by default

API Breaking Changes

  • (keyring) #\8662 NewMnemonic now receives an additional passphrase argument to secure the key generated by the bip39 mnemonic.
  • (x/bank) #8473 Bank keeper does not expose unsafe balance changing methods such as SetBalance, SetSupply etc.
  • (x/staking) #8473 On genesis init, if non bonded pool and bonded pool balance, coming from the bank module, does not match what is saved in the staking state, the initialization will panic.
  • (x/gov) #8473 On genesis init, if the gov module account balance, coming from bank module state, does not match the one in gov module state, the initialization will panic.
  • (x/distribution) #8473 On genesis init, if the distribution module account balance, coming from bank module state, does not match the one in distribution module state, the initialization will panic.
  • (client/keys) #8500 InfoImporter interface is removed from legacy keybase.
  • #8629 Deprecated SetFullFundraiserPath from Config in favor of SetPurpose and SetCoinType.
  • (x/upgrade) #8673 Remove IBC logic from x/upgrade. Deprecates IBC fields in an Upgrade Plan. IBC upgrade logic moved to 02-client and an IBC UpgradeProposal is added.
  • (x/bank) #8517 SupplyI interface and Supply are removed and uses sdk.Coins for supply tracking
  • (x/upgrade) #8743 UpgradeHandler includes a new argument VersionMap which helps facilitate in-place migrations.
  • (x/auth) #8129 Updated SigVerifiableTx.GetPubKeys method signature to return error.
  • (x/upgrade) \7487 Upgrade Keeper takes new argument ProtocolVersionSetter which implements setting a protocol version on baseapp.
  • (baseapp) \7487 BaseApp's fields appVersion and version were swapped to match Tendermint's fields.
  • #8682 ante.NewAnteHandler updated to receive all positional params as ante.HandlerOptions struct. If required fields aren't set, throws error accordingly.
  • (x/staking/types) #7447 Remove bech32 PubKey support:
    • ValidatorI interface update: GetConsPubKey renamed to TmConsPubKey (this is to clarify the return type: consensus public key must be a tendermint key); TmConsPubKey, GetConsAddr methods return error.
    • Validator updated according to the ValidatorI changes described above.
    • ToTmValidator function: added error to return values.
    • Validator.ConsensusPubkey type changed from string to codectypes.Any.
    • MsgCreateValidator.Pubkey type changed from string to codectypes.Any.
  • (client) #8926 client/tx.PrepareFactory has been converted to a private function, as it's only used internally.
  • (auth/tx) #8926 The ProtoTxProvider interface used as a workaround for transaction simulation has been removed.
  • (x/bank) #8798 GetTotalSupply is removed in favour of GetPaginatedTotalSupply
  • (x/bank/types) #9061 AddressFromBalancesStore now returns an error for invalid key instead of panic.

State Machine Breaking

  • (x/{bank,distrib,gov,slashing,staking}) #8363 Store keys have been modified to allow for variable-length addresses.
  • (x/evidence) #8502 HandleEquivocationEvidence persists the evidence to state.
  • (x/gov) #7733 ADR 037 Implementation: Governance Split Votes
  • (x/bank) #8656 balance and supply are now correctly tracked via coin_spent, coin_received, coinbase and burn events.
  • (x/bank) #8517 Supply is now stored and tracked as sdk.Coins
  • (store) #8790 Reduce gas costs by 10x for transient store operations.
  • (x/staking) #8505 Convert staking power reduction into an on-chain parameter rather than a hardcoded in-code variable.
  • (x/bank) #9051 Supply value is stored as sdk.Int rather than string.

Improvements

  • (x/bank) #8614 Add Name and Symbol fields to denom metadata
  • (x/auth) #8522 Allow to query all stored accounts
  • (crypto/types) #8600 CompactBitArray: optimize the NumTrueBitsBefore method and add an Equal method.
  • (x/upgrade) #8743 Add tracking module versions as per ADR-041
  • (types) #8962 Add Abs() method to sdk.Int.
  • (x/bank) #8950 Improve efficiency on supply updates.
  • (store) #8012 Implementation of ADR-038 WriteListener and listen.KVStore
  • (makefile) #7933 Use Docker to generate swagger files.

Bug Fixes

  • (gRPC) #8945 gRPC reflection now works correctly.
  • (keyring) #\8635 Remove hardcoded default passphrase value on NewMnemonic
  • (x/bank) #8434 Fix legacy REST API GET /bank/total and GET /bank/total/{denom} in swagger
  • (x/slashing) #8427 Fix query signing infos command

Deprecated

  • (grpc) #8926 The tx field in SimulateRequest has been deprecated, prefer to pass tx_bytes instead.
cosmos-sdk - v0.42.4

Published by clevinson over 3 years ago

Cosmos SDK v0.42.4 "Stargate" Release Notes

This release includes an important Tendermint update that fixes a security issue with Tendermint light clients. For more information, see Tendermint v0.34.9 release notes.

See the Cosmos SDK v0.42.4 milestone on our issue tracker for further details.

cosmos-sdk - v0.39.3 - The Launchpad Series

Published by alessio over 3 years ago

Cosmos SDK v0.39.3 Release Notes

This release fixes security vulnerability identified in the simapp.

See the Cosmos SDK 0.39.3 milestone on our issue tracker for details.

cosmos-sdk - v0.42.3

Published by alessio over 3 years ago

Cosmos SDK v0.42.3 "Stargate" Release Notes

This release fixes a security vulnerability identified in x/bank.

cosmos-sdk - v0.42.2

Published by alessio over 3 years ago

Cosmos SDK v0.42.2 "Stargate" Release Notes

This maintenance release includes various bugfixes and performance improvements, and it does not introduce any breaking changes.

See the Cosmos SDK v0.42.2 milestone on our issue tracker for further details.

Keyring UX improvement

A number of macOS users have reported that their operating system's keychain prompt them for password to unlock the
keyring when using the os backend before executing any action. This release includes a small fix that automatically
adjusts applications keyring trust so that users are prompted for password only once when the keyring is unlocked.

Tx search results support for order-by

Although the Tendermint Core's RPC tx_search endpoint has been supporting an order-by parameter for quite some time now,
the Cosmos SDK did not respect the order-by parameter and incorrectly set the requests order-by to "" (null).
This releases introduces the relevant order-by parameter support when searching through Txs.

Multisig accounts and v0.40 genesis files migration

This release includes a bug fix for a v0.39 to v0.42 migration issue affecting genesis files that contain
multisig accounts.

cosmos-sdk - v0.42.1

Published by robert-zaremba over 3 years ago

Cosmos SDK v0.42.1 "Stargate" Release Notes

This release fixes security vulnerability identified in the simapp.

cosmos-sdk - v0.42.0

Published by alessio over 3 years ago

Cosmos SDK v0.42.0 "Stargate" Release Notes

This release includes an important security fix for all non Cosmos Hub chains (e.g. any chain that does not use the default cosmos bech32 prefix), and a few performance improvements.

See the Cosmos SDK v0.42.0 milestone on our issue tracker for further details.

Security fix: validator address conversion in evidence handling

The security fix resolves the issue regarding incorrect handling of validators' consensus addresses. Because of this incorrect handling, Cosmos SDK apps that were not using the default cosmos Bech32 address prefix were not able to jail validators that committed misbehaviors such as double signing.

Although the issue does not affect the Cosmos Hub, this issue potentially renders the v0.41 and v0.40 release series unsafe for most chains.

Full header is emitted on IBC UpdateClient message event

The event emitted by the IBC UpdateClient message now contains the full header.
This change makes header tracking easier and improves the handling of misbehaviors.

cosmos-sdk - v0.41.4

Published by alessio over 3 years ago

Cosmos SDK v0.41.4 "Stargate" Release Notes

This release includes the addition of the multisign-batch command, minor bug fixes, and performance improvements.

See the Cosmos SDK v0.41.4 milestone on our issue tracker for details.

multisign-batch command

Multisign-batch command was added and it allows generating multiple multisig transactions by merging batches of signatures.

Query tx with multisig addresses

Now the rest endpoint allows to query transactions with multisig addresses.

Improvements

Major performance improvements in store and balance which will speed up genesis verification and initialization.

Genesis now allows 0 coin account balances. This means that genesis initialization will not fail if an address with no balance will be included.

Bugfixes

The keys migration command (i.e. keys migrate) is now functional for offline, multisign, and ledger keys.

Minor bugfixes were included regarding missing errors and fields on some responses.

Tendermint new release

Tendermint was upgraded to v0.34.8. This release of Tendermint introduces various changes that should make the logs much, much quieter. See Tendermint's changelog for more information.

cosmos-sdk - v0.42.0-alpha1

Published by clevinson over 3 years ago

Pre-release of v0.42.0, which includes the introduction of:

  • x/authz
  • x/fee_grant
  • ADR028 support for a more extensible address format

More details can be found in the github milestone here.

cosmos-sdk - v0.41.3

Published by alessio over 3 years ago

Cosmos SDK v0.41.3 "Stargate" Release Notes

This release fixes a build failure caused by a small API breakage introduced in Tendermint v0.34.7. It is highly recommended that all applications using v0.41.2 upgrade to v0.41.3 as soon as possible.

See the Cosmos SDK v0.41.3 milestone on our issue tracker for details.

IMPORTANT: Due to a bug in the v0.41.x series with how evidence handles validator consensus addresses (#8461), SDK based chains that are not using the default bech32 prefix (cosmos, aka all chains except for the Cosmos Hub) should not use this release or any release in the v0.41.x series. Please see #8668 for tracking & timeline for the v0.42.0 release, which will include a fix for this issue.

cosmos-sdk - v0.41.2

Published by alessio over 3 years ago

Cosmos SDK v0.41.2 "Stargate" Release Notes

This release upgrades Tendermint to v0.34.7, and does not introduce any breaking changes. It is highly recommended that all applications using v0.41.1 upgrade to v0.41.2 as soon as possible.

Tendermint v0.34.7

Operators running nodes that manage their keys through the Tendermint's FilePV implementation were
susceptible to leaking private keys material in the logs. The issue is now fixed in Tendermint v0.34.5 and later versions.

For more information regarding the patch, please refer to Tendermint's changelog.

cosmos-sdk - v0.41.1

Published by alessio over 3 years ago

Cosmos SDK v0.41.1 "Stargate" Release Notes

This release includes two security patches, and does not introduce any breaking changes. It is highly recommended that all applications using v0.41.0 upgrade to v0.41.1 as soon as possible.

See the Cosmos SDK v0.41.1 milestone on our issue tracker for details.

Security Patch #1: All gRPC requests are now routed through ABCI

When Tendermint commits a new block, the versions map in IAVL MutableTree is updated. If, at the same time, a concurrent gRPC request is performed, it will read the same versions map, causing the node to crash.

The patch consists of routing all gRPC requests through ABCI. The Go implementation of ABCI uses global lock on all requests, making them linearizable (received one at a time) which in turn prevents concurrent map reads and writes.

We are exploring on ways of introducing concurrent gRPC queries in #8591.

This bug has been reported via HackerOne.

Security Patch #2: Remove GetValidator cache map

The x/staking keeper holds an internal validatorCache cache map of validators. When multipile gRPC queries are performed simulataneously, concurrent reads and writes of this map can happen, causing the node to crash.

The patch removes the validatorCache altogether. Benchmarks show that the removal of the cache map even increases performance.

Is is important to note that the Security Patch #1 should also fix this bug, as it forces synchronous gRPC queries and therefore synchronous map reads/writes. However, it was deemed useful to include this bugfix too in this release.

Bug Fixes & Improvements

Several bug fixes and non-breaking improvements are included in this release.

Tendermint has been bumped to v0.34.4 to address a memory leak.

Environment variables are now correctly populated to CLI flags. When using the Tendermint subcommands tendermint show-* from the CLI, the SDK doesn't create new files anymore.

Keyring imports from older versions are fixed.

Additional validation for client denom metadata has been added.

On the IBC side, a packet_connection attribute has been added to IBC events to enable relayer filtering.

For the full change log, please see the CHANGELOG.

cosmos-sdk - v0.41.0

Published by alessio over 3 years ago

Cosmos SDK v0.41.0 "Stargate" Release Notes

This release includes two breaking changes, and a few minor bugfixes.

See the Cosmos SDK v0.41.0 milestone on our issue tracker for details.

Support Amino JSON for IBC MsgTransfer

This change breaks state backward compatibility.

At the moment hardware wallets are unable to sign messages using SIGN_MODE_DIRECT because the cosmos ledger app does not support proto encoding andSIGN_MODE_TEXTUAL is not available yet.

In order to enable hardware wallets users to interact with IBC, amino JSON support was added to MsgTransfer only.

Counterparty.ChannelID not available in OnChanOpenAck callback implementation.

This change breaks state backward compatibility.

In a previous version the Counterparty.ChannelID was available for an OnChanOpenAck callback implementation (read via channelKeeper.GetChannel(). Due to a regression, the channelID is currently empty.

The issue has been fixed by reordering IBC ChanOpenAck and ChanOpenConfirm to execute the core handlers logic first, followed by application callbacks.

It breaks state backward compatibility because the current change consumes more gas, which means that in an updated node a TX might fail because it ran out of gas whilst in older versions it would be successful.

Bug Fixes

Now x/bank correctly verifies balances and metadata at init genesis stage.

simapp correctly adds the coins of genesis accounts to supply.

cosmos-sdk - v0.40.1

Published by clevinson over 3 years ago

Cosmos SDK v0.40.1 "Stargate Series" Release Notes

This is a bug fix release to the Cosmos SDK 0.40 "Stargate" release series. No breaking changes are introduced, thus no migration should be needed.
Among the various bugfixes, this release introduces important security patches.

See the Cosmos SDK v0.40.1 milestone on our issue tracker for details.

Gogo protobuf security release

Gogoprotobuf released a bugfix addressing CVE-2021-3121. Cosmos SDK respective dependency has been updated and protobuf generated files were regenerated.

Tendermint security patches

This release comes with a newer release of Tendermint that, other than fixing various bugs it also addresses a high-severity security vulnerability.
For the comprehensive list of changes introduced by Tendermint since Cosmos SDK v0.40.0, please refer to Tendermint's v0.34.3 release notes.

Fix zero time checks

In Cosmos SDK applications, it is recommended to use Time.Unix() <= 0 instead of Time.IsZero(), which may lead to unexpected results.
See #8085 for more information.

Querying upgrade plans panics when no plan exists

The x/upgrade module command and REST endpoints for querying upgrade plans would panic when no plan existed. This is now resolved.

Fix account sequence

In Cosmos SDK v0.40.0 a new structure (SignatureV2) for handling message signatures was introduced.
Although the tx sign --signature-only command was still capable of generating correct signatures, it was not returning the account's correct sequence number.

Reproducible builds

Our automatic builds were not working correctly due to small gaps in file paths. Fixed in \8300 and \8301.

Wrapper errors were not reflective

Cosmos SDK errors typically support the Is() method. The Go errors.Is() function compares an error to a value and should always return true when the receiver is passed as an argument to its own method, e.g. err.Is(err). This was not a case for the error types provided by the types/errors package.

Fix latest consensus state

Errors occur when using the client to send IBC transactions without flag --absolute-timeouts, e.g:

gaiad tx ibc-transfer transfer

The issue was caused by incorrect interface decoding and unpacking of Any values and is now fixed.

cosmos-sdk - v0.40.0

Published by clevinson almost 4 years ago

Cosmos SDK v0.40.0 "Stargate"

This release introduces several new important updates to the Cosmos SDK. The release notes below provide an overview of
the larger high-level changes introduced in the v0.40 (aka Stargate) release series.

That being said, this release does contain many more minor and module-level changes besides those mentioned below. For a
comprehsive list of all breaking changes and improvements since the v0.39 release series, please see the
changelog.

Protocol Buffer Migration

Stargate introduces protocol buffers as the new standard serialization
format for blockchain state & wire communication within the Cosmos SDK. Protobuf definitions are organized into packages
that mirror Cosmos SDK modules in the new ./proto directory
of the SDK repo.

For an overview of the SDK's usage of protocol buffers, please look at the following ADRs and meta-issues which tracked
the corresponding work:

As a high level summary these represent the following major changes to the SDK:

  • New protocol buffer based encoding for all blockchain state (direct queries to tendermint now return protobuf binary
    encoded data, as opposed to Amino encoded data)
  • New transaction signing path implemented according to ADR020 above
  • Two new querier APIs (see #5921 for details)
    • Support for new gRPC based querier services
    • gRPC Gateway for REST querying corresponding to the new gRPC querier services

For details on how to upgrade Cosmos SDK based apps and modules to Stargate, please see
App and Modules Migration in the Cosmos SDK docs.

Note: Existing Amino REST endpoints are all preserved, though they are planned to be deprecated in a future release.

Inter Blockchain Communication (IBC)

The x/ibc module is now available and ready for use. High level IBC documentation is available at docs.cosmos.network. For more details check the the module documentation in the x/ibc/core/spec directory, or the ICS specs below:

Single application binary #6571

Cosmos SDK now compiles to a single application binary, as opposed to seperate binaries for running a node and one for
the CLI & REST server.

We've now included a barebones application simapp / simd for testing and demonstrating how an SDK application should
be constructed.

Details of the CLI refactor can be found here.

Test Network Testing Framework #6489

Introduction of the testutil package. This package allows the creation of an entirely in-process testing cluster with
fully operational Tendermint nodes constructed with SimApp. Each node has an RPC & API exposed. In addition, the network
exposes a Local client that can be used to directly interface with Tendermint's RPC. The test network is entirely
configurable.

Tendermint 0.34.1 #6365

Update to the latest version of tendermint which adds support for the following (in addition many other improvements):

  • ABCI update to give application control over block pruning
  • Support for arbitrary initial block height
  • Support for State Sync
  • Evidence handling for new types of evidence submitted by Tendermint from light clients

A more detailed list of Tendermint updates can be found here.

cosmos-sdk - v0.40.0-rc7

Published by clevinson almost 4 years ago

Changes since v0.40.0-r6

Improvements

  • (tendermint) #8281 Update tendermint to v0.34.1

Bug Fixes

  • (x/gentx) #8255 Fix gentx command setting wrong amount
cosmos-sdk - v0.40.0-rc6

Published by clevinson almost 4 years ago

Changes since v0.40.0-rc5:

Improvements

  • (x/staking) #8178 Update default historical header number for stargate

Bug Fixes

  • (x/distribution) #8240 fix setting withdraw address in x/distribution
  • (x/gentx) #8183 change gentx cmd amount to arg from flag
  • (x/ibc) #8165 Support IBC upgrade on same revision
  • (x/ibc) #8169 fix IBC software upgrade proposals from automatically failing, add unpackinterfaces function
  • (x/ibc) #8170 fix ClientUpdateProposal unpacker
  • (x/ibc) #8187 fix IBC upgrade, issue with commit & halting logic
  • (x/ibc) #8200 fix IBC timeout verification bug
  • (rest) #8221 fix unregistered interface failure when calling GET /blocks/latest via REST API
cosmos-sdk - v0.40.0-rc5

Published by clevinson almost 4 years ago

Changelog entries since v0.40.0-rc4:

Improvements

  • (auth/tx) Add new auth/tx gRPC & gRPC-Gateway endpoints for basic querying & broadcasting support
    • #7842 Add TxsByEvent gRPC endpoint
    • #7852 Add tx broadcast gRPC endpoint
  • (client/keys) #8043 Add support for export of unarmored private key
  • (client/tx) #7801 Update sign-batch multisig to work online
  • (crypto) #7987 Fix the inconsistency of CryptoCdc, only use
    codec/legacy.Cdc.
  • (logging) #8072 Refactor logging:
    • Use zerolog over Tendermint's go-kit logging wrapper.
    • Introduce Tendermint's --log_format=plain|json flag. Using format json allows for emitting structured JSON
      logs which can be consumed by an external logging facility (e.g. Loggly). Both formats log to STDERR.
    • The existing --log_level flag and it's default value now solely relates to the global logging
      level (e.g. info, debug, etc...) instead of <module>:<level>.
  • (SDK) #7925 Updated dependencies
    • Updated gRPC dependency to v1.33.2
    • Updated iavl dependency to v0.15-rc5
    • Updated tendermint dependency to v0.34.0
  • (version) #7848 #7941
    version --long output now shows the list of build dependencies and replaced build dependencies.
  • (x/genutil) #8099 init now supports a --recover flag to recover
    the private validator key from a given mnemonic

Client Breaking

  • (crypto) #7419 The SDK doesn't use Tendermint's crypto.PubKey
    interface anymore, and uses instead it's own PubKey interface, defined in crypto/types. Replace all instances of
    crypto.PubKey by cryptotypes.Pubkey.
  • (x/staking) #7419 The TmConsPubKey method on ValidatorI has been
    removed and replaced instead by ConsPubKey (which returns a SDK cryptotypes.PubKey) and TmConsPublicKey (which
    returns a Tendermint proto PublicKey).

State Machine Breaking Changes

  • (x/staking) #7979 keeper pubkey storage serialization migration
    from bech32 to protobuf.

Features

  • (codec/types) #8106 Adding NewAnyWithCustomTypeURL to correctly
    marshal Messages in TxBuilder.

API Breaking

  • #8080 Updated the codec.Marshaler interface
    • Moved MarshalAny and UnmarshalAny helper functions to codec.Marshaler and renamed to MarshalInterface and
      UnmarshalInterface respectively. These functions must take interface as a parameter (not a concrete type nor Any
      object). Underneath they use Any wrapping for correct protobuf serialization.
  • (client) #8107 Renamed PrintOutput and PrintOutputLegacy
    methods of the context.Client object to PrintProto and PrintObjectLegacy.
  • (grpc/tmservice) #8060 TmService gRPC service's validator pubkey
    type changed from bech32 format to Any
  • (x/auth/tx) #8106 change related to missing append functionality in
    client transaction signing
    • added overwriteSig argument to x/auth/client.SignTx and client/tx.Sign functions.
    • removed x/auth/tx.go:wrapper.GetSignatures. The wrapper provides TxBuilder functionality, and it's a private
      structure. That function was not used at all and it's not exposed through the TxBuilder interface.

Bug Fixes

  • (crypto) #7966 Bip44Params String() function now correctly
    returns the absolute HD path by adding the m/ prefix.
  • (crypto/keys) #7838 Add support for TM secp256k1 keys back to the
    SDK for consensus pubkeys
  • (x/auth/client/cli) #8106 fixing regression bugs in transaction signing.
cosmos-sdk - v0.37.15

Published by tac0turtle almost 4 years ago

Improvements

  • (tendermint) Bump Tendermint version to v0.32.14.
cosmos-sdk - v0.40.0-rc4

Published by clevinson almost 4 years ago

Updates since v0.40.0-rc3:

Bug Fixes

  • (store) #8048 Fix issue where SetInitialVersion was never getting called, causing all queries to return empty on chains with non-zero initial height