Lorenz Herzberger 700944ffa7
fix: iterate over correct store in migration
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2024-07-22 11:06:05 +02:00

32 lines
851 B
Go

package v3
import (
"encoding/binary"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/store/prefix"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/planetmint/planetmint-go/x/machine/types"
)
func MigrateStore(ctx sdk.Context, storeKey storetypes.StoreKey, cdc codec.BinaryCodec) error {
store := prefix.NewStore(ctx.KVStore(storeKey), types.KeyPrefix(types.TrustAnchorKey))
count := uint64(0)
iterator := store.Iterator(nil, nil)
defer iterator.Close()
for ; iterator.Valid(); iterator.Next() {
if iterator.Value()[0] == 1 {
count++
}
}
bz := make([]byte, 8)
binary.BigEndian.PutUint64(bz, count)
countStore := prefix.NewStore(ctx.KVStore(storeKey), types.KeyPrefix(types.ActivatedTACounterPrefix))
countStore.Set([]byte{1}, bz)
return nil
}