Remove Evidence handler from IBC (#7196)

* fix builds

* fix tests

* lint

* Update x/ibc/02-client/handler.go

* Update x/ibc/handler.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
This commit is contained in:
Aditya 2020-08-29 10:20:48 -04:00 committed by GitHub
parent 018915b1a8
commit 5ee4fad501
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 208 additions and 259 deletions

View File

@ -85,7 +85,7 @@ message MsgUpdateClient {
// arbitrary Misbehaviour.
message MsgSubmitClientMisbehaviour {
option (gogoproto.goproto_getters) = false;
bytes submitter = 1
bytes signer = 1
[(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"];
Misbehaviour misbehaviour = 2;
}

View File

@ -165,6 +165,6 @@ message MsgSubmitClientMisbehaviour {
option (gogoproto.goproto_getters) = false;
Misbehaviour misbehaviour = 1;
bytes submitter = 2
bytes signer = 2
[(gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.AccAddress"];
}

View File

@ -52,8 +52,6 @@ import (
transfer "github.com/cosmos/cosmos-sdk/x/ibc-transfer"
ibctransferkeeper "github.com/cosmos/cosmos-sdk/x/ibc-transfer/keeper"
ibctransfertypes "github.com/cosmos/cosmos-sdk/x/ibc-transfer/types"
ibcclient "github.com/cosmos/cosmos-sdk/x/ibc/02-client"
ibcclienttypes "github.com/cosmos/cosmos-sdk/x/ibc/02-client/types"
porttypes "github.com/cosmos/cosmos-sdk/x/ibc/05-port/types"
ibchost "github.com/cosmos/cosmos-sdk/x/ibc/24-host"
ibckeeper "github.com/cosmos/cosmos-sdk/x/ibc/keeper"
@ -280,10 +278,7 @@ func NewSimApp(
evidenceKeeper := evidencekeeper.NewKeeper(
appCodec, keys[evidencetypes.StoreKey], &app.StakingKeeper, app.SlashingKeeper,
)
evidenceRouter := evidencetypes.NewRouter().
AddRoute(ibcclienttypes.RouterKey, ibcclient.HandlerClientMisbehaviour(app.IBCKeeper.ClientKeeper))
evidenceKeeper.SetRouter(evidenceRouter)
// If evidence needs to be handled for the app, set routes in router here and seal
app.EvidenceKeeper = *evidenceKeeper
// NOTE: Any module instantiated in the module manager that is later modified

View File

@ -9,7 +9,6 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/codec"
evidenceexported "github.com/cosmos/cosmos-sdk/x/evidence/exported"
connectionexported "github.com/cosmos/cosmos-sdk/x/ibc/03-connection/exported"
channelexported "github.com/cosmos/cosmos-sdk/x/ibc/04-channel/exported"
commitmentexported "github.com/cosmos/cosmos-sdk/x/ibc/23-commitment/exported"
@ -135,9 +134,13 @@ type ConsensusState interface {
// Misbehaviour defines counterparty misbehaviour for a specific consensus type
type Misbehaviour interface {
evidenceexported.Evidence
ClientType() ClientType
GetClientID() string
String() string
ValidateBasic() error
// Height at which the infraction occurred
GetHeight() uint64
}
// Header is the consensus state update information
@ -172,6 +175,13 @@ type MsgUpdateClient interface {
GetHeader() Header
}
// MsgSubmitMisbehaviour defines the msg interface that the
// SubmitMisbehaviour Handler expects
type MsgSubmitMisbehaviour interface {
sdk.Msg
GetMisbehaviour() Misbehaviour
}
// ClientType defines the type of the consensus algorithm
type ClientType byte

View File

@ -5,8 +5,6 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
evidenceexported "github.com/cosmos/cosmos-sdk/x/evidence/exported"
evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types"
"github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
"github.com/cosmos/cosmos-sdk/x/ibc/02-client/keeper"
"github.com/cosmos/cosmos-sdk/x/ibc/02-client/types"
@ -78,29 +76,32 @@ func HandleMsgUpdateClient(ctx sdk.Context, k keeper.Keeper, msg exported.MsgUpd
}, nil
}
// HandlerClientMisbehaviour defines the Evidence module handler for submitting a
// HandleMsgSubmitMisbehaviour defines the Evidence module handler for submitting a
// light client misbehaviour.
func HandlerClientMisbehaviour(k keeper.Keeper) evidencetypes.Handler {
return func(ctx sdk.Context, evidence evidenceexported.Evidence) error {
misbehaviour, ok := evidence.(exported.Misbehaviour)
if !ok {
return sdkerrors.Wrapf(types.ErrInvalidMisbehaviour,
"expected evidence to implement client Misbehaviour interface, got %T", evidence,
)
}
if err := k.CheckMisbehaviourAndUpdateState(ctx, misbehaviour); err != nil {
return sdkerrors.Wrap(err, "failed to process misbehaviour for IBC client")
}
ctx.EventManager().EmitEvent(
sdk.NewEvent(
types.EventTypeSubmitMisbehaviour,
sdk.NewAttribute(types.AttributeKeyClientID, misbehaviour.GetClientID()),
sdk.NewAttribute(types.AttributeKeyClientType, misbehaviour.ClientType().String()),
sdk.NewAttribute(types.AttributeKeyConsensusHeight, fmt.Sprintf("%d", uint64(misbehaviour.GetHeight()))),
),
)
return nil
func HandleMsgSubmitMisbehaviour(ctx sdk.Context, k keeper.Keeper, msg exported.MsgSubmitMisbehaviour) (*sdk.Result, error) {
misbehaviour := msg.GetMisbehaviour()
if misbehaviour == nil {
return nil, sdkerrors.Wrapf(types.ErrInvalidMisbehaviour, "misbehaviour is nil")
}
if err := misbehaviour.ValidateBasic(); err != nil {
return nil, err
}
if err := k.CheckMisbehaviourAndUpdateState(ctx, misbehaviour); err != nil {
return nil, sdkerrors.Wrap(err, "failed to process misbehaviour for IBC client")
}
ctx.EventManager().EmitEvent(
sdk.NewEvent(
types.EventTypeSubmitMisbehaviour,
sdk.NewAttribute(types.AttributeKeyClientID, misbehaviour.GetClientID()),
sdk.NewAttribute(types.AttributeKeyClientType, misbehaviour.ClientType().String()),
sdk.NewAttribute(types.AttributeKeyConsensusHeight, fmt.Sprintf("%d", misbehaviour.GetHeight())),
),
)
return &sdk.Result{
Events: ctx.EventManager().Events().ToABCIEvents(),
}, nil
}

View File

@ -3,7 +3,6 @@ package types
import (
"github.com/cosmos/cosmos-sdk/codec"
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
evidenceexported "github.com/cosmos/cosmos-sdk/x/evidence/exported"
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
)
@ -19,7 +18,7 @@ func RegisterInterfaces(registry codectypes.InterfaceRegistry) {
&ConsensusState{},
)
registry.RegisterImplementations(
(*evidenceexported.Evidence)(nil),
(*clientexported.Misbehaviour)(nil),
&Misbehaviour{},
)
}

View File

@ -6,20 +6,16 @@ import (
yaml "gopkg.in/yaml.v2"
"github.com/tendermint/tendermint/crypto/tmhash"
tmbytes "github.com/tendermint/tendermint/libs/bytes"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
evidenceexported "github.com/cosmos/cosmos-sdk/x/evidence/exported"
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
clienttypes "github.com/cosmos/cosmos-sdk/x/ibc/02-client/types"
host "github.com/cosmos/cosmos-sdk/x/ibc/24-host"
)
var (
_ evidenceexported.Evidence = Misbehaviour{}
_ clientexported.Misbehaviour = Misbehaviour{}
)
@ -44,16 +40,6 @@ func (misbehaviour Misbehaviour) GetClientID() string {
return misbehaviour.ClientId
}
// Route implements Misbehaviour interface
func (misbehaviour Misbehaviour) Route() string {
return clienttypes.SubModuleName
}
// Type implements Misbehaviour interface
func (misbehaviour Misbehaviour) Type() string {
return clientexported.TypeEvidenceClientMisbehaviour
}
// String implements Misbehaviour interface
func (misbehaviour Misbehaviour) String() string {
// FIXME: implement custom marshaller
@ -64,17 +50,11 @@ func (misbehaviour Misbehaviour) String() string {
return string(bz)
}
// Hash implements Misbehaviour interface
func (misbehaviour Misbehaviour) Hash() tmbytes.HexBytes {
bz := SubModuleCdc.MustMarshalBinaryBare(&misbehaviour)
return tmhash.Sum(bz)
}
// GetHeight returns the height at which misbehaviour occurred
//
// NOTE: assumes that misbehaviour headers have the same height
func (misbehaviour Misbehaviour) GetHeight() int64 {
return int64(math.Min(float64(misbehaviour.Header1.GetHeight()), float64(misbehaviour.Header2.GetHeight())))
func (misbehaviour Misbehaviour) GetHeight() uint64 {
return uint64(math.Min(float64(misbehaviour.Header1.GetHeight()), float64(misbehaviour.Header2.GetHeight())))
}
// GetTime returns the timestamp at which misbehaviour occurred. It uses the

View File

@ -27,7 +27,7 @@ func (cs ClientState) CheckMisbehaviourAndUpdateState(
) (clientexported.ClientState, error) {
// If client is already frozen at earlier height than misbehaviour, return with error
if cs.IsFrozen() && cs.FrozenHeight <= uint64(misbehaviour.GetHeight()) {
if cs.IsFrozen() && cs.FrozenHeight <= misbehaviour.GetHeight() {
return nil, sdkerrors.Wrapf(clienttypes.ErrInvalidMisbehaviour,
"client is already frozen at earlier height %d than misbehaviour height %d", cs.FrozenHeight, misbehaviour.GetHeight())
}
@ -56,7 +56,7 @@ func (cs ClientState) CheckMisbehaviourAndUpdateState(
infractionHeight := tmEvidence.GetHeight()
infractionTime := tmEvidence.GetTime()
ageDuration := ctx.BlockTime().Sub(infractionTime)
ageBlocks := int64(cs.LatestHeight) - infractionHeight
ageBlocks := int64(cs.LatestHeight - infractionHeight)
// TODO: Retrieve consensusparams from client state and not context
// Issue #6516: https://github.com/cosmos/cosmos-sdk/issues/6516
@ -96,7 +96,7 @@ func (cs ClientState) CheckMisbehaviourAndUpdateState(
return nil, sdkerrors.Wrap(err, "verifying Header2 in Misbehaviour failed")
}
cs.FrozenHeight = uint64(tmEvidence.GetHeight())
cs.FrozenHeight = tmEvidence.GetHeight()
return &cs, nil
}

View File

@ -4,7 +4,6 @@ import (
"time"
"github.com/tendermint/tendermint/crypto/tmhash"
tmbytes "github.com/tendermint/tendermint/libs/bytes"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
tmtypes "github.com/tendermint/tendermint/types"
@ -12,7 +11,7 @@ import (
"github.com/cosmos/cosmos-sdk/x/ibc/07-tendermint/types"
)
func (suite *TendermintTestSuite) TestEvidence() {
func (suite *TendermintTestSuite) TestMisbehaviour() {
signers := []tmtypes.PrivValidator{suite.privVal}
misbehaviour := &types.Misbehaviour{
@ -22,15 +21,12 @@ func (suite *TendermintTestSuite) TestEvidence() {
ClientId: clientID,
}
suite.Require().Equal(misbehaviour.ClientType(), clientexported.Tendermint)
suite.Require().Equal(misbehaviour.GetClientID(), clientID)
suite.Require().Equal(misbehaviour.Route(), "client")
suite.Require().Equal(misbehaviour.Type(), "client_misbehaviour")
suite.Require().Equal(misbehaviour.Hash(), tmbytes.HexBytes(tmhash.Sum(suite.cdc.MustMarshalBinaryBare(misbehaviour))))
suite.Require().Equal(misbehaviour.GetHeight(), int64(height))
suite.Require().Equal(clientexported.Tendermint, misbehaviour.ClientType())
suite.Require().Equal(clientID, misbehaviour.GetClientID())
suite.Require().Equal(uint64(height), misbehaviour.GetHeight())
}
func (suite *TendermintTestSuite) TestEvidenceValidateBasic() {
func (suite *TendermintTestSuite) TestMisbehaviourValidateBasic() {
altPrivVal := tmtypes.NewMockPV()
altPubKey, err := altPrivVal.GetPubKey()
suite.Require().NoError(err)

View File

@ -8,7 +8,6 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
evidenceexported "github.com/cosmos/cosmos-sdk/x/evidence/exported"
evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types"
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
commitmenttypes "github.com/cosmos/cosmos-sdk/x/ibc/23-commitment/types"
@ -16,9 +15,9 @@ import (
)
var (
_ clientexported.MsgCreateClient = (*MsgCreateClient)(nil)
_ clientexported.MsgUpdateClient = (*MsgUpdateClient)(nil)
_ evidenceexported.MsgSubmitEvidence = (*MsgSubmitClientMisbehaviour)(nil)
_ clientexported.MsgCreateClient = (*MsgCreateClient)(nil)
_ clientexported.MsgUpdateClient = (*MsgUpdateClient)(nil)
_ clientexported.MsgSubmitMisbehaviour = (*MsgSubmitClientMisbehaviour)(nil)
)
// NewMsgCreateClient creates a new MsgCreateClient instance
@ -187,7 +186,7 @@ func (msg MsgUpdateClient) GetHeader() clientexported.Header {
// NewMsgSubmitClientMisbehaviour creates a new MsgSubmitClientMisbehaviour
// instance.
func NewMsgSubmitClientMisbehaviour(m *Misbehaviour, s sdk.AccAddress) *MsgSubmitClientMisbehaviour {
return &MsgSubmitClientMisbehaviour{Misbehaviour: m, Submitter: s}
return &MsgSubmitClientMisbehaviour{Misbehaviour: m, Signer: s}
}
// Route returns the MsgSubmitClientMisbehaviour's route.
@ -206,8 +205,8 @@ func (msg MsgSubmitClientMisbehaviour) ValidateBasic() error {
if err := msg.Misbehaviour.ValidateBasic(); err != nil {
return err
}
if msg.Submitter.Empty() {
return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Submitter.String())
if msg.Signer.Empty() {
return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, msg.Signer.String())
}
return nil
@ -221,13 +220,9 @@ func (msg MsgSubmitClientMisbehaviour) GetSignBytes() []byte {
// GetSigners returns the single expected signer for a MsgSubmitClientMisbehaviour.
func (msg MsgSubmitClientMisbehaviour) GetSigners() []sdk.AccAddress {
return []sdk.AccAddress{msg.Submitter}
return []sdk.AccAddress{msg.Signer}
}
func (msg MsgSubmitClientMisbehaviour) GetEvidence() evidenceexported.Evidence {
func (msg MsgSubmitClientMisbehaviour) GetMisbehaviour() clientexported.Misbehaviour {
return msg.Misbehaviour
}
func (msg MsgSubmitClientMisbehaviour) GetSubmitter() sdk.AccAddress {
return msg.Submitter
}

View File

@ -388,7 +388,7 @@ var xxx_messageInfo_MsgUpdateClient proto.InternalMessageInfo
// light client misbehaviour.
type MsgSubmitClientMisbehaviour struct {
Misbehaviour *Misbehaviour `protobuf:"bytes,1,opt,name=misbehaviour,proto3" json:"misbehaviour,omitempty"`
Submitter github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=submitter,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"submitter,omitempty"`
Signer github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,2,opt,name=signer,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"signer,omitempty"`
}
func (m *MsgSubmitClientMisbehaviour) Reset() { *m = MsgSubmitClientMisbehaviour{} }
@ -438,76 +438,75 @@ func init() {
func init() { proto.RegisterFile("ibc/tendermint/tendermint.proto", fileDescriptor_76a953d5a747dd66) }
var fileDescriptor_76a953d5a747dd66 = []byte{
// 1096 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4f, 0x4f, 0x1b, 0x47,
0x14, 0x67, 0x8d, 0x31, 0x66, 0x6c, 0xfe, 0x74, 0x42, 0xa9, 0x21, 0xd4, 0x6b, 0x6d, 0x2f, 0x5c,
0x58, 0x17, 0x27, 0x6a, 0x25, 0xa4, 0x4a, 0xc9, 0x12, 0x55, 0x50, 0x15, 0x95, 0x0e, 0x4d, 0x2b,
0x55, 0xaa, 0x56, 0xeb, 0xdd, 0xb1, 0x3d, 0x62, 0x77, 0xc7, 0xda, 0x19, 0x23, 0xe8, 0x27, 0x48,
0x6f, 0x39, 0xe6, 0xd8, 0x7c, 0x87, 0xaa, 0xdf, 0xa0, 0x52, 0x8e, 0x1c, 0x7b, 0xda, 0x56, 0xf0,
0x0d, 0x7c, 0xe4, 0x54, 0xed, 0xcc, 0xec, 0x1f, 0x1b, 0x94, 0x34, 0x51, 0xc2, 0x05, 0xe6, 0xfd,
0xfb, 0xbd, 0x99, 0xe7, 0xdf, 0x7b, 0x6f, 0x81, 0x4e, 0xba, 0x6e, 0x9b, 0xe3, 0xd0, 0xc3, 0x51,
0x40, 0x42, 0x5e, 0x38, 0x9a, 0xc3, 0x88, 0x72, 0x0a, 0x97, 0x48, 0xd7, 0x35, 0x73, 0xed, 0x46,
0xab, 0xe8, 0x7c, 0x3e, 0xc4, 0xac, 0x7d, 0xea, 0xf8, 0xc4, 0x73, 0x38, 0x8d, 0x64, 0xc4, 0xc6,
0xe6, 0x0d, 0x0f, 0xf1, 0x57, 0x59, 0xef, 0xb9, 0x34, 0xec, 0x11, 0xda, 0x1e, 0x46, 0x94, 0xf6,
0x52, 0x65, 0xb3, 0x4f, 0x69, 0xdf, 0xc7, 0x6d, 0x21, 0x75, 0x47, 0xbd, 0xb6, 0x37, 0x8a, 0x1c,
0x4e, 0x68, 0xa8, 0xec, 0xfa, 0xb4, 0x9d, 0x93, 0x00, 0x33, 0xee, 0x04, 0xc3, 0xd4, 0x21, 0x79,
0x86, 0x4b, 0x83, 0x80, 0xf0, 0x00, 0x87, 0xbc, 0x70, 0x54, 0x0e, 0xab, 0x7d, 0xda, 0xa7, 0xe2,
0xd8, 0x4e, 0x4e, 0x52, 0x6b, 0x3c, 0x9b, 0x03, 0xb5, 0x3d, 0x9f, 0xe0, 0x90, 0x1f, 0x73, 0x87,
0x63, 0xb8, 0x0e, 0xaa, 0xee, 0xc0, 0x21, 0xa1, 0x4d, 0xbc, 0x86, 0xd6, 0xd2, 0xb6, 0x16, 0xd0,
0xbc, 0x90, 0x0f, 0x3c, 0xf8, 0x14, 0xd4, 0x78, 0x34, 0x62, 0xdc, 0xf6, 0xf1, 0x29, 0xf6, 0x1b,
0xa5, 0x96, 0xb6, 0x55, 0xeb, 0x34, 0xcc, 0xc9, 0xea, 0x98, 0x5f, 0x47, 0x8e, 0x9b, 0xdc, 0xdb,
0xda, 0x78, 0x15, 0xeb, 0x33, 0xe3, 0x58, 0x87, 0xe7, 0x4e, 0xe0, 0xef, 0x1a, 0x85, 0x50, 0x03,
0x01, 0x21, 0x7d, 0x9b, 0x08, 0xb0, 0x07, 0x96, 0x85, 0x44, 0xc2, 0xbe, 0x3d, 0xc4, 0x11, 0xa1,
0x5e, 0x63, 0x56, 0x40, 0xaf, 0x9b, 0xf2, 0xcd, 0x66, 0xfa, 0x66, 0xf3, 0x89, 0xaa, 0x89, 0x65,
0x28, 0xec, 0xb5, 0x02, 0x76, 0x1e, 0x6f, 0xbc, 0xf8, 0x47, 0xd7, 0xd0, 0x52, 0xaa, 0x3d, 0x12,
0x4a, 0x48, 0xc0, 0xca, 0x28, 0xec, 0xd2, 0xd0, 0x2b, 0x24, 0x2a, 0xbf, 0x29, 0xd1, 0x67, 0x2a,
0xd1, 0x27, 0x32, 0xd1, 0x34, 0x80, 0xcc, 0xb4, 0x9c, 0xa9, 0x55, 0x2a, 0x0c, 0x96, 0x03, 0xe7,
0xcc, 0x76, 0x7d, 0xea, 0x9e, 0xd8, 0x5e, 0x44, 0x7a, 0xbc, 0x31, 0xf7, 0x96, 0x4f, 0x9a, 0x8a,
0x97, 0x89, 0x16, 0x03, 0xe7, 0x6c, 0x2f, 0x51, 0x3e, 0x49, 0x74, 0xf0, 0x2b, 0xb0, 0xd8, 0x8b,
0xe8, 0xaf, 0x38, 0xb4, 0x07, 0x98, 0xf4, 0x07, 0xbc, 0x51, 0x69, 0x69, 0x5b, 0x65, 0xab, 0x31,
0x8e, 0xf5, 0x55, 0x89, 0x32, 0x61, 0x36, 0x50, 0x5d, 0xca, 0xfb, 0x42, 0x4c, 0xc2, 0x7d, 0x87,
0x63, 0xc6, 0xd3, 0xf0, 0xf9, 0xe9, 0xf0, 0x09, 0xb3, 0x81, 0xea, 0x52, 0x56, 0xe1, 0x07, 0xa0,
0x26, 0x18, 0x6c, 0xb3, 0x21, 0x76, 0x59, 0xa3, 0xda, 0x9a, 0xdd, 0xaa, 0x75, 0x56, 0x4c, 0xe2,
0xb2, 0xce, 0x03, 0xf3, 0x28, 0xb1, 0x1c, 0x0f, 0xb1, 0x6b, 0xad, 0xe5, 0x14, 0x28, 0xb8, 0x1b,
0x08, 0x0c, 0x53, 0x17, 0xb6, 0x5b, 0x7e, 0xf6, 0xbb, 0x3e, 0x63, 0xfc, 0x51, 0x02, 0x4b, 0x7b,
0x34, 0x64, 0x38, 0x64, 0x23, 0x26, 0xd9, 0x68, 0x81, 0x85, 0x8c, 0xe7, 0x82, 0x8e, 0xb5, 0xce,
0xc6, 0x8d, 0x12, 0xfe, 0x90, 0x7a, 0x58, 0xd5, 0xa4, 0x86, 0xcf, 0x93, 0x4a, 0xe5, 0x61, 0xf0,
0x21, 0x28, 0x47, 0x94, 0x72, 0xc5, 0xd7, 0x0d, 0xc1, 0xd7, 0x42, 0x73, 0x1c, 0xe2, 0xe8, 0xc4,
0xc7, 0x88, 0x52, 0x6e, 0x95, 0x93, 0x70, 0x24, 0xbc, 0xe1, 0x1a, 0xa8, 0xa8, 0xaa, 0x24, 0x64,
0x2c, 0x23, 0x25, 0xc1, 0xdf, 0x34, 0xb0, 0x1a, 0xe2, 0x33, 0x6e, 0x67, 0x3d, 0xcf, 0xec, 0x81,
0xc3, 0x06, 0x82, 0x4a, 0x75, 0xeb, 0xa7, 0x71, 0xac, 0xdf, 0x97, 0xaf, 0xbd, 0xcd, 0xcb, 0xb8,
0x8e, 0xf5, 0x87, 0x7d, 0xc2, 0x07, 0xa3, 0x6e, 0x72, 0x87, 0xdb, 0xc7, 0x4e, 0xdb, 0x27, 0x5d,
0xd6, 0xee, 0x9e, 0x73, 0xcc, 0xcc, 0x7d, 0x7c, 0x66, 0x25, 0x07, 0x04, 0x13, 0xb8, 0x1f, 0x33,
0xb4, 0x7d, 0x87, 0x0d, 0x54, 0xd9, 0x5e, 0x96, 0x40, 0xfd, 0x90, 0xb0, 0x2e, 0x1e, 0x38, 0xa7,
0x84, 0x8e, 0x22, 0xb8, 0x03, 0x16, 0x5c, 0xd1, 0xd1, 0x59, 0x0f, 0x5b, 0xab, 0xe3, 0x58, 0x5f,
0x91, 0xd7, 0xca, 0x4c, 0x06, 0xaa, 0xca, 0xf3, 0x81, 0x07, 0xcd, 0x42, 0xd7, 0x97, 0x44, 0xc4,
0xbd, 0x71, 0xac, 0x2f, 0xab, 0x08, 0x65, 0x31, 0xf2, 0x51, 0xf0, 0x3d, 0xa8, 0x0e, 0xb0, 0xe3,
0xe1, 0xc8, 0xde, 0x51, 0xcd, 0xba, 0x36, 0x3d, 0x07, 0xf6, 0x85, 0xdd, 0x6a, 0x5e, 0xc6, 0xfa,
0xbc, 0x3c, 0xef, 0xe4, 0x90, 0x69, 0xb0, 0x81, 0xe6, 0xe5, 0x71, 0xa7, 0x00, 0xd9, 0x51, 0x6d,
0xf9, 0x3f, 0x20, 0x3b, 0x37, 0x20, 0x3b, 0x19, 0x64, 0x67, 0xb7, 0x9a, 0xd4, 0xe7, 0x45, 0x52,
0xa3, 0xeb, 0x12, 0xa8, 0xc8, 0x08, 0xe8, 0x80, 0x45, 0x46, 0xfa, 0x21, 0xf6, 0x6c, 0xe9, 0xa6,
0x68, 0xd5, 0x2c, 0x26, 0x92, 0xd3, 0xfa, 0x58, 0xb8, 0xa9, 0xa4, 0x9b, 0x17, 0xb1, 0xae, 0xe5,
0x9d, 0x31, 0x01, 0x61, 0xa0, 0x3a, 0x2b, 0xf8, 0xc2, 0x5f, 0xc0, 0x62, 0xf6, 0xbb, 0xdb, 0x0c,
0xa7, 0xd4, 0xbb, 0x25, 0x45, 0xf6, 0x83, 0x1e, 0x63, 0x5e, 0x6c, 0xbc, 0x89, 0x70, 0x03, 0xd5,
0x4f, 0x0b, 0x7e, 0xf0, 0x11, 0x90, 0xa3, 0x4d, 0xe4, 0xcf, 0x29, 0x6a, 0xad, 0x8f, 0x63, 0xfd,
0xe3, 0xc2, 0x40, 0xcc, 0xec, 0x06, 0x5a, 0x54, 0x0a, 0xd5, 0xba, 0x3e, 0x80, 0xa9, 0x47, 0x4e,
0x50, 0x55, 0xf5, 0x37, 0xdd, 0xf2, 0xd3, 0x71, 0xac, 0xaf, 0x4f, 0x66, 0xc9, 0x31, 0x0c, 0xf4,
0x91, 0x52, 0xe6, 0x54, 0x35, 0xbe, 0x01, 0xd5, 0x74, 0x29, 0xc0, 0x4d, 0xb0, 0x10, 0x8e, 0x02,
0x1c, 0x25, 0x16, 0x51, 0xf9, 0x59, 0x94, 0x2b, 0x60, 0x0b, 0xd4, 0x3c, 0x1c, 0xd2, 0x80, 0x84,
0xc2, 0x5e, 0x12, 0xf6, 0xa2, 0xca, 0x78, 0x39, 0x07, 0x96, 0x0f, 0x59, 0x7f, 0x2f, 0xc2, 0x0e,
0xc7, 0x72, 0x6f, 0xbd, 0x1b, 0xdf, 0x2b, 0xea, 0xd7, 0x2f, 0xbd, 0x8e, 0x6a, 0x48, 0x79, 0x4d,
0xaf, 0xbe, 0xd9, 0x0f, 0xb7, 0xfa, 0xca, 0x77, 0xb5, 0xfa, 0xe6, 0xee, 0x6c, 0xf5, 0x55, 0x3e,
0xc0, 0xea, 0x7b, 0x7f, 0xcb, 0x07, 0x1e, 0x80, 0x8a, 0xe8, 0xde, 0x48, 0xec, 0xbf, 0xba, 0xb5,
0x73, 0x1d, 0xeb, 0xdb, 0x85, 0x19, 0xed, 0x52, 0x16, 0x50, 0xa6, 0xfe, 0x6d, 0x33, 0xef, 0x44,
0x7d, 0xcc, 0x3d, 0x76, 0xdd, 0xc7, 0x9e, 0x17, 0x61, 0xc6, 0x90, 0x02, 0x50, 0x03, 0xf9, 0x2f,
0x4d, 0x70, 0xf4, 0xe9, 0xd0, 0xbb, 0x53, 0x8e, 0xe6, 0xef, 0x98, 0x7d, 0x3f, 0xef, 0xf8, 0x53,
0x03, 0xf7, 0x0f, 0x59, 0xff, 0x78, 0xd4, 0x0d, 0x08, 0x97, 0xef, 0x98, 0xd8, 0x33, 0x8f, 0x40,
0x3d, 0x28, 0xc8, 0x6a, 0x90, 0x6e, 0x4e, 0x5f, 0xb3, 0x18, 0x83, 0x26, 0x22, 0xe0, 0x77, 0x60,
0x81, 0x09, 0x74, 0xae, 0x5e, 0xf9, 0x4e, 0xb7, 0xce, 0x31, 0xe4, 0xc5, 0xad, 0xa3, 0x57, 0x97,
0x4d, 0xed, 0xe2, 0xb2, 0xa9, 0xfd, 0x7b, 0xd9, 0xd4, 0x9e, 0x5f, 0x35, 0x67, 0x2e, 0xae, 0x9a,
0x33, 0x7f, 0x5f, 0x35, 0x67, 0x7e, 0xfe, 0xe2, 0xb5, 0xc8, 0x67, 0xed, 0xe4, 0x1b, 0xfa, 0xf3,
0x2f, 0xb7, 0xa7, 0x3f, 0xdf, 0xbb, 0x15, 0x41, 0xda, 0x07, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff,
0xbf, 0xdb, 0xea, 0x9e, 0x2c, 0x0c, 0x00, 0x00,
// 1088 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4f, 0x4f, 0xe3, 0x46,
0x14, 0xc7, 0x21, 0x84, 0x30, 0x09, 0x7f, 0xea, 0xa5, 0x34, 0xb0, 0x34, 0x8e, 0xdc, 0x0b, 0x17,
0x9c, 0x92, 0x5d, 0xb5, 0x12, 0x52, 0xa5, 0x5d, 0xb3, 0xaa, 0xa0, 0x2a, 0x12, 0x1d, 0xba, 0xad,
0x54, 0xa9, 0xb2, 0x1c, 0x7b, 0x92, 0x8c, 0xb0, 0x3d, 0x91, 0x67, 0x82, 0xa0, 0x9f, 0x60, 0x7b,
0xdb, 0xe3, 0x1e, 0xbb, 0xdf, 0xa0, 0x87, 0x7e, 0x85, 0x4a, 0x7b, 0xe4, 0xd8, 0x93, 0x5b, 0xc1,
0x37, 0xc8, 0x91, 0x53, 0xe5, 0x99, 0xb1, 0x3d, 0x09, 0x68, 0xb7, 0x5d, 0xb1, 0x5c, 0x60, 0xde,
0x9f, 0xdf, 0x7b, 0x33, 0x2f, 0xbf, 0xf7, 0x9e, 0x81, 0x81, 0xbb, 0x5e, 0x9b, 0xa1, 0xc8, 0x47,
0x71, 0x88, 0x23, 0xa6, 0x1c, 0xad, 0x61, 0x4c, 0x18, 0xd1, 0x97, 0x70, 0xd7, 0xb3, 0x0a, 0xed,
0x46, 0x4b, 0x75, 0x3e, 0x1f, 0x22, 0xda, 0x3e, 0x75, 0x03, 0xec, 0xbb, 0x8c, 0xc4, 0x02, 0xb1,
0xb1, 0x79, 0xc3, 0x83, 0xff, 0x95, 0xd6, 0x07, 0x1e, 0x89, 0x7a, 0x98, 0xb4, 0x87, 0x31, 0x21,
0xbd, 0x4c, 0xd9, 0xec, 0x13, 0xd2, 0x0f, 0x50, 0x9b, 0x4b, 0xdd, 0x51, 0xaf, 0xed, 0x8f, 0x62,
0x97, 0x61, 0x12, 0x49, 0xbb, 0x31, 0x6d, 0x67, 0x38, 0x44, 0x94, 0xb9, 0xe1, 0x30, 0x73, 0x48,
0x9f, 0xe1, 0x91, 0x30, 0xc4, 0x2c, 0x44, 0x11, 0x53, 0x8e, 0xd2, 0x61, 0xb5, 0x4f, 0xfa, 0x84,
0x1f, 0xdb, 0xe9, 0x49, 0x68, 0xcd, 0x17, 0x73, 0xa0, 0xb6, 0x17, 0x60, 0x14, 0xb1, 0x63, 0xe6,
0x32, 0xa4, 0xaf, 0x83, 0xaa, 0x37, 0x70, 0x71, 0xe4, 0x60, 0xbf, 0xa1, 0xb5, 0xb4, 0xad, 0x05,
0x38, 0xcf, 0xe5, 0x03, 0x5f, 0x7f, 0x0e, 0x6a, 0x2c, 0x1e, 0x51, 0xe6, 0x04, 0xe8, 0x14, 0x05,
0x8d, 0x52, 0x4b, 0xdb, 0xaa, 0x75, 0x1a, 0xd6, 0x64, 0x75, 0xac, 0xaf, 0x63, 0xd7, 0x4b, 0xef,
0x6d, 0x6f, 0xbc, 0x49, 0x8c, 0x99, 0x71, 0x62, 0xe8, 0xe7, 0x6e, 0x18, 0xec, 0x9a, 0x0a, 0xd4,
0x84, 0x80, 0x4b, 0xdf, 0xa6, 0x82, 0xde, 0x03, 0xcb, 0x5c, 0xc2, 0x51, 0xdf, 0x19, 0xa2, 0x18,
0x13, 0xbf, 0x31, 0xcb, 0x43, 0xaf, 0x5b, 0xe2, 0xcd, 0x56, 0xf6, 0x66, 0xeb, 0x99, 0xac, 0x89,
0x6d, 0xca, 0xd8, 0x6b, 0x4a, 0xec, 0x02, 0x6f, 0xbe, 0xfa, 0xdb, 0xd0, 0xe0, 0x52, 0xa6, 0x3d,
0xe2, 0x4a, 0x1d, 0x83, 0x95, 0x51, 0xd4, 0x25, 0x91, 0xaf, 0x24, 0x2a, 0xbf, 0x2b, 0xd1, 0x67,
0x32, 0xd1, 0x27, 0x22, 0xd1, 0x74, 0x00, 0x91, 0x69, 0x39, 0x57, 0xcb, 0x54, 0x08, 0x2c, 0x87,
0xee, 0x99, 0xe3, 0x05, 0xc4, 0x3b, 0x71, 0xfc, 0x18, 0xf7, 0x58, 0x63, 0xee, 0x7f, 0x3e, 0x69,
0x0a, 0x2f, 0x12, 0x2d, 0x86, 0xee, 0xd9, 0x5e, 0xaa, 0x7c, 0x96, 0xea, 0xf4, 0xaf, 0xc0, 0x62,
0x2f, 0x26, 0xbf, 0xa0, 0xc8, 0x19, 0x20, 0xdc, 0x1f, 0xb0, 0x46, 0xa5, 0xa5, 0x6d, 0x95, 0xed,
0xc6, 0x38, 0x31, 0x56, 0x45, 0x94, 0x09, 0xb3, 0x09, 0xeb, 0x42, 0xde, 0xe7, 0x62, 0x0a, 0x0f,
0x5c, 0x86, 0x28, 0xcb, 0xe0, 0xf3, 0xd3, 0xf0, 0x09, 0xb3, 0x09, 0xeb, 0x42, 0x96, 0xf0, 0x03,
0x50, 0xe3, 0x0c, 0x76, 0xe8, 0x10, 0x79, 0xb4, 0x51, 0x6d, 0xcd, 0x6e, 0xd5, 0x3a, 0x2b, 0x16,
0xf6, 0x68, 0xe7, 0x91, 0x75, 0x94, 0x5a, 0x8e, 0x87, 0xc8, 0xb3, 0xd7, 0x0a, 0x0a, 0x28, 0xee,
0x26, 0x04, 0xc3, 0xcc, 0x85, 0xee, 0x96, 0x5f, 0xfc, 0x66, 0xcc, 0x98, 0x7f, 0x94, 0xc0, 0xd2,
0x1e, 0x89, 0x28, 0x8a, 0xe8, 0x88, 0x0a, 0x36, 0xda, 0x60, 0x21, 0xe7, 0x39, 0xa7, 0x63, 0xad,
0xb3, 0x71, 0xa3, 0x84, 0xdf, 0x67, 0x1e, 0x76, 0x35, 0xad, 0xe1, 0xcb, 0xb4, 0x52, 0x05, 0x4c,
0x7f, 0x0c, 0xca, 0x31, 0x21, 0x4c, 0xf2, 0x75, 0x83, 0xf3, 0x55, 0x69, 0x8e, 0x43, 0x14, 0x9f,
0x04, 0x08, 0x12, 0xc2, 0xec, 0x72, 0x0a, 0x87, 0xdc, 0x5b, 0x5f, 0x03, 0x15, 0x59, 0x95, 0x94,
0x8c, 0x65, 0x28, 0x25, 0xfd, 0x57, 0x0d, 0xac, 0x46, 0xe8, 0x8c, 0x39, 0x79, 0xcf, 0x53, 0x67,
0xe0, 0xd2, 0x01, 0xa7, 0x52, 0xdd, 0xfe, 0x71, 0x9c, 0x18, 0x0f, 0xc5, 0x6b, 0x6f, 0xf3, 0x32,
0xaf, 0x13, 0xe3, 0x71, 0x1f, 0xb3, 0xc1, 0xa8, 0x9b, 0xde, 0xe1, 0xf6, 0xb1, 0xd3, 0x0e, 0x70,
0x97, 0xb6, 0xbb, 0xe7, 0x0c, 0x51, 0x6b, 0x1f, 0x9d, 0xd9, 0xe9, 0x01, 0xea, 0x69, 0xb8, 0x1f,
0xf2, 0x68, 0xfb, 0x2e, 0x1d, 0xc8, 0xb2, 0xbd, 0x2e, 0x81, 0xfa, 0x21, 0xa6, 0x5d, 0x34, 0x70,
0x4f, 0x31, 0x19, 0xc5, 0xfa, 0x0e, 0x58, 0xf0, 0x78, 0x47, 0xe7, 0x3d, 0x6c, 0xaf, 0x8e, 0x13,
0x63, 0x45, 0x5c, 0x2b, 0x37, 0x99, 0xb0, 0x2a, 0xce, 0x07, 0xbe, 0x6e, 0x29, 0x5d, 0x5f, 0xe2,
0x88, 0x07, 0xe3, 0xc4, 0x58, 0x96, 0x08, 0x69, 0x31, 0x8b, 0x51, 0xf0, 0x1d, 0xa8, 0x0e, 0x90,
0xeb, 0xa3, 0xd8, 0xd9, 0x91, 0xcd, 0xba, 0x36, 0x3d, 0x07, 0xf6, 0xb9, 0xdd, 0x6e, 0x5e, 0x26,
0xc6, 0xbc, 0x38, 0xef, 0x14, 0x21, 0x33, 0xb0, 0x09, 0xe7, 0xc5, 0x71, 0x47, 0x09, 0xd9, 0x91,
0x6d, 0xf9, 0x1f, 0x42, 0x76, 0x6e, 0x84, 0xec, 0xe4, 0x21, 0x3b, 0xbb, 0xd5, 0xb4, 0x3e, 0xaf,
0xd2, 0x1a, 0x5d, 0x97, 0x40, 0x45, 0x20, 0x74, 0x17, 0x2c, 0x52, 0xdc, 0x8f, 0x90, 0xef, 0x08,
0x37, 0x49, 0xab, 0xa6, 0x9a, 0x48, 0x4c, 0xeb, 0x63, 0xee, 0x26, 0x93, 0x6e, 0x5e, 0x24, 0x86,
0x56, 0x74, 0xc6, 0x44, 0x08, 0x13, 0xd6, 0xa9, 0xe2, 0xab, 0xff, 0x0c, 0x16, 0xf3, 0xdf, 0xdd,
0xa1, 0x28, 0xa3, 0xde, 0x2d, 0x29, 0xf2, 0x1f, 0xf4, 0x18, 0x31, 0xb5, 0xf1, 0x26, 0xe0, 0x26,
0xac, 0x9f, 0x2a, 0x7e, 0xfa, 0x13, 0x20, 0x46, 0x1b, 0xcf, 0x5f, 0x50, 0xd4, 0x5e, 0x1f, 0x27,
0xc6, 0xc7, 0xca, 0x40, 0xcc, 0xed, 0x26, 0x5c, 0x94, 0x0a, 0xd9, 0xba, 0x01, 0xd0, 0x33, 0x8f,
0x82, 0xa0, 0xb2, 0xea, 0xef, 0xba, 0xe5, 0xa7, 0xe3, 0xc4, 0x58, 0x9f, 0xcc, 0x52, 0xc4, 0x30,
0xe1, 0x47, 0x52, 0x59, 0x50, 0xd5, 0xfc, 0x06, 0x54, 0xb3, 0xa5, 0xa0, 0x6f, 0x82, 0x85, 0x68,
0x14, 0xa2, 0x38, 0xb5, 0xf0, 0xca, 0xcf, 0xc2, 0x42, 0xa1, 0xb7, 0x40, 0xcd, 0x47, 0x11, 0x09,
0x71, 0xc4, 0xed, 0x25, 0x6e, 0x57, 0x55, 0xe6, 0xeb, 0x39, 0xb0, 0x7c, 0x48, 0xfb, 0x7b, 0x31,
0x72, 0x19, 0x12, 0x7b, 0xeb, 0xfd, 0xf8, 0x5e, 0x91, 0xbf, 0x7e, 0xe9, 0x6d, 0x54, 0x83, 0xd2,
0x6b, 0x7a, 0xf5, 0xcd, 0x7e, 0xb8, 0xd5, 0x57, 0xbe, 0xaf, 0xd5, 0x37, 0x77, 0x6f, 0xab, 0xaf,
0xf2, 0x01, 0x56, 0xdf, 0xdd, 0x2d, 0x1f, 0xfd, 0x00, 0x54, 0x78, 0xf7, 0xc6, 0x7c, 0xff, 0xd5,
0xed, 0x9d, 0xeb, 0xc4, 0xd8, 0x56, 0x66, 0xb4, 0x47, 0x68, 0x48, 0xa8, 0xfc, 0xb7, 0x4d, 0xfd,
0x13, 0xf9, 0x31, 0xf7, 0xd4, 0xf3, 0x9e, 0xfa, 0x7e, 0x8c, 0x28, 0x85, 0x32, 0x80, 0x1c, 0xc8,
0x7f, 0x6a, 0x9c, 0xa3, 0xcf, 0x87, 0xfe, 0xbd, 0x72, 0xb4, 0x78, 0xc7, 0xec, 0xdd, 0xbc, 0xe3,
0x77, 0x0d, 0x3c, 0x3c, 0xa4, 0xfd, 0xe3, 0x51, 0x37, 0xc4, 0x4c, 0xbc, 0x63, 0x62, 0xcf, 0x3c,
0x01, 0xf5, 0x50, 0x91, 0xe5, 0x20, 0xdd, 0x9c, 0xbe, 0xa6, 0x8a, 0x81, 0x13, 0x08, 0xe5, 0xca,
0xa5, 0x3b, 0xb9, 0xb2, 0x7d, 0xf4, 0xe6, 0xb2, 0xa9, 0x5d, 0x5c, 0x36, 0xb5, 0x7f, 0x2e, 0x9b,
0xda, 0xcb, 0xab, 0xe6, 0xcc, 0xc5, 0x55, 0x73, 0xe6, 0xaf, 0xab, 0xe6, 0xcc, 0x4f, 0x5f, 0xbc,
0x35, 0xec, 0x59, 0x3b, 0xfd, 0x7a, 0xfe, 0xfc, 0xcb, 0xed, 0xe9, 0x0f, 0xf7, 0x6e, 0x85, 0xd3,
0xf5, 0xd1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x3c, 0xee, 0xf6, 0x26, 0x0c, 0x00, 0x00,
}
func (m *ClientState) Marshal() (dAtA []byte, err error) {
@ -975,10 +974,10 @@ func (m *MsgSubmitClientMisbehaviour) MarshalToSizedBuffer(dAtA []byte) (int, er
_ = i
var l int
_ = l
if len(m.Submitter) > 0 {
i -= len(m.Submitter)
copy(dAtA[i:], m.Submitter)
i = encodeVarintTendermint(dAtA, i, uint64(len(m.Submitter)))
if len(m.Signer) > 0 {
i -= len(m.Signer)
copy(dAtA[i:], m.Signer)
i = encodeVarintTendermint(dAtA, i, uint64(len(m.Signer)))
i--
dAtA[i] = 0x12
}
@ -1191,7 +1190,7 @@ func (m *MsgSubmitClientMisbehaviour) Size() (n int) {
l = m.Misbehaviour.Size()
n += 1 + l + sovTendermint(uint64(l))
}
l = len(m.Submitter)
l = len(m.Signer)
if l > 0 {
n += 1 + l + sovTendermint(uint64(l))
}
@ -2668,7 +2667,7 @@ func (m *MsgSubmitClientMisbehaviour) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Submitter", wireType)
return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
@ -2695,9 +2694,9 @@ func (m *MsgSubmitClientMisbehaviour) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Submitter = append(m.Submitter[:0], dAtA[iNdEx:postIndex]...)
if m.Submitter == nil {
m.Submitter = []byte{}
m.Signer = append(m.Signer[:0], dAtA[iNdEx:postIndex]...)
if m.Signer == nil {
m.Signer = []byte{}
}
iNdEx = postIndex
default:

View File

@ -26,7 +26,8 @@ func NewHandler(k keeper.Keeper) sdk.Handler {
case clientexported.MsgUpdateClient:
return client.HandleMsgUpdateClient(ctx, k.ClientKeeper, msg)
// Client Misbehaviour is handled by the evidence module
case clientexported.MsgSubmitMisbehaviour:
return client.HandleMsgSubmitMisbehaviour(ctx, k.ClientKeeper, msg)
// IBC connection msgs
case *connectiontypes.MsgConnectionOpenInit:

View File

@ -5,18 +5,13 @@ import (
yaml "gopkg.in/yaml.v2"
"github.com/tendermint/tendermint/crypto/tmhash"
tmbytes "github.com/tendermint/tendermint/libs/bytes"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
evidenceexported "github.com/cosmos/cosmos-sdk/x/evidence/exported"
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
clienttypes "github.com/cosmos/cosmos-sdk/x/ibc/02-client/types"
host "github.com/cosmos/cosmos-sdk/x/ibc/24-host"
)
var (
_ evidenceexported.Evidence = (*Misbehaviour)(nil)
_ clientexported.Misbehaviour = (*Misbehaviour)(nil)
)
@ -30,11 +25,6 @@ func (misbehaviour Misbehaviour) GetClientID() string {
return misbehaviour.ClientId
}
// Route implements Evidence interface.
func (misbehaviour Misbehaviour) Route() string {
return clienttypes.SubModuleName
}
// Type implements Evidence interface.
func (misbehaviour Misbehaviour) Type() string {
return clientexported.TypeEvidenceClientMisbehaviour
@ -46,15 +36,9 @@ func (misbehaviour Misbehaviour) String() string {
return string(out)
}
// Hash implements Evidence interface
func (misbehaviour Misbehaviour) Hash() tmbytes.HexBytes {
bz := SubModuleCdc.MustMarshalBinaryBare(&misbehaviour)
return tmhash.Sum(bz)
}
// GetHeight returns the sequence at which misbehaviour occurred.
func (misbehaviour Misbehaviour) GetHeight() int64 {
return int64(misbehaviour.Sequence)
func (misbehaviour Misbehaviour) GetHeight() uint64 {
return misbehaviour.Sequence
}
// ValidateBasic implements Evidence interface.

View File

@ -34,7 +34,7 @@ func (cs ClientState) CheckMisbehaviourAndUpdateState(
return nil, err
}
cs.FrozenSequence = uint64(soloMisbehaviour.GetHeight())
cs.FrozenSequence = soloMisbehaviour.GetHeight()
return cs, nil
}

View File

@ -1,9 +1,6 @@
package types_test
import (
"github.com/tendermint/tendermint/crypto/tmhash"
tmbytes "github.com/tendermint/tendermint/libs/bytes"
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
"github.com/cosmos/cosmos-sdk/x/ibc/light-clients/solomachine/types"
)
@ -13,10 +10,7 @@ func (suite *SoloMachineTestSuite) TestMisbehaviour() {
suite.Require().Equal(clientexported.SoloMachine, misbehaviour.ClientType())
suite.Require().Equal(suite.solomachine.ClientID, misbehaviour.GetClientID())
suite.Require().Equal("client", misbehaviour.Route())
suite.Require().Equal("client_misbehaviour", misbehaviour.Type())
suite.Require().Equal(tmbytes.HexBytes(tmhash.Sum(types.SubModuleCdc.MustMarshalBinaryBare(misbehaviour))), misbehaviour.Hash())
suite.Require().Equal(int64(suite.solomachine.Sequence), misbehaviour.GetHeight())
suite.Require().Equal(suite.solomachine.Sequence, misbehaviour.GetHeight())
}
func (suite *SoloMachineTestSuite) TestMisbehaviourValidateBasic() {

View File

@ -3,16 +3,15 @@ package types
import (
sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
evidenceexported "github.com/cosmos/cosmos-sdk/x/evidence/exported"
clientexported "github.com/cosmos/cosmos-sdk/x/ibc/02-client/exported"
clienttypes "github.com/cosmos/cosmos-sdk/x/ibc/02-client/types"
host "github.com/cosmos/cosmos-sdk/x/ibc/24-host"
)
var (
_ clientexported.MsgCreateClient = &MsgCreateClient{}
_ clientexported.MsgUpdateClient = &MsgUpdateClient{}
_ evidenceexported.MsgSubmitEvidence = &MsgSubmitClientMisbehaviour{}
_ clientexported.MsgCreateClient = &MsgCreateClient{}
_ clientexported.MsgUpdateClient = &MsgUpdateClient{}
_ clientexported.MsgSubmitMisbehaviour = &MsgSubmitClientMisbehaviour{}
)
// NewMsgCreateClient creates a new MsgCreateClient instance
@ -127,7 +126,7 @@ func (msg MsgUpdateClient) GetHeader() clientexported.Header {
// NewMsgSubmitClientMisbehaviour creates a new MsgSubmitClientMisbehaviour
// instance.
func NewMsgSubmitClientMisbehaviour(m *Misbehaviour, s sdk.AccAddress) *MsgSubmitClientMisbehaviour {
return &MsgSubmitClientMisbehaviour{Misbehaviour: m, Submitter: s}
return &MsgSubmitClientMisbehaviour{Misbehaviour: m, Signer: s}
}
// Route returns the MsgSubmitClientMisbehaviour's route.
@ -143,8 +142,8 @@ func (msg MsgSubmitClientMisbehaviour) ValidateBasic() error {
if err := msg.Misbehaviour.ValidateBasic(); err != nil {
return err
}
if msg.Submitter.Empty() {
return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, "submitter address cannot be empty")
if msg.Signer.Empty() {
return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, "signer address cannot be empty")
}
return nil
@ -158,13 +157,9 @@ func (msg MsgSubmitClientMisbehaviour) GetSignBytes() []byte {
// GetSigners returns the single expected signer for a MsgSubmitClientMisbehaviour.
func (msg MsgSubmitClientMisbehaviour) GetSigners() []sdk.AccAddress {
return []sdk.AccAddress{msg.Submitter}
return []sdk.AccAddress{msg.Signer}
}
func (msg MsgSubmitClientMisbehaviour) GetEvidence() evidenceexported.Evidence {
func (msg MsgSubmitClientMisbehaviour) GetMisbehaviour() clientexported.Misbehaviour {
return msg.Misbehaviour
}
func (msg MsgSubmitClientMisbehaviour) GetSubmitter() sdk.AccAddress {
return msg.Submitter
}

View File

@ -351,7 +351,7 @@ var xxx_messageInfo_MsgUpdateClient proto.InternalMessageInfo
// MsgSubmitClientMisbehaviour defines an sdk.Msg type that supports submitting
// arbitrary Misbehaviour.
type MsgSubmitClientMisbehaviour struct {
Submitter github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=submitter,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"submitter,omitempty"`
Signer github_com_cosmos_cosmos_sdk_types.AccAddress `protobuf:"bytes,1,opt,name=signer,proto3,casttype=github.com/cosmos/cosmos-sdk/types.AccAddress" json:"signer,omitempty"`
Misbehaviour *Misbehaviour `protobuf:"bytes,2,opt,name=misbehaviour,proto3" json:"misbehaviour,omitempty"`
}
@ -405,52 +405,52 @@ func init() {
}
var fileDescriptor_6cc2ee18f7f86d4e = []byte{
// 712 bytes of a gzipped FileDescriptorProto
// 710 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x55, 0xcf, 0x6e, 0xd3, 0x4e,
0x10, 0x8e, 0xd3, 0xa8, 0x6a, 0xb6, 0xf9, 0xa5, 0xfd, 0x59, 0x29, 0x0a, 0xa1, 0x8a, 0x2b, 0x4b,
0xa8, 0xbd, 0xc4, 0x96, 0xe1, 0xd6, 0x0b, 0xaa, 0xc3, 0x81, 0x3f, 0xaa, 0x0a, 0x4e, 0x91, 0x10,
0x20, 0x45, 0x6b, 0x7b, 0xeb, 0xac, 0x1a, 0x7b, 0x8d, 0x77, 0x9d, 0x10, 0x9e, 0x00, 0x89, 0x0b,
0x47, 0x8e, 0xbc, 0x00, 0x12, 0x8f, 0xc0, 0x0d, 0x24, 0x24, 0xd4, 0x23, 0xa7, 0x08, 0x35, 0x6f,
0x90, 0x23, 0x27, 0x14, 0xef, 0x26, 0xb1, 0xa3, 0xaa, 0x11, 0x7f, 0x24, 0x4e, 0xde, 0x1d, 0xcf,
0x7c, 0xf3, 0x7d, 0x33, 0xb3, 0xbb, 0xc0, 0xc0, 0xb6, 0xa3, 0x77, 0xb1, 0xd7, 0x61, 0x4e, 0x17,
0xa3, 0x80, 0x51, 0x9d, 0x92, 0x2e, 0xf1, 0xa1, 0xd3, 0xc1, 0x01, 0xd2, 0x7b, 0x46, 0x7a, 0xab,
0x85, 0x11, 0x61, 0x44, 0x56, 0xb0, 0xed, 0x68, 0xe9, 0x10, 0x2d, 0xed, 0xd3, 0x33, 0x6a, 0xbb,
0x0e, 0xa1, 0x3e, 0xa1, 0xba, 0x0d, 0x29, 0xd2, 0x9d, 0x68, 0x10, 0x32, 0xa2, 0xf7, 0x0c, 0x1b,
0x31, 0x68, 0x88, 0x2d, 0x47, 0xaa, 0x55, 0x3c, 0xe2, 0x91, 0x64, 0xa9, 0x4f, 0x56, 0xdc, 0xaa,
0x7e, 0x95, 0xc0, 0x7a, 0x33, 0x41, 0x6e, 0x31, 0xc8, 0x90, 0xdc, 0x04, 0x1b, 0x27, 0x11, 0x79,
0x89, 0x82, 0x36, 0x45, 0xcf, 0x63, 0x14, 0x38, 0xa8, 0x2a, 0xed, 0x48, 0x7b, 0x05, 0xb3, 0x36,
0x1e, 0x2a, 0x57, 0x06, 0xd0, 0xef, 0xee, 0xab, 0x0b, 0x0e, 0xaa, 0x55, 0xe6, 0x96, 0x96, 0x30,
0xc8, 0x0c, 0x6c, 0x38, 0x24, 0xa0, 0x28, 0xa0, 0x31, 0x6d, 0xd3, 0x09, 0x6e, 0x35, 0xbf, 0x23,
0xed, 0xad, 0xdf, 0xd0, 0xb5, 0x25, 0x72, 0xb4, 0xe6, 0x34, 0x2e, 0xa1, 0x93, 0xce, 0xba, 0x80,
0xa8, 0x5a, 0x65, 0x27, 0xe3, 0xbb, 0x5f, 0x78, 0xf5, 0x4e, 0xc9, 0xa9, 0xef, 0x25, 0x50, 0xce,
0x82, 0xc8, 0x35, 0xb0, 0x96, 0x15, 0x63, 0xcd, 0xf6, 0xf2, 0x53, 0x00, 0xc2, 0xd8, 0xee, 0x62,
0xa7, 0x7d, 0x8a, 0x06, 0x82, 0xe5, 0x75, 0x8d, 0xd7, 0x54, 0x9b, 0xd4, 0x54, 0x13, 0x45, 0x14,
0x35, 0xd5, 0x1e, 0x24, 0xde, 0xf7, 0xd1, 0xc0, 0xdc, 0x1a, 0x0f, 0x95, 0xff, 0x39, 0xb7, 0x39,
0x84, 0x6a, 0x15, 0xc3, 0xa9, 0x87, 0xbc, 0x0d, 0x8a, 0x0c, 0xfb, 0x88, 0x32, 0xe8, 0x87, 0xd5,
0x95, 0x24, 0xf3, 0xdc, 0x20, 0xf8, 0x7e, 0x90, 0xc0, 0xea, 0x1d, 0x04, 0x5d, 0x14, 0x5d, 0xca,
0x73, 0x1b, 0x14, 0x29, 0xf6, 0x02, 0xc8, 0xe2, 0x88, 0x17, 0xb3, 0x64, 0xcd, 0x0d, 0xf2, 0x09,
0x28, 0x07, 0xa8, 0xdf, 0x4e, 0x29, 0x59, 0xf9, 0x15, 0x25, 0x57, 0xc7, 0x43, 0x65, 0x8b, 0x2b,
0xc9, 0xc2, 0xa8, 0x56, 0x29, 0x40, 0xfd, 0x99, 0xa3, 0xa0, 0xfc, 0x25, 0x0f, 0x4a, 0x87, 0x98,
0xda, 0xa8, 0x03, 0x7b, 0x98, 0xc4, 0x91, 0x6c, 0x80, 0x22, 0x6f, 0x67, 0x1b, 0xbb, 0x09, 0xf3,
0xa2, 0x59, 0x19, 0x0f, 0x95, 0x4d, 0xd1, 0xb8, 0xe9, 0x2f, 0xd5, 0x5a, 0xe3, 0xeb, 0xbb, 0x6e,
0x46, 0x6b, 0x7e, 0x41, 0x6b, 0x08, 0xfe, 0x9b, 0x49, 0x6b, 0x93, 0x00, 0x09, 0x31, 0xc6, 0xd2,
0xe1, 0x69, 0x4d, 0xa3, 0x0e, 0x02, 0xf7, 0x36, 0x64, 0xd0, 0xac, 0x8e, 0x87, 0x4a, 0x85, 0xb3,
0xc8, 0x20, 0xaa, 0x56, 0x69, 0xb6, 0x3f, 0x0a, 0x16, 0x32, 0xb2, 0x3e, 0xa9, 0x16, 0xfe, 0x6a,
0x46, 0xd6, 0x27, 0xe9, 0x8c, 0xc7, 0x7d, 0xb2, 0xbf, 0x36, 0xa9, 0xe4, 0xdb, 0x49, 0x35, 0xef,
0x81, 0xcd, 0x45, 0x94, 0x6c, 0xb7, 0xa5, 0xc5, 0x6e, 0xcb, 0xa0, 0xe0, 0x42, 0x06, 0xc5, 0x18,
0x24, 0x6b, 0xd1, 0x99, 0xc7, 0xa0, 0x72, 0x3c, 0x9d, 0x2f, 0xe4, 0xce, 0x60, 0x97, 0xe0, 0x65,
0xc6, 0x34, 0x7f, 0xf1, 0x98, 0x7e, 0x94, 0xc0, 0xc6, 0x21, 0xf5, 0x9a, 0x11, 0x82, 0x0c, 0xf1,
0x0b, 0xe3, 0x77, 0xda, 0xfe, 0x2f, 0x6f, 0x86, 0xd7, 0x5c, 0xc2, 0xa3, 0xd0, 0xfd, 0x23, 0x09,
0xb7, 0xc0, 0x6a, 0x27, 0x39, 0xaf, 0x82, 0xf9, 0xee, 0x52, 0xe6, 0xfc, 0x78, 0x5b, 0x22, 0x4c,
0xb0, 0xf9, 0x24, 0x81, 0x6b, 0x87, 0xd4, 0x6b, 0xc5, 0xb6, 0x8f, 0x19, 0x67, 0x93, 0x39, 0x53,
0x47, 0xa0, 0x48, 0x93, 0x7f, 0x0c, 0x45, 0xbc, 0x65, 0xa6, 0xf1, 0x63, 0xa8, 0x34, 0x3c, 0xcc,
0x3a, 0xb1, 0xad, 0x39, 0xc4, 0xd7, 0xc5, 0xcd, 0xcf, 0x3f, 0x0d, 0xea, 0x9e, 0xea, 0x6c, 0x10,
0x22, 0xaa, 0x1d, 0x38, 0xce, 0x81, 0xeb, 0x46, 0x88, 0x52, 0x6b, 0x8e, 0x21, 0x3f, 0x04, 0x25,
0x3f, 0x95, 0x40, 0xb0, 0x6f, 0x2c, 0x65, 0x9f, 0x66, 0x65, 0x65, 0x20, 0xb8, 0x12, 0xf3, 0xd9,
0xe7, 0xf3, 0xba, 0x74, 0x76, 0x5e, 0x97, 0xbe, 0x9f, 0xd7, 0xa5, 0x37, 0xa3, 0x7a, 0xee, 0x6c,
0x54, 0xcf, 0x7d, 0x1b, 0xd5, 0x73, 0x4f, 0xcc, 0x4b, 0xc9, 0xbe, 0xd0, 0x67, 0xcf, 0x61, 0xe3,
0xa2, 0xf7, 0x30, 0x11, 0x63, 0xaf, 0x26, 0xef, 0xd4, 0xcd, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff,
0xec, 0x46, 0x40, 0x5d, 0x3c, 0x07, 0x00, 0x00,
0x10, 0x8e, 0xd3, 0x28, 0x6a, 0xb6, 0xf9, 0xa5, 0xfd, 0x59, 0x29, 0x0a, 0xa1, 0x8a, 0x2b, 0x4b,
0xa8, 0xbd, 0xc4, 0x96, 0xe1, 0xd6, 0x0b, 0xaa, 0xc3, 0x81, 0x82, 0x2a, 0xc0, 0x29, 0x12, 0x02,
0xa4, 0x68, 0x6d, 0x6f, 0x9d, 0x55, 0x63, 0xaf, 0xf1, 0xae, 0x13, 0xc2, 0x13, 0x20, 0x71, 0xe1,
0xc8, 0x91, 0x17, 0x40, 0xe2, 0x11, 0xe0, 0x86, 0x84, 0x84, 0x7a, 0xe4, 0x14, 0xa1, 0xf6, 0x0d,
0x72, 0xe4, 0x84, 0xe2, 0xdd, 0x24, 0x76, 0x54, 0x35, 0xe2, 0x8f, 0xc4, 0xc9, 0xbb, 0xe3, 0x99,
0x6f, 0xbe, 0x6f, 0x66, 0x76, 0x17, 0x18, 0xd8, 0x76, 0xf4, 0x1e, 0xf6, 0xba, 0xcc, 0xe9, 0x61,
0x14, 0x30, 0xaa, 0x53, 0xd2, 0x23, 0x3e, 0x74, 0xba, 0x38, 0x40, 0x7a, 0xdf, 0x48, 0x6f, 0xb5,
0x30, 0x22, 0x8c, 0xc8, 0x0a, 0xb6, 0x1d, 0x2d, 0x1d, 0xa2, 0xa5, 0x7d, 0xfa, 0x46, 0x7d, 0xc7,
0x21, 0xd4, 0x27, 0x54, 0xb7, 0x21, 0x45, 0xba, 0x13, 0x0d, 0x43, 0x46, 0xf4, 0xbe, 0x61, 0x23,
0x06, 0x0d, 0xb1, 0xe5, 0x48, 0xf5, 0xaa, 0x47, 0x3c, 0x92, 0x2c, 0xf5, 0xc9, 0x8a, 0x5b, 0xd5,
0xaf, 0x12, 0x58, 0x6b, 0x25, 0xc8, 0x6d, 0x06, 0x19, 0x92, 0x5b, 0x60, 0xfd, 0x38, 0x22, 0x2f,
0x51, 0xd0, 0xa1, 0xe8, 0x79, 0x8c, 0x02, 0x07, 0xd5, 0xa4, 0x6d, 0x69, 0xb7, 0x60, 0xd6, 0xc7,
0x23, 0xe5, 0xca, 0x10, 0xfa, 0xbd, 0x3d, 0x75, 0xc1, 0x41, 0xb5, 0x2a, 0xdc, 0xd2, 0x16, 0x06,
0x99, 0x81, 0x75, 0x87, 0x04, 0x14, 0x05, 0x34, 0xa6, 0x1d, 0x3a, 0xc1, 0xad, 0xe5, 0xb7, 0xa5,
0xdd, 0xb5, 0x1b, 0xba, 0xb6, 0x44, 0x8e, 0xd6, 0x9a, 0xc6, 0x25, 0x74, 0xd2, 0x59, 0x17, 0x10,
0x55, 0xab, 0xe2, 0x64, 0x7c, 0xf7, 0x0a, 0xaf, 0xde, 0x29, 0x39, 0xf5, 0xbd, 0x04, 0x2a, 0x59,
0x10, 0xb9, 0x0e, 0x56, 0xb3, 0x62, 0xac, 0xd9, 0x5e, 0x7e, 0x0a, 0x40, 0x18, 0xdb, 0x3d, 0xec,
0x74, 0x4e, 0xd0, 0x50, 0xb0, 0xbc, 0xae, 0xf1, 0x9a, 0x6a, 0x93, 0x9a, 0x6a, 0xa2, 0x88, 0xa2,
0xa6, 0xda, 0x83, 0xc4, 0xfb, 0x1e, 0x1a, 0x9a, 0x9b, 0xe3, 0x91, 0xf2, 0x3f, 0xe7, 0x36, 0x87,
0x50, 0xad, 0x52, 0x38, 0xf5, 0x90, 0xb7, 0x40, 0x89, 0x61, 0x1f, 0x51, 0x06, 0xfd, 0xb0, 0xb6,
0x92, 0x64, 0x9e, 0x1b, 0x04, 0xdf, 0x0f, 0x12, 0x28, 0xde, 0x41, 0xd0, 0x45, 0xd1, 0xa5, 0x3c,
0xb7, 0x40, 0x89, 0x62, 0x2f, 0x80, 0x2c, 0x8e, 0x78, 0x31, 0xcb, 0xd6, 0xdc, 0x20, 0x1f, 0x83,
0x4a, 0x80, 0x06, 0x9d, 0x94, 0x92, 0x95, 0x5f, 0x51, 0x72, 0x75, 0x3c, 0x52, 0x36, 0xb9, 0x92,
0x2c, 0x8c, 0x6a, 0x95, 0x03, 0x34, 0x98, 0x39, 0x0a, 0xca, 0x5f, 0xf2, 0xa0, 0x7c, 0x88, 0xa9,
0x8d, 0xba, 0xb0, 0x8f, 0x49, 0x1c, 0xc9, 0x06, 0x28, 0xf1, 0x76, 0x76, 0xb0, 0x9b, 0x30, 0x2f,
0x99, 0xd5, 0xf1, 0x48, 0xd9, 0x10, 0x8d, 0x9b, 0xfe, 0x52, 0xad, 0x55, 0xbe, 0x3e, 0x70, 0x33,
0x5a, 0xf3, 0x0b, 0x5a, 0x43, 0xf0, 0xdf, 0x4c, 0x5a, 0x87, 0x04, 0x48, 0x88, 0x31, 0x96, 0x0e,
0x4f, 0x7b, 0x1a, 0xb5, 0x1f, 0xb8, 0xb7, 0x21, 0x83, 0x66, 0x6d, 0x3c, 0x52, 0xaa, 0x9c, 0x45,
0x06, 0x51, 0xb5, 0xca, 0xb3, 0xfd, 0xfd, 0x60, 0x21, 0x23, 0x1b, 0x90, 0x5a, 0xe1, 0xaf, 0x66,
0x64, 0x03, 0x92, 0xce, 0x78, 0x34, 0x20, 0x7b, 0xab, 0x93, 0x4a, 0xbe, 0x9d, 0x54, 0xf3, 0x2e,
0xd8, 0x58, 0x44, 0xc9, 0x76, 0x5b, 0x5a, 0xec, 0xb6, 0x0c, 0x0a, 0x2e, 0x64, 0x50, 0x8c, 0x41,
0xb2, 0x16, 0x9d, 0x79, 0x0c, 0xaa, 0x47, 0xd3, 0xf9, 0x42, 0xee, 0x0c, 0x76, 0x09, 0x5e, 0x66,
0x4c, 0xf3, 0x17, 0x8f, 0xe9, 0x47, 0x09, 0xac, 0x1f, 0x52, 0xaf, 0x15, 0x21, 0xc8, 0x10, 0xbf,
0x30, 0x7e, 0xa7, 0xed, 0xff, 0xf2, 0x66, 0x78, 0xcd, 0x25, 0x3c, 0x0a, 0xdd, 0x3f, 0x92, 0x70,
0x0b, 0x14, 0xbb, 0xc9, 0x79, 0x15, 0xcc, 0x77, 0x96, 0x32, 0xe7, 0xc7, 0xdb, 0x12, 0x61, 0x82,
0xcd, 0x27, 0x09, 0x5c, 0x3b, 0xa4, 0x5e, 0x3b, 0xb6, 0x7d, 0xcc, 0x38, 0x9b, 0xcc, 0x99, 0x3a,
0x00, 0xc5, 0x49, 0x87, 0x50, 0xc4, 0xfb, 0x65, 0x1a, 0x3f, 0x46, 0x4a, 0xd3, 0xc3, 0xac, 0x1b,
0xdb, 0x9a, 0x43, 0x7c, 0x5d, 0x5c, 0xfb, 0xfc, 0xd3, 0xa4, 0xee, 0x89, 0xce, 0x86, 0x21, 0xa2,
0xda, 0xbe, 0xe3, 0xec, 0xbb, 0x6e, 0x84, 0x28, 0xb5, 0x04, 0x80, 0xfc, 0x10, 0x94, 0xfd, 0x14,
0xb4, 0xe0, 0xdd, 0x5c, 0xca, 0x3b, 0xcd, 0xc7, 0xca, 0x40, 0x70, 0x0d, 0xe6, 0xb3, 0xcf, 0x67,
0x0d, 0xe9, 0xf4, 0xac, 0x21, 0x7d, 0x3f, 0x6b, 0x48, 0x6f, 0xce, 0x1b, 0xb9, 0xd3, 0xf3, 0x46,
0xee, 0xdb, 0x79, 0x23, 0xf7, 0xc4, 0xbc, 0x94, 0xe9, 0x0b, 0x7d, 0xf6, 0x10, 0x36, 0x2f, 0x7a,
0x09, 0x13, 0x25, 0x76, 0x31, 0x79, 0xa1, 0x6e, 0xfe, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x92, 0xa4,
0xec, 0xff, 0x36, 0x07, 0x00, 0x00,
}
func (m *ClientState) Marshal() (dAtA []byte, err error) {
@ -832,10 +832,10 @@ func (m *MsgSubmitClientMisbehaviour) MarshalToSizedBuffer(dAtA []byte) (int, er
i--
dAtA[i] = 0x12
}
if len(m.Submitter) > 0 {
i -= len(m.Submitter)
copy(dAtA[i:], m.Submitter)
i = encodeVarintSolomachine(dAtA, i, uint64(len(m.Submitter)))
if len(m.Signer) > 0 {
i -= len(m.Signer)
copy(dAtA[i:], m.Signer)
i = encodeVarintSolomachine(dAtA, i, uint64(len(m.Signer)))
i--
dAtA[i] = 0xa
}
@ -1005,7 +1005,7 @@ func (m *MsgSubmitClientMisbehaviour) Size() (n int) {
}
var l int
_ = l
l = len(m.Submitter)
l = len(m.Signer)
if l > 0 {
n += 1 + l + sovSolomachine(uint64(l))
}
@ -2075,7 +2075,7 @@ func (m *MsgSubmitClientMisbehaviour) Unmarshal(dAtA []byte) error {
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Submitter", wireType)
return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
@ -2102,9 +2102,9 @@ func (m *MsgSubmitClientMisbehaviour) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Submitter = append(m.Submitter[:0], dAtA[iNdEx:postIndex]...)
if m.Submitter == nil {
m.Submitter = []byte{}
m.Signer = append(m.Signer[:0], dAtA[iNdEx:postIndex]...)
if m.Signer == nil {
m.Signer = []byte{}
}
iNdEx = postIndex
case 2: