celestiaorg / cosmos-sdk

:chains: A Framework for Building High Value Public Blockchains :sparkles:
https://cosmos.network/
Other
19 stars 33 forks source link

feat: Initialize the new app with a deep SMT instead of populating the empty SMT #267

Closed Manav-Aggarwal closed 2 years ago

Manav-Aggarwal commented 2 years ago

Description

Currently, when a new baseapp is set from the contents of a fraudproof, when setting key/value pairs in the store of the baseapp, we start with an empty SMT with no predefined root. However, we must start with a deep SMT with a predefined root taken from the given fraudproof. This lets the new app's substore hashes to be the same.

Right now, since we load the key/value pairs on an empty SMT we don't get the same root as the pre-state root of a challenged transaction.

Closes: #266


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.

I have...

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.

I have...

Manav-Aggarwal commented 2 years ago

everything is moved to cosmos-sdk-rollmint repo