Skip to content

Commit

Permalink
Merge pull request #547 from bnb-chain/develop
Browse files Browse the repository at this point in the history
release: prepare for release 1.3.0
  • Loading branch information
alexgao001 authored Dec 26, 2023
2 parents b2f3ed8 + 754c1b9 commit 01340ea
Show file tree
Hide file tree
Showing 56 changed files with 8,513 additions and 1,127 deletions.
33 changes: 33 additions & 0 deletions app/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import (
paymentmodule "github.com/bnb-chain/greenfield/x/payment"
paymenttypes "github.com/bnb-chain/greenfield/x/payment/types"
storagemoduletypes "github.com/bnb-chain/greenfield/x/storage/types"
virtualgroupmodule "github.com/bnb-chain/greenfield/x/virtualgroup"
virtualgrouptypes "github.com/bnb-chain/greenfield/x/virtualgroup/types"
)

func (app *App) RegisterUpgradeHandlers(chainID string, serverCfg *serverconfig.Config) error {
Expand All @@ -24,6 +26,8 @@ func (app *App) RegisterUpgradeHandlers(chainID string, serverCfg *serverconfig.
app.registerNagquUpgradeHandler()
app.registerPampasUpgradeHandler()
app.registerManchurianUpgradeHandler()
app.registerHulunbeierUpgradeHandler()

// app.register...()
// ...
return nil
Expand Down Expand Up @@ -124,7 +128,36 @@ func (app *App) registerManchurianUpgradeHandler() {
app.UpgradeKeeper.SetUpgradeInitializer(upgradetypes.Manchurian,
func() error {
app.Logger().Info("Init Manchurian upgrade")
return nil
})
}

func (app *App) registerHulunbeierUpgradeHandler() {
// Register the upgrade handler
app.UpgradeKeeper.SetUpgradeHandler(upgradetypes.Hulunbeier,
func(ctx sdk.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
app.Logger().Info("upgrade to ", plan.Name)

// enable SP exit
app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&virtualgrouptypes.MsgReserveSwapIn{}), 1.2e3))
app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&virtualgrouptypes.MsgCancelSwapIn{}), 1.2e3))
app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&virtualgrouptypes.MsgCompleteSwapIn{}), 1.2e3))
app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&virtualgrouptypes.MsgStorageProviderForcedExit{}), 1.2e3))
app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&virtualgrouptypes.MsgStorageProviderExit{}), 1.2e3))
app.GashubKeeper.SetMsgGasParams(ctx, *gashubtypes.NewMsgGasParamsWithFixedGas(sdk.MsgTypeURL(&virtualgrouptypes.MsgCompleteStorageProviderExit{}), 1.2e3))

return app.mm.RunMigrations(ctx, app.configurator, fromVM)
})

// Register the upgrade initializer
app.UpgradeKeeper.SetUpgradeInitializer(upgradetypes.Hulunbeier,
func() error {
app.Logger().Info("Init Hulunbeier upgrade")
mm, ok := app.mm.Modules[virtualgrouptypes.ModuleName].(*virtualgroupmodule.AppModule)
if !ok {
panic("*virtualgroupmodule.AppModule not found")
}
mm.SetConsensusVersion(2)
return nil
})
}
1 change: 1 addition & 0 deletions deployment/localup/localup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ function generate_genesis() {
echo -e '[[upgrade]]\nname = "Nagqu"\nheight = 20\ninfo = ""' >> ${workspace}/.local/validator${i}/config/app.toml
echo -e '[[upgrade]]\nname = "Pampas"\nheight = 20\ninfo = ""' >> ${workspace}/.local/validator${i}/config/app.toml
echo -e '[[upgrade]]\nname = "Manchurian"\nheight = 20\ninfo = ""' >> ${workspace}/.local/validator${i}/config/app.toml
echo -e '[[upgrade]]\nname = "Hulunbeier"\nheight = 21\ninfo = ""' >> ${workspace}/.local/validator${i}/config/app.toml
done

# enable swagger API for validator0
Expand Down
21 changes: 21 additions & 0 deletions e2e/core/basesuite.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (
"github.com/prysmaticlabs/prysm/crypto/bls"
"github.com/spf13/cobra"
"github.com/stretchr/testify/suite"
"golang.org/x/exp/slices"

"github.com/bnb-chain/greenfield/cmd/gnfd/cmd"
"github.com/bnb-chain/greenfield/sdk/client"
Expand Down Expand Up @@ -682,6 +683,17 @@ func (s *BaseSuite) CreateObject(user keys.KeyManager, primarySP *StorageProvide
}

func (s *BaseSuite) CreateGlobalVirtualGroup(sp *StorageProvider, familyID uint32, secondarySPIDs []uint32, depositAmount int64) (uint32, uint32) {

// check if the GVG already exits
if familyID != 0 {
resp, _ := s.Client.GlobalVirtualGroupByFamilyID(context.Background(), &virtualgroupmoduletypes.QueryGlobalVirtualGroupByFamilyIDRequest{GlobalVirtualGroupFamilyId: familyID})
for _, gvg := range resp.GlobalVirtualGroups {
if slices.Equal(secondarySPIDs, gvg.SecondarySpIds) {
return gvg.Id, familyID
}
}
}

// Create a GVG for each sp by default
deposit := sdk.Coin{
Denom: s.Config.Denom,
Expand Down Expand Up @@ -733,6 +745,15 @@ func (s *BaseSuite) PickStorageProvider() *StorageProvider {
return nil
}

func (s *BaseSuite) PickStorageProviderByID(id uint32) *StorageProvider {
for _, sp := range s.StorageProviders {
if sp.Info.Id == id {
return sp
}
}
return nil
}

func (s *BaseSuite) PickDifferentStorageProvider(spId uint32) *StorageProvider {
for _, sp := range s.StorageProviders {
if sp.Info.Id != spId {
Expand Down
68 changes: 35 additions & 33 deletions e2e/tests/sp_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"github.com/bnb-chain/greenfield/sdk/types"
"github.com/bnb-chain/greenfield/testutil/sample"
sptypes "github.com/bnb-chain/greenfield/x/sp/types"
virtualgroupmoduletypes "github.com/bnb-chain/greenfield/x/virtualgroup/types"
)

type StorageProviderTestSuite struct {
Expand All @@ -37,39 +38,40 @@ func (s *StorageProviderTestSuite) SetupSuite() {
func (s *StorageProviderTestSuite) SetupTest() {
}

//func (s *StorageProviderTestSuite) TestCreateStorageProvider() {
// // Create a New SP
// sp := s.BaseSuite.CreateNewStorageProvider()
//
// // query sp by id
// querySPResp, err := s.Client.StorageProvider(context.Background(), &sptypes.QueryStorageProviderRequest{
// Id: sp.Info.Id,
// })
// s.Require().NoError(err)
// s.Require().Equal(querySPResp.StorageProvider, querySPResp.StorageProvider)
//
// // sp exit
// msgSPExit := virtualgroupmoduletypes.MsgStorageProviderExit{
// StorageProvider: sp.OperatorKey.GetAddr().String(),
// }
// s.SendTxBlock(sp.OperatorKey, &msgSPExit)
//
// // 9 query sp status
// querySPResp2, err := s.Client.StorageProvider(context.Background(), &sptypes.QueryStorageProviderRequest{Id: sp.Info.Id})
// s.Require().NoError(err)
// s.Require().Equal(querySPResp2.StorageProvider.Status, sptypes.STATUS_GRACEFUL_EXITING)
//
// // 10 complete sp exit
// msgCompleteSPExit := virtualgroupmoduletypes.MsgCompleteStorageProviderExit{
// StorageProvider: sp.OperatorKey.GetAddr().String(),
// }
//
// s.SendTxBlock(sp.OperatorKey, &msgCompleteSPExit)
//
// // 10 query sp
// _, err = s.Client.StorageProvider(context.Background(), &sptypes.QueryStorageProviderRequest{Id: sp.Info.Id})
// s.Require().Error(err)
//}
func (s *StorageProviderTestSuite) TestCreateStorageProvider() {
// Create a New SP
sp := s.BaseSuite.CreateNewStorageProvider()

// query sp by id
querySPResp, err := s.Client.StorageProvider(context.Background(), &sptypes.QueryStorageProviderRequest{
Id: sp.Info.Id,
})
s.Require().NoError(err)
s.Require().Equal(querySPResp.StorageProvider, querySPResp.StorageProvider)

// sp exit
msgSPExit := virtualgroupmoduletypes.MsgStorageProviderExit{
StorageProvider: sp.OperatorKey.GetAddr().String(),
}
s.SendTxBlock(sp.OperatorKey, &msgSPExit)

// 9 query sp status
querySPResp2, err := s.Client.StorageProvider(context.Background(), &sptypes.QueryStorageProviderRequest{Id: sp.Info.Id})
s.Require().NoError(err)
s.Require().Equal(querySPResp2.StorageProvider.Status, sptypes.STATUS_GRACEFUL_EXITING)

// 10 complete sp exit
msgCompleteSPExit := virtualgroupmoduletypes.MsgCompleteStorageProviderExit{
StorageProvider: sp.OperatorKey.GetAddr().String(),
Operator: sp.OperatorKey.GetAddr().String(),
}

s.SendTxBlock(sp.OperatorKey, &msgCompleteSPExit)

// 10 query sp
_, err = s.Client.StorageProvider(context.Background(), &sptypes.QueryStorageProviderRequest{Id: sp.Info.Id})
s.Require().Error(err)
}

func (s *StorageProviderTestSuite) TestEditStorageProvider() {
ctx := context.Background()
Expand Down
Loading

0 comments on commit 01340ea

Please sign in to comment.