mirror of
https://github.com/planetmint/planetmint-go.git
synced 2025-11-25 15:05:51 +00:00
32 lines
851 B
Go
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
|
|
}
|