v1.0.2-pion-1-upgrade
Pre-releaseThe release mainly fixes a corrupted state of the pion-1 chain broken during upgrade from 0.4.3
to v1.0.0-rc1
release.
v0.4.3
was using ICS 1.2.0 (1368b95c0b4e9a1e7e18ace4bbfec1d147c53c9b). v1.0.0-rc1
was using the main branch from 4/19/2023 (6089b6121c33f2e688fbbbdb7d91f9d88036db4f) - not an official release. Between these two commits, many things were changed, among them the deletion of this key from ICS key value store. Because of the way keys.go files are set up (using Go's iota operator), removing a key changes the keys after it, and so there must be a corresponding database migration script.
This change in keys resulted ICS's validators list being empty, resulting in the error message from ICS UpdateSoftOptOutThresholdPower
called with empty validator set, which tipped us off to the problem. The performance issue and the slashing was probably caused when other Cosmos-SDK modules got an empty validator list.
Full Changelog: v1.0.0-rc1...v1.0.2-pion-1-upgrade