It introduces a migrator struct to BaseApp which allows the application to handle adding and removing stores as well as performing module migrations to any store.
This needs to be done in Commit as we need to first write the changes on the current deliver tx branch of state, add and remove the stores from the MultiCommitStore and then create a new branch of state to perform the migrations on. Only once they are completed and written can we calculate the new app hash
This PR addresses the app hash bug identified in this issue: https://github.com/celestiaorg/celestia-app/issues/3167
It introduces a
migrator
struct toBaseApp
which allows the application to handle adding and removing stores as well as performing module migrations to any store.This needs to be done in
Commit
as we need to first write the changes on the current deliver tx branch of state, add and remove the stores from theMultiCommitStore
and then create a new branch of state to perform the migrations on. Only once they are completed and written can we calculate the new app hash