From 600e3c81cd3a9aeb123e802e1652fa2ae532caca Mon Sep 17 00:00:00 2001 From: zale144 Date: Fri, 25 Oct 2024 21:13:06 +0200 Subject: [PATCH] fix(rollapp): Enforce revision 1 on create rollapps (#1352) --- ibctesting/utils_test.go | 3 +-- x/rollapp/keeper/msg_server_create_rollapp_test.go | 6 +++++- x/rollapp/keeper/rollapp.go | 4 ++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ibctesting/utils_test.go b/ibctesting/utils_test.go index 797d6683d..ba4dc3f3f 100644 --- a/ibctesting/utils_test.go +++ b/ibctesting/utils_test.go @@ -37,11 +37,10 @@ import ( ) // chainIDPrefix defines the default chain ID prefix for Evmos test chains -var chainIDPrefix = "evmos_9000-" +var chainIDPrefix = "evmos_9000" func init() { ibctesting.ChainIDPrefix = chainIDPrefix - ibctesting.ChainIDSuffix = "" ibctesting.DefaultTestingAppInit = func() (ibctesting.TestingApp, map[string]json.RawMessage) { return apptesting.SetupTestingApp() } diff --git a/x/rollapp/keeper/msg_server_create_rollapp_test.go b/x/rollapp/keeper/msg_server_create_rollapp_test.go index 5c76b1cfe..e15b824c5 100644 --- a/x/rollapp/keeper/msg_server_create_rollapp_test.go +++ b/x/rollapp/keeper/msg_server_create_rollapp_test.go @@ -81,6 +81,10 @@ func (suite *RollappTestSuite) TestCreateRollappAlreadyExists() { suite.App.RollappKeeper.SetRollapp(suite.Ctx, r) }, expErr: nil, + }, { + name: "different rollapp, revision not 1", + rollappId: "trollapp_2345-2", + expErr: types.ErrInvalidRollappID, }, } for _, test := range tests { @@ -152,7 +156,7 @@ func (suite *RollappTestSuite) TestCreateRollappId() { }, { name: "invalid revision", - rollappId: "rollapp-1-1", + rollappId: "rollapp_1234-x", expErr: types.ErrInvalidRollappID, }, } diff --git a/x/rollapp/keeper/rollapp.go b/x/rollapp/keeper/rollapp.go index d6e413037..02ef7da74 100644 --- a/x/rollapp/keeper/rollapp.go +++ b/x/rollapp/keeper/rollapp.go @@ -88,6 +88,10 @@ func (k Keeper) CheckIfRollappExists(ctx sdk.Context, rollappId types.ChainID) e if _, isFound = k.GetRollappByName(ctx, rollappId.GetName()); isFound { return types.ErrRollappExists } + // when creating a new Rollapp, the revision number should always be 1 + if rollappId.GetRevisionNumber() != 1 { + return errorsmod.Wrapf(types.ErrInvalidRollappID, "revision number should be 1, got: %d", rollappId.GetRevisionNumber()) + } return nil } if !existingRollapp.Frozen {