diff --git a/e2e/testsuite/testconfig.go b/e2e/testsuite/testconfig.go index c4a74a3da3b..015dfb09097 100644 --- a/e2e/testsuite/testconfig.go +++ b/e2e/testsuite/testconfig.go @@ -751,6 +751,14 @@ func defaultGovv1ModifyGenesis(version string) func(ibc.ChainConfig, []byte) ([] appState[ibcexported.ModuleName] = ibcGenBz } + if !testvalues.ClientV2FeatureReleases.IsSupported(version) { + ibcGenBz, err := modifyClientV2GenesisAppState(appState[ibcexported.ModuleName]) + if err != nil { + return nil, err + } + appState[ibcexported.ModuleName] = ibcGenBz + } + appGenesis.AppState, err = json.Marshal(appState) if err != nil { return nil, err @@ -863,6 +871,25 @@ func defaultGovv1Beta1ModifyGenesis(version string) func(ibc.ChainConfig, []byte appStateMap[ibcexported.ModuleName] = ibcModuleGenesisMap } + if !testvalues.ClientV2FeatureReleases.IsSupported(version) { + ibcModuleBytes, err := json.Marshal(appStateMap[ibcexported.ModuleName]) + if err != nil { + return nil, fmt.Errorf("failed to extract ibc genesis bytes: %s", err) + } + + ibcGenesisBytes, err := modifyClientV2GenesisAppState(ibcModuleBytes) + if err != nil { + return nil, err + } + + ibcModuleGenesisMap := map[string]interface{}{} + err = json.Unmarshal(ibcGenesisBytes, &ibcModuleGenesisMap) + if err != nil { + return nil, fmt.Errorf("failed to unmarshal gov genesis bytes into map: %w", err) + } + appStateMap[ibcexported.ModuleName] = ibcModuleGenesisMap + } + appStateMap[govtypes.ModuleName] = govModuleGenesisMap genesisDocMap[appStateKey] = appStateMap @@ -975,3 +1002,13 @@ func modifyChannelV2GenesisAppState(ibcAppState []byte) ([]byte, error) { return json.Marshal(ibcGenesisMap) } + +func modifyClientV2GenesisAppState(ibcAppState []byte) ([]byte, error) { + var ibcGenesisMap map[string]interface{} + if err := json.Unmarshal(ibcAppState, &ibcGenesisMap); err != nil { + return nil, err + } + delete(ibcGenesisMap, "client_v2_genesis") + + return json.Marshal(ibcGenesisMap) +} diff --git a/e2e/testvalues/values.go b/e2e/testvalues/values.go index 6ff5b07b49c..545944b766b 100644 --- a/e2e/testvalues/values.go +++ b/e2e/testvalues/values.go @@ -135,3 +135,7 @@ var TransactionEventQueryFeatureReleases = semverutil.FeatureReleases{ var ChannelsV2FeatureReleases = semverutil.FeatureReleases{ MajorVersion: "v10", } + +var ClientV2FeatureReleases = semverutil.FeatureReleases{ + MajorVersion: "v10", +}