Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: remove 08-wasm from 02-client exported (backport #5306) #5313

Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 1 addition & 1 deletion modules/core/02-client/types/params.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

var (
// DefaultAllowedClients are the default clients for the AllowedClients parameter.
DefaultAllowedClients = []string{exported.Solomachine, exported.Tendermint, exported.Wasm, exported.Localhost}
DefaultAllowedClients = []string{exported.Solomachine, exported.Tendermint, exported.Localhost}

// KeyAllowedClients is store's key for AllowedClients Params
KeyAllowedClients = []byte("AllowedClients")
Expand Down
3 changes: 0 additions & 3 deletions modules/core/exported/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ const (
// Tendermint is used to indicate that the client uses the Tendermint Consensus Algorithm.
Tendermint string = "07-tendermint"

// Wasm is used to indicate that the light client is a on-chain wasm program
Wasm string = "08-wasm"

// Localhost is the client type for the localhost client.
Localhost string = "09-localhost"

Expand Down
2 changes: 2 additions & 0 deletions modules/light-clients/08-wasm/keeper/keeper_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ func (suite *KeeperTestSuite) SetupWasmWithMockVM() {

suite.coordinator = ibctesting.NewCoordinator(suite.T(), 1)
suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(1))

wasmtesting.AllowWasmClients(suite.chainA)
}

func (suite *KeeperTestSuite) setupWasmWithMockVM() (ibctesting.TestingApp, map[string]json.RawMessage) {
Expand Down
9 changes: 9 additions & 0 deletions modules/light-clients/08-wasm/testing/wasm_endpoint.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,12 @@ func (endpoint *WasmEndpoint) CreateClient() error {

return nil
}

// AllowWasmClients adds 08-wasm to the list of allowed clients
func AllowWasmClients(chain *ibctesting.TestChain) {
ctx := chain.GetContext()
clientKeeper := chain.App.GetIBCKeeper().ClientKeeper
params := clientKeeper.GetParams(ctx)
params.AllowedClients = append(params.AllowedClients, types.Wasm)
clientKeeper.SetParams(ctx, params)
}
2 changes: 1 addition & 1 deletion modules/light-clients/08-wasm/types/client_message.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ var _ exported.ClientMessage = &ClientMessage{}

// ClientType is a Wasm light client.
func (ClientMessage) ClientType() string {
return exported.Wasm
return Wasm
}

// ValidateBasic defines a basic validation for the wasm client message.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package types_test

import (
"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/types"
"github.com/cosmos/ibc-go/v7/modules/core/exported"
)

func (suite *TypesTestSuite) TestClientMessageValidateBasic() {
Expand Down Expand Up @@ -38,7 +37,7 @@ func (suite *TypesTestSuite) TestClientMessageValidateBasic() {
suite.Run(tc.name, func() {
clientMessage := tc.clientMessage

suite.Require().Equal(exported.Wasm, clientMessage.ClientType())
suite.Require().Equal(types.Wasm, clientMessage.ClientType())
err := clientMessage.ValidateBasic()

if tc.expPass {
Expand Down
2 changes: 1 addition & 1 deletion modules/light-clients/08-wasm/types/client_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func NewClientState(data []byte, checksum []byte, height clienttypes.Height) *Cl

// ClientType is Wasm light client.
func (ClientState) ClientType() string {
return exported.Wasm
return Wasm
}

// GetLatestHeight returns latest block height.
Expand Down
2 changes: 1 addition & 1 deletion modules/light-clients/08-wasm/types/consensus_state.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func NewConsensusState(data []byte) *ConsensusState {

// ClientType returns Wasm type.
func (ConsensusState) ClientType() string {
return exported.Wasm
return Wasm
}

// GetTimestamp returns block time in nanoseconds of the header that created consensus state.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package types_test

import (
"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/types"
"github.com/cosmos/ibc-go/v7/modules/core/exported"
)

func (suite *TypesTestSuite) TestConsensusStateValidateBasic() {
Expand Down Expand Up @@ -31,7 +30,7 @@ func (suite *TypesTestSuite) TestConsensusStateValidateBasic() {
for _, tc := range testCases {
suite.Run(tc.name, func() {
// check just to increase coverage
suite.Require().Equal(exported.Wasm, tc.consensusState.ClientType())
suite.Require().Equal(types.Wasm, tc.consensusState.ClientType())

err := tc.consensusState.ValidateBasic()
if tc.expectPass {
Expand Down
3 changes: 3 additions & 0 deletions modules/light-clients/08-wasm/types/keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ const (
// StoreKey is the store key string for 08-wasm
StoreKey = ModuleName

// Wasm is the client type for IBC light clients created using 08-wasm
Wasm = ModuleName

// KeyChecksums is the key under which all checksums are stored
KeyChecksums = "checksums"
)
2 changes: 2 additions & 0 deletions modules/light-clients/08-wasm/types/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ func (suite *TypesTestSuite) SetupWasmWithMockVM() {
suite.coordinator = ibctesting.NewCoordinator(suite.T(), 1)
suite.chainA = suite.coordinator.GetChain(ibctesting.GetChainID(1))
suite.checksum = storeWasmCode(suite, wasmtesting.Code)

wasmtesting.AllowWasmClients(suite.chainA)
}

func (suite *TypesTestSuite) setupWasmWithMockVM() (ibctesting.TestingApp, map[string]json.RawMessage) {
Expand Down
5 changes: 2 additions & 3 deletions modules/light-clients/08-wasm/types/validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (

clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types"
host "github.com/cosmos/ibc-go/v7/modules/core/24-host"
"github.com/cosmos/ibc-go/v7/modules/core/exported"
)

const maxWasmSize = 3 * 1024 * 1024
Expand Down Expand Up @@ -50,8 +49,8 @@ func ValidateClientID(clientID string) error {
return errorsmod.Wrapf(host.ErrInvalidID, "invalid client identifier %s", clientID)
}

if !strings.HasPrefix(clientID, exported.Wasm) {
return errorsmod.Wrapf(host.ErrInvalidID, "client identifier %s does not contain %s prefix", clientID, exported.Wasm)
if !strings.HasPrefix(clientID, Wasm) {
return errorsmod.Wrapf(host.ErrInvalidID, "client identifier %s does not contain %s prefix", clientID, Wasm)
}

return nil
Expand Down
3 changes: 1 addition & 2 deletions modules/light-clients/08-wasm/types/validation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (

"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/types"
host "github.com/cosmos/ibc-go/v7/modules/core/24-host"
"github.com/cosmos/ibc-go/v7/modules/core/exported"
ibctesting "github.com/cosmos/ibc-go/v7/testing"

wasmtesting "github.com/cosmos/ibc-go/modules/light-clients/08-wasm/testing"
Expand Down Expand Up @@ -144,7 +143,7 @@ func TestValidateClientID(t *testing.T) {
func() {
clientID = ibctesting.FirstClientID
},
errorsmod.Wrapf(host.ErrInvalidID, "client identifier %s does not contain %s prefix", ibctesting.FirstClientID, exported.Wasm),
errorsmod.Wrapf(host.ErrInvalidID, "client identifier %s does not contain %s prefix", ibctesting.FirstClientID, types.Wasm),
},
}

Expand Down
Loading