Skip to content

Commit 8ce2e61

Browse files
authored
feat: umfx denom metadata migration (#103)
1 parent 51a03df commit 8ce2e61

File tree

4 files changed

+64
-4
lines changed

4 files changed

+64
-4
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ DOCKER := $(shell which docker)
66
LEDGER_ENABLED ?= true
77
BINDIR ?= $(GOPATH)/bin
88
BUILD_DIR = ./build
9-
VERSION = v0.0.1-alpha.17
9+
VERSION = v0.0.1-alpha.18
1010

1111
export GO111MODULE = on
1212

app/upgrades.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ import (
66
upgradetypes "cosmossdk.io/x/upgrade/types"
77

88
"github.com/liftedinit/manifest-ledger/app/upgrades"
9+
"github.com/liftedinit/manifest-ledger/app/upgrades/next"
910
"github.com/liftedinit/manifest-ledger/app/upgrades/noop"
1011
)
1112

1213
// Upgrades list of chain upgrades
13-
var Upgrades []upgrades.Upgrade
14+
var Upgrades = []upgrades.Upgrade{next.NewUpgrade()}
1415

1516
// RegisterUpgradeHandlers registers the chain upgrade handlers
1617
func (app *ManifestApp) RegisterUpgradeHandlers() {
@@ -19,7 +20,7 @@ func (app *ManifestApp) RegisterUpgradeHandlers() {
1920
Upgrades = append(Upgrades, noop.NewUpgrade(app.Version()))
2021
}
2122

22-
keepers := upgrades.AppKeepers{AccountKeeper: app.AccountKeeper}
23+
keepers := upgrades.AppKeepers{AccountKeeper: app.AccountKeeper, BankKeeper: app.BankKeeper}
2324
// register all upgrade handlers
2425
for _, upgrade := range Upgrades {
2526
app.UpgradeKeeper.SetUpgradeHandler(

app/upgrades/next/upgrades.go

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package next
2+
3+
import (
4+
"context"
5+
6+
storetypes "cosmossdk.io/store/types"
7+
upgradetypes "cosmossdk.io/x/upgrade/types"
8+
9+
"github.com/cosmos/cosmos-sdk/types/module"
10+
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
11+
12+
"github.com/liftedinit/manifest-ledger/app/upgrades"
13+
)
14+
15+
func NewUpgrade() upgrades.Upgrade {
16+
return upgrades.Upgrade{
17+
UpgradeName: "umfx-denom-metadata",
18+
CreateUpgradeHandler: CreateUpgradeHandler,
19+
StoreUpgrades: storetypes.StoreUpgrades{
20+
Added: []string{},
21+
Deleted: []string{},
22+
},
23+
}
24+
}
25+
26+
func CreateUpgradeHandler(
27+
mm *module.Manager,
28+
configurator module.Configurator,
29+
keepers *upgrades.AppKeepers,
30+
) upgradetypes.UpgradeHandler {
31+
return func(ctx context.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
32+
metadata := banktypes.Metadata{
33+
Description: "The Manifest Network token",
34+
DenomUnits: []*banktypes.DenomUnit{
35+
{
36+
Denom: "umfx",
37+
Exponent: 0,
38+
Aliases: []string{},
39+
},
40+
{
41+
Denom: "mfx",
42+
Exponent: 6,
43+
Aliases: []string{},
44+
},
45+
},
46+
Base: "umfx",
47+
Display: "MFX",
48+
Symbol: "MFX",
49+
Name: "Manifest Network Token",
50+
}
51+
52+
// Set the new metadata in the bank keeper
53+
keepers.BankKeeper.SetDenomMetaData(ctx, metadata)
54+
55+
return mm.RunMigrations(ctx, configurator, fromVM)
56+
}
57+
}

app/upgrades/types.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ import (
66

77
"github.com/cosmos/cosmos-sdk/types/module"
88
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
9+
bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper"
910
)
1011

1112
type AppKeepers struct {
12-
authkeeper.AccountKeeper
13+
AccountKeeper authkeeper.AccountKeeper
14+
BankKeeper bankkeeper.BaseKeeper
1315
}
1416

1517
// Upgrade defines a struct containing necessary fields that a SoftwareUpgradeProposal

0 commit comments

Comments
 (0)