Skip to content

Commit

Permalink
added start scripts & set upgrade data for pleiades upgrade handler
Browse files Browse the repository at this point in the history
  • Loading branch information
ducphamle2 committed Dec 26, 2022
1 parent 78388f7 commit 5ce6c34
Show file tree
Hide file tree
Showing 9 changed files with 62 additions and 24 deletions.
2 changes: 2 additions & 0 deletions module/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
/gravity

*.txt
2 changes: 1 addition & 1 deletion module/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -955,7 +955,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
func (app *Gravity) registerUpgradeHandlers() {
upgrades.RegisterUpgradeHandlers(
app.mm, app.configurator, app.accountKeeper, app.bankKeeper, app.bech32IbcKeeper, app.distrKeeper,
app.mintKeeper, app.stakingKeeper, app.upgradeKeeper, app.crisisKeeper, app.ibcTransferKeeper,
app.mintKeeper, app.stakingKeeper, app.upgradeKeeper, app.crisisKeeper, app.ibcTransferKeeper, app.gravityKeeper,
)
}

Expand Down
7 changes: 7 additions & 0 deletions module/app/assert.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package app

import (
"fmt"

sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
)
Expand All @@ -15,6 +16,12 @@ func (app *Gravity) assertBech32PrefixMatches(ctx sdk.Context) {
if app == nil || config == nil || app.bech32IbcKeeper == nil {
panic("Invalid app/config/keeper state")
}

err := app.bech32IbcKeeper.SetNativeHrp(ctx, config.GetBech32AccountAddrPrefix())
if err != nil {
panic(sdkerrors.Wrap(err, "Unable to start, bech32ibc module not initialized to the correct prefix"))
}

nativePrefix, err := app.bech32IbcKeeper.GetNativeHrp(ctx)
if err != nil {
panic(sdkerrors.Wrap(err, "Error obtaining bech32ibc NativeHrp"))
Expand Down
3 changes: 2 additions & 1 deletion module/app/upgrades/pleiades/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ The *Pleiades* upgrade contains the following changes.
## Summary of Changes

* Migrate all batches to a new key format
* Add new CLI and gRPC endpoints to return Attestations, LastObservedEthereumBlockHeight, and LastObservedEthereumEventsNonce, enabling tools like Telescope to get a better picture of the current bridge status
* Add new CLI and gRPC endpoints to return Attestations, LastObservedEthereumBlockHeight, and LastObservedEthereumEventsNonce, enabling tools like Telescope to get a better picture of the current bridge status
* Add Multiple EVM chains support
27 changes: 26 additions & 1 deletion module/app/upgrades/pleiades/handler.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
package pleiades

import (
gravitykeeper "github.com/Gravity-Bridge/Gravity-Bridge/module/x/gravity/keeper"
"github.com/Gravity-Bridge/Gravity-Bridge/module/x/gravity/types"
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/types/module"
crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
bech32ibckeeper "github.com/osmosis-labs/bech32-ibc/x/bech32ibc/keeper"
)

func GetPleiadesUpgradeHandler(
mm *module.Manager, configurator *module.Configurator, crisisKeeper *crisiskeeper.Keeper,
mm *module.Manager, configurator *module.Configurator, crisisKeeper *crisiskeeper.Keeper, gravityKeeper *gravitykeeper.Keeper, bech32ibckeeper *bech32ibckeeper.Keeper,
) func(
ctx sdk.Context, plan upgradetypes.Plan, vmap module.VersionMap,
) (module.VersionMap, error) {
Expand All @@ -18,6 +22,27 @@ func GetPleiadesUpgradeHandler(
return func(ctx sdk.Context, plan upgradetypes.Plan, vmap module.VersionMap) (module.VersionMap, error) {
ctx.Logger().Info("Pleiades upgrade: Enter handler")

evmChains := []types.EvmChain{
{
EvmChainPrefix: "oraib",
EvmChainName: "Binance Smart Chain",
},
{
EvmChainPrefix: "eth",
EvmChainName: "Ethereum",
},
}

for _, evmChain := range evmChains {
gravityKeeper.SetEvmChainData(ctx, evmChain)
}

// just in case the new version uses default native hrp which is osmo
err := bech32ibckeeper.SetNativeHrp(ctx, sdk.GetConfig().GetBech32AccountAddrPrefix())
if err != nil {
panic(sdkerrors.Wrap(err, "Pleiades Upgrade: Unable to upgrade, bech32ibc module not initialized properly"))
}

ctx.Logger().Info("Pleiades Upgrade: Running any configured module migrations")
out, outErr := mm.RunMigrations(ctx, *configurator, vmap)

Expand Down
26 changes: 13 additions & 13 deletions module/app/upgrades/register.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package upgrades

import (
gravitykeeper "github.com/Gravity-Bridge/Gravity-Bridge/module/x/gravity/keeper"
"github.com/cosmos/cosmos-sdk/types/module"
authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper"
bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper"
Expand All @@ -14,7 +15,6 @@ import (

"github.com/Gravity-Bridge/Gravity-Bridge/module/app/upgrades/pleiades"
polaris "github.com/Gravity-Bridge/Gravity-Bridge/module/app/upgrades/polaris"
v2 "github.com/Gravity-Bridge/Gravity-Bridge/module/app/upgrades/v2"
)

// RegisterUpgradeHandlers registers handlers for all upgrades
Expand All @@ -24,22 +24,22 @@ func RegisterUpgradeHandlers(
mm *module.Manager, configurator *module.Configurator, accountKeeper *authkeeper.AccountKeeper,
bankKeeper *bankkeeper.BaseKeeper, bech32IbcKeeper *bech32ibckeeper.Keeper, distrKeeper *distrkeeper.Keeper,
mintKeeper *mintkeeper.Keeper, stakingKeeper *stakingkeeper.Keeper, upgradeKeeper *upgradekeeper.Keeper,
crisisKeeper *crisiskeeper.Keeper, transferKeeper *ibctransferkeeper.Keeper,
crisisKeeper *crisiskeeper.Keeper, transferKeeper *ibctransferkeeper.Keeper, gravityKeeper *gravitykeeper.Keeper,
) {
if mm == nil || configurator == nil || accountKeeper == nil || bankKeeper == nil || bech32IbcKeeper == nil ||
distrKeeper == nil || mintKeeper == nil || stakingKeeper == nil || upgradeKeeper == nil {
panic("Nil argument to RegisterUpgradeHandlers()!")
}
// Mercury aka v1->v2 UPGRADE HANDLER SETUP
upgradeKeeper.SetUpgradeHandler(
v2.V1ToV2PlanName, // Codename Mercury
v2.GetV2UpgradeHandler(mm, configurator, accountKeeper, bankKeeper, bech32IbcKeeper, distrKeeper, mintKeeper, stakingKeeper),
)
// Mercury Fix aka mercury2.0 UPGRADE HANDLER SETUP
upgradeKeeper.SetUpgradeHandler(
v2.V2FixPlanName, // mercury2.0
v2.GetMercury2Dot0UpgradeHandler(),
)
// // Mercury aka v1->v2 UPGRADE HANDLER SETUP
// upgradeKeeper.SetUpgradeHandler(
// v2.V1ToV2PlanName, // Codename Mercury
// v2.GetV2UpgradeHandler(mm, configurator, accountKeeper, bankKeeper, bech32IbcKeeper, distrKeeper, mintKeeper, stakingKeeper),
// )
// // Mercury Fix aka mercury2.0 UPGRADE HANDLER SETUP
// upgradeKeeper.SetUpgradeHandler(
// v2.V2FixPlanName, // mercury2.0
// v2.GetMercury2Dot0UpgradeHandler(),
// )

// Polaris UPGRADE HANDLER SETUP
upgradeKeeper.SetUpgradeHandler(
Expand All @@ -50,6 +50,6 @@ func RegisterUpgradeHandlers(
// Pleiades aka v2->v3 UPGRADE HANDLER SETUP
upgradeKeeper.SetUpgradeHandler(
pleiades.PolarisToPleiadesPlanName,
pleiades.GetPleiadesUpgradeHandler(mm, configurator, crisisKeeper),
pleiades.GetPleiadesUpgradeHandler(mm, configurator, crisisKeeper, gravityKeeper, bech32IbcKeeper),
)
}
11 changes: 7 additions & 4 deletions module/contrib/local/setup_node.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
#!/bin/bash
set -eu

gravityd init --chain-id=testing local
gravityd add-genesis-account validator 1000000000stake
gravityd gentx --name validator --amount 1000000000stake
gravityd collect-gentxs
rm -rf $HOME/.gravity

gravity init --chain-id=testing local
gravity keys add validator --keyring-backend test 2>&1 | tee account.txt
gravity add-genesis-account validator 10000000000000000000stake --keyring-backend test
gravity gentx validator 1000000000stake 0xBEF9Ec1EB861A7c050528B17ce8Ee087941bB1AA oraib1329tg05k3snr66e2r9ytkv6hcjx6fkxc2zqphe --keyring-backend test --chain-id testing
gravity collect-gentxs
2 changes: 1 addition & 1 deletion module/contrib/local/start_node.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
set -eu

gravityd start --rpc.laddr tcp://0.0.0.0:26657 --trace --log_level="main:info,state:debug,*:error"
gravity start --rpc.laddr tcp://0.0.0.0:26657
6 changes: 3 additions & 3 deletions module/x/gravity/module.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,9 +149,9 @@ func (am AppModule) RegisterServices(cfg module.Configurator) {
types.RegisterQueryServer(cfg.QueryServer(), am.keeper)

m := keeper.NewMigrator(am.keeper)
if err := cfg.RegisterMigration(types.ModuleName, 1, m.Migrate1to2); err != nil {
panic(fmt.Sprintf("failed to migrate x/gravity from version 1 to 2: %v", err))
}
// if err := cfg.RegisterMigration(types.ModuleName, 1, m.Migrate1to2); err != nil {
// panic(fmt.Sprintf("failed to migrate x/gravity from version 1 to 2: %v", err))
// }
if err := cfg.RegisterMigration(types.ModuleName, 2, m.Migrate2to3); err != nil {
panic(fmt.Sprintf("failed to migrate x/gravity from version 2 to 3: %v", err))
}
Expand Down

0 comments on commit 5ce6c34

Please sign in to comment.