mirror of
https://github.com/planetmint/planetmint-go.git
synced 2025-11-23 22:15:47 +00:00
Eckelj/migrate der (#500)
* aligning imports
* added config/upgrade-v0.13.0.json upgrade description to make upgrades to v0.13.0 more flexible
content should look as
{ "der-upgrade-height": 2198251 }
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
This commit is contained in:
parent
03211743fc
commit
27b0a69b34
35
app/app.go
35
app/app.go
@ -2,6 +2,7 @@ package app
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
@ -465,6 +466,17 @@ func New(
|
||||
authtypes.NewModuleAddress(govtypes.ModuleName).String(),
|
||||
)
|
||||
|
||||
// Register store loader for v0.13.0 upgrade (DER module)
|
||||
derUpgradeHeight, err := getDerUpgradeHeightFromConfig(homePath)
|
||||
if err != nil {
|
||||
logger.Error("failed to get DER upgrade height from config", "error", err)
|
||||
}
|
||||
app.SetStoreLoader(
|
||||
upgradetypes.UpgradeStoreLoader(derUpgradeHeight, &storetypes.StoreUpgrades{
|
||||
Added: []string{dermoduletypes.StoreKey},
|
||||
}),
|
||||
)
|
||||
|
||||
// ... other modules keepers
|
||||
|
||||
// Create IBC Keeper
|
||||
@ -1037,4 +1049,27 @@ func (app *App) setupUpgradeHandlers() {
|
||||
app.UpgradeKeeper.SetUpgradeHandler("v0.11.0", func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
|
||||
return app.mm.RunMigrations(ctx, app.configurator, fromVM)
|
||||
})
|
||||
app.UpgradeKeeper.SetUpgradeHandler("v0.13.0", func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
|
||||
ctx.Logger().Info("Running v0.13.0 upgrade: adding der store")
|
||||
return app.mm.RunMigrations(ctx, app.configurator, fromVM)
|
||||
})
|
||||
}
|
||||
|
||||
// Utility function to get DER upgrade height from config/upgrade-v0.13.0.json
|
||||
func getDerUpgradeHeightFromConfig(homePath string) (int64, error) {
|
||||
configPath := filepath.Join(homePath, "config", "upgrade-v0.13.0.json")
|
||||
data, err := os.ReadFile(configPath)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("failed to read DER upgrade config: %w", err)
|
||||
}
|
||||
var cfg struct {
|
||||
DerUpgradeHeight int64 `json:"der-upgrade-height"`
|
||||
}
|
||||
if err := json.Unmarshal(data, &cfg); err != nil {
|
||||
return 0, fmt.Errorf("failed to parse DER upgrade config: %w", err)
|
||||
}
|
||||
if cfg.DerUpgradeHeight <= 0 {
|
||||
return 0, errors.New("DER upgrade height must be set and > 0 in config/upgrade-v0.13.0.json")
|
||||
}
|
||||
return cfg.DerUpgradeHeight, nil
|
||||
}
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
package keeper
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
dertypes "github.com/planetmint/planetmint-go/x/der/types"
|
||||
"github.com/stretchr/testify/require"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestStoreDerAssetAndLookupDerAsset(t *testing.T) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user