Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor
  • Loading branch information
aljo242 committed Feb 10, 2025
commit aecd1a25de337163409a21a22e624088669b2890
Original file line number Diff line number Diff line change
@@ -1,36 +1,35 @@
package keeper
package channelv2

import (
sdk "github.com/cosmos/cosmos-sdk/types"
"context"

"github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2/keeper"
"github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2/types"
)

// InitGenesis sets the genesis state in the store.
func (k *Keeper) InitGenesis(ctx sdk.Context, data types.GenesisState) {
func InitGenesis(ctx context.Context, k *keeper.Keeper, gs types.GenesisState) {
// set acks
for _, ack := range data.Acknowledgements {
for _, ack := range gs.Acknowledgements {
k.SetPacketAcknowledgement(ctx, ack.ClientId, ack.Sequence, ack.Data)
}

// set commits
for _, commitment := range data.Commitments {
for _, commitment := range gs.Commitments {
k.SetPacketCommitment(ctx, commitment.ClientId, commitment.Sequence, commitment.Data)
}

// set receipts
for _, receipt := range data.Receipts {
for _, receipt := range gs.Receipts {
k.SetPacketReceipt(ctx, receipt.ClientId, receipt.Sequence)
}

// set send sequences
for _, seq := range data.SendSequences {
for _, seq := range gs.SendSequences {
k.SetNextSequenceSend(ctx, seq.ClientId, seq.Sequence)
}
}

// ExportGenesis exports the current state to a genesis state.
func (k *Keeper) ExportGenesis(ctx sdk.Context) types.GenesisState {
func ExportGenesis(ctx context.Context, k *keeper.Keeper) types.GenesisState {
clientStates := k.ClientKeeper.GetAllGenesisClients(ctx)
gs := types.GenesisState{
Acknowledgements: make([]types.PacketState, 0),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package keeper_test
package channelv2_test

import (
channelv2 "github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2"
"github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2/types"

ibctesting "github.com/cosmos/ibc-go/v9/testing"
)

// TestInitExportGenesis tests the import and export flow for the channel v2 keeper.
func (suite *KeeperTestSuite) TestInitExportGenesis() {
func (suite *ModuleTestSuite) TestInitExportGenesis() {
path := ibctesting.NewPath(suite.chainA, suite.chainB)
path.SetupV2()

Expand Down Expand Up @@ -49,9 +51,11 @@ func (suite *KeeperTestSuite) TestInitExportGenesis() {

for _, tt := range tests {
suite.Run(tt.name, func() {
app.GetIBCKeeper().ChannelKeeperV2.InitGenesis(suite.chainA.GetContext(), tt.genState)
channelV2Keeper := app.GetIBCKeeper().ChannelKeeperV2

channelv2.InitGenesis(suite.chainA.GetContext(), channelV2Keeper, tt.genState)

exported := app.GetIBCKeeper().ChannelKeeperV2.ExportGenesis(suite.chainA.GetContext())
exported := channelv2.ExportGenesis(suite.chainA.GetContext(), channelV2Keeper)
suite.Require().Equal(tt.genState, exported)
})
}
Expand Down
17 changes: 1 addition & 16 deletions modules/core/04-channel/v2/module.go
Original file line number Diff line number Diff line change
@@ -1,27 +1,12 @@
package client
package channelv2

import (
"context"

"github.com/spf13/cobra"

sdk "github.com/cosmos/cosmos-sdk/types"

"github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2/client/cli"
"github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2/keeper"
"github.com/cosmos/ibc-go/v9/modules/core/04-channel/v2/types"
)

func InitGenesis(ctx context.Context, k *keeper.Keeper, gs types.GenesisState) {
sdkCtx := sdk.UnwrapSDKContext(ctx)
k.InitGenesis(sdkCtx, gs)
}

func ExportGenesis(ctx context.Context, k *keeper.Keeper) types.GenesisState {
sdkCtx := sdk.UnwrapSDKContext(ctx)
return k.ExportGenesis(sdkCtx)
}

func Name() string {
return types.SubModuleName
}
Expand Down
31 changes: 31 additions & 0 deletions modules/core/04-channel/v2/module_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package channelv2_test

import (
"testing"

testifysuite "github.com/stretchr/testify/suite"

ibctesting "github.com/cosmos/ibc-go/v9/testing"
)

func TestModuleTestSuite(t *testing.T) {
testifysuite.Run(t, new(ModuleTestSuite))
}

type ModuleTestSuite struct {
testifysuite.Suite

coordinator *ibctesting.Coordinator

// testing chains used for convenience and readability
chainA *ibctesting.TestChain
chainB *ibctesting.TestChain
chainC *ibctesting.TestChain
}

func (suite *ModuleTestSuite) SetupTest() {
suite.coordinator = ibctesting.NewCoordinator(suite.T(), 3)
suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(1))
suite.chainB = suite.coordinator.GetChain(ibctesting.GetChainID(2))
suite.chainC = suite.coordinator.GetChain(ibctesting.GetChainID(3))
}
Loading