Skip to content

Commit

Permalink
chore: use ibc v2 name consistently (#8006) (#8017)
Browse files Browse the repository at this point in the history
(cherry picked from commit a71577c)

Co-authored-by: Gjermund Garaba <gjermund@garaba.net>
  • Loading branch information
mergify[bot] and gjermundgaraba authored Feb 26, 2025
1 parent 16a7d19 commit 38b9337
Show file tree
Hide file tree
Showing 9 changed files with 13 additions and 13 deletions.
2 changes: 1 addition & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ When bumping the dependencies of [Cosmos SDK](https://github.com/cosmos/cosmos-s

[ibc-go](https://github.com/cosmos/ibc-go) and the [IBC protocol specification](https://github.com/cosmos/ibc) maintain different versions. Furthermore, ibc-go serves several different user groups (chains, IBC app developers, relayers, IBC light client developers). Each of these groups has different expectations of what *backwards compatible* means. It simply isn't possible to categorize a change as backwards or non backwards compatible for all user groups. We are primarily interested in when our API breaks and when changes are state machine breaking (thus requiring a coordinated upgrade). This is scoping the meaning of ibc-go to that of those interacting with the code (IBC app developers, relayers, IBC light client developers), not chains using IBC to communicate (that should be encapsulated by the IBC protocol specification versioning).

To summarize: **All our ibc-go releases allow chains to communicate successfully with any chain running any version of our code**. That is to say, we are still using IBC protocol specification v1.0 (v10 will also include support for the IBC protocol specification v2.0 - also called IBC Eureka)
To summarize: **All our ibc-go releases allow chains to communicate successfully with any chain running any version of our code**. That is to say, we are still using IBC protocol specification v1.0 (v10 will also include support for the IBC protocol specification v2.0)

## Release cycle

Expand Down
2 changes: 1 addition & 1 deletion e2e/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,6 @@ For a full list of options that can be passed to the workflow, see the [workflow
- We currently have some e2e workflows that may no longer be necessary, such as the [e2e manual simd](../.github/workflows/e2e-manual-simd.yaml). These manual dispatch workflows were utilized a lot in the past, but are not used as much anymore.
It may be safe to remove these in the future. See [this issue](https://github.com/cosmos/ibc-go/issues/7579) for more details.
- We currently are maintaining a lot of different simapps, all with different configurations and wiring in their app.gos. Ideally, we only need to maintain a single one. Some refactoring will be necessary to achieve this. See [this](https://github.com/cosmos/ibc-go/issues/4527) related issue.
- The current parallel tests establish a connection and run each test on a different channel. This will need to be refactored once the concept Eureka is shipped, however consideration will need to be made for backwards compatibility tests. Both flows may need to be supported.
- The current parallel tests establish a connection and run each test on a different channel. This will need to be refactored once the IBC v2 is shipped, however consideration will need to be made for backwards compatibility tests. Both flows may need to be supported.
- CI still relies on passing lots of environment variables, it should be possible to provide a default CI configuration file to be used, and override specifics such as chain image, relayer image, etc. with environment variables. Or template configuration files in some way. This is tracked [here](https://github.com/cosmos/ibc-go/issues/4697).
- Currently, there is a single denom used for all tests. Ideally, there is a dynamically generated denom used on a per test level. The fact that a single denom is shared means certain features may not be testable in parallel, for example [this](https://github.com/cosmos/ibc-go/blob/main/e2e/tests/transfer/base_test.go#L94-L101).
2 changes: 1 addition & 1 deletion modules/apps/callbacks/v2/v2_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func (s *CallbacksTestSuite) setupChains() {
s.path = ibctesting.NewPath(s.chainA, s.chainB)
}

// SetupTransferTest sets up a eureka path between chainA and chainB
// SetupTransferTest sets up a IBC v2 path between chainA and chainB
func (s *CallbacksTestSuite) SetupTest() {
s.setupChains()

Expand Down
4 changes: 2 additions & 2 deletions modules/apps/transfer/v2/ibc_module.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ type IBCModule struct {

func (im *IBCModule) OnSendPacket(ctx sdk.Context, sourceChannel string, destinationChannel string, sequence uint64, payload channeltypesv2.Payload, signer sdk.AccAddress) error {
// Enforce that the source and destination portIDs are the same and equal to the transfer portID
// This is necessary for IBC Eureka since the portIDs (and thus the application-application connection) is not prenegotiated
// This is necessary for IBC v2 since the portIDs (and thus the application-application connection) is not prenegotiated
// by the channel handshake
// This restriction can be removed in a future where the trace hop on receive commits to **both** the source and destination portIDs
// rather than just the destination port
Expand Down Expand Up @@ -79,7 +79,7 @@ func (im *IBCModule) OnSendPacket(ctx sdk.Context, sourceChannel string, destina

func (im *IBCModule) OnRecvPacket(ctx sdk.Context, sourceChannel string, destinationChannel string, sequence uint64, payload channeltypesv2.Payload, relayer sdk.AccAddress) channeltypesv2.RecvPacketResult {
// Enforce that the source and destination portIDs are the same and equal to the transfer portID
// This is necessary for IBC Eureka since the portIDs (and thus the application-application connection) is not prenegotiated
// This is necessary for IBC v2 since the portIDs (and thus the application-application connection) is not prenegotiated
// by the channel handshake
// This restriction can be removed in a future where the trace hop on receive commits to **both** the source and destination portIDs
// rather than just the destination port
Expand Down
2 changes: 1 addition & 1 deletion modules/apps/transfer/v2/ibc_module_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func (suite *TransferTestSuite) SetupTest() {
// pathBToC.EndpointB = endpoint on chainC
suite.pathBToC = ibctesting.NewPath(suite.chainB, suite.chainC)

// setup eureka paths between the chains
// setup IBC v2 paths between the chains
suite.pathAToB.SetupV2()
suite.pathBToC.SetupV2()
}
Expand Down
4 changes: 2 additions & 2 deletions modules/core/04-channel/v2/types/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
ibcexported "github.com/cosmos/ibc-go/v10/modules/core/exported"
)

// IBC Eureka core events
// IBC v2 core events
const (
EventTypeSendPacket = "send_packet"
EventTypeRecvPacket = "recv_packet"
Expand All @@ -22,7 +22,7 @@ const (
AttributeKeyEncodedAckHex = "encoded_acknowledgement_hex"
)

// IBC Eureka core events vars
// IBC v2 core events vars
var (
AttributeValueCategory = fmt.Sprintf("%s_%s", ibcexported.ModuleName, SubModuleName)
)
4 changes: 2 additions & 2 deletions modules/core/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ func (k *Keeper) CreateClient(goCtx context.Context, msg *clienttypes.MsgCreateC
return nil, err
}

// set the client creator so that eureka counterparty can be set by same relayer
// set the client creator so that IBC v2 counterparty can be set by same relayer
k.ClientKeeper.SetClientCreator(ctx, clientID, sdk.AccAddress(msg.Signer))

return &clienttypes.MsgCreateClientResponse{ClientId: clientID}, nil
}

// RegisterCounterparty will register the eureka counterparty info for the given client id
// RegisterCounterparty will register the IBC v2 counterparty info for the given client id
// it must be called by the same relayer that called CreateClient
func (k *Keeper) RegisterCounterparty(goCtx context.Context, msg *clientv2types.MsgRegisterCounterparty) (*clientv2types.MsgRegisterCounterpartyResponse, error) {
ctx := sdk.UnwrapSDKContext(goCtx)
Expand Down
2 changes: 1 addition & 1 deletion modules/light-clients/08-wasm/blsverifier/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package blsverifier

/*
* This custom query handler is used to aggregate public keys and verify a signature using BLS.
* It is used by the 08-wasm union light client, which we we use in the solidity IBC Eureka e2e tests.
* It is used by the 08-wasm union light client, which we we use in the solidity IBC v2 e2e tests.
* The code here is taken from here: https://github.com/unionlabs/union/tree/main/uniond/app/custom_query
*/
import (
Expand Down
4 changes: 2 additions & 2 deletions testing/path.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ func (path *Path) Setup() {
}

// SetupV2 constructs clients on both sides and then provides the counterparties for both sides
// This is all that is necessary for path setup with the Eureka (V2) protocol
// This is all that is necessary for path setup with the IBC v2 protocol
func (path *Path) SetupV2() {
path.SetupClients()

Expand All @@ -161,7 +161,7 @@ func (path *Path) SetupClients() {
}
}

// SetupCounterparties is a helper function to set the counterparties supporting ibc-eureka on both
// SetupCounterparties is a helper function to set the counterparties supporting IBC v2 on both
// chains. It assumes the caller does not anticipate any errors.
func (path *Path) SetupCounterparties() {
if err := path.EndpointB.RegisterCounterparty(); err != nil {
Expand Down

0 comments on commit 38b9337

Please # to comment.