We need to decide what to do with the multistore. This is currently blocking further progress on ADR-040.
Roy is working on refactoring the multistore to support the SMT SC + SS design. The primary issue is that the old IAVL KVStores are each individually versioned, whereas in the new design versioning is handled internal to the underlying database and so is global for all KVStore buckets in the database.
It might be easier to replace the multistore entirely, but this causes issues with the IBC standard. Robert has proposed removing the multistore generally, but keeping it for IBC module only.
We need to decide what to do with the multistore. This is currently blocking further progress on ADR-040.
Roy is working on refactoring the multistore to support the SMT SC + SS design. The primary issue is that the old IAVL KVStores are each individually versioned, whereas in the new design versioning is handled internal to the underlying database and so is global for all KVStore buckets in the database.
It might be easier to replace the multistore entirely, but this causes issues with the IBC standard. Robert has proposed removing the multistore generally, but keeping it for IBC module only.
Related PR: https://github.com/cosmos/cosmos-sdk/pull/9355
Related issue: https://github.com/cosmos/cosmos-sdk/issues/9818
Related discussions: https://github.com/cosmos/ibc-go/discussions/256 https://github.com/cosmos/cosmos-sdk/discussions/9331 https://github.com/cosmos/cosmos-sdk/discussions/8297