2020-11-11 03:07:29 -08:00
|
|
|
syntax = "proto3";
|
|
|
|
package ibc.core.client.v1;
|
|
|
|
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/x/ibc/core/02-client/types";
|
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
import "google/protobuf/any.proto";
|
|
|
|
import "ibc/core/client/v1/client.proto";
|
|
|
|
|
|
|
|
// Msg defines the ibc/client Msg service.
|
|
|
|
service Msg {
|
|
|
|
// CreateClient defines a rpc handler method for MsgCreateClient.
|
|
|
|
rpc CreateClient(MsgCreateClient) returns (MsgCreateClientResponse);
|
|
|
|
|
|
|
|
// UpdateClient defines a rpc handler method for MsgUpdateClient.
|
|
|
|
rpc UpdateClient(MsgUpdateClient) returns (MsgUpdateClientResponse);
|
|
|
|
|
|
|
|
// UpgradeClient defines a rpc handler method for MsgUpgradeClient.
|
|
|
|
rpc UpgradeClient(MsgUpgradeClient) returns (MsgUpgradeClientResponse);
|
|
|
|
|
|
|
|
// SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour.
|
|
|
|
rpc SubmitMisbehaviour(MsgSubmitMisbehaviour) returns (MsgSubmitMisbehaviourResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgCreateClient defines a message to create an IBC client
|
|
|
|
message MsgCreateClient {
|
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
// light client state
|
2020-11-30 07:52:45 -08:00
|
|
|
google.protobuf.Any client_state = 1 [(gogoproto.moretags) = "yaml:\"client_state\""];
|
2020-11-11 03:07:29 -08:00
|
|
|
// consensus state associated with the client that corresponds to a given
|
|
|
|
// height.
|
2020-11-30 07:52:45 -08:00
|
|
|
google.protobuf.Any consensus_state = 2 [(gogoproto.moretags) = "yaml:\"consensus_state\""];
|
2020-11-11 03:07:29 -08:00
|
|
|
// signer address
|
2020-11-30 07:52:45 -08:00
|
|
|
string signer = 3;
|
2020-11-11 03:07:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgCreateClientResponse defines the Msg/CreateClient response type.
|
2020-11-13 08:36:58 -08:00
|
|
|
message MsgCreateClientResponse {}
|
2020-11-11 03:07:29 -08:00
|
|
|
|
|
|
|
// MsgUpdateClient defines an sdk.Msg to update a IBC client state using
|
|
|
|
// the given header.
|
|
|
|
message MsgUpdateClient {
|
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
// client unique identifier
|
|
|
|
string client_id = 1 [(gogoproto.moretags) = "yaml:\"client_id\""];
|
|
|
|
// header to update the light client
|
|
|
|
google.protobuf.Any header = 2;
|
|
|
|
// signer address
|
|
|
|
string signer = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgUpdateClientResponse defines the Msg/UpdateClient response type.
|
2020-11-13 08:36:58 -08:00
|
|
|
message MsgUpdateClientResponse {}
|
2020-11-11 03:07:29 -08:00
|
|
|
|
|
|
|
// MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client state
|
|
|
|
message MsgUpgradeClient {
|
2020-11-24 03:45:33 -08:00
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
2020-11-11 03:07:29 -08:00
|
|
|
// client unique identifier
|
|
|
|
string client_id = 1 [(gogoproto.moretags) = "yaml:\"client_id\""];
|
|
|
|
// upgraded client state
|
|
|
|
google.protobuf.Any client_state = 2 [(gogoproto.moretags) = "yaml:\"client_state\""];
|
2020-11-24 03:45:33 -08:00
|
|
|
// upgraded consensus state, only contains enough information to serve as a basis of trust in update logic
|
|
|
|
google.protobuf.Any consensus_state = 3 [(gogoproto.moretags) = "yaml:\"consensus_state\""];
|
2020-11-11 03:07:29 -08:00
|
|
|
// proof that old chain committed to new client
|
2020-11-24 03:45:33 -08:00
|
|
|
bytes proof_upgrade_client = 4 [(gogoproto.moretags) = "yaml:\"proof_upgrade_client\""];
|
|
|
|
// proof that old chain committed to new consensus state
|
|
|
|
bytes proof_upgrade_consensus_state = 5 [(gogoproto.moretags) = "yaml:\"proof_upgrade_consensus_state\""];
|
2020-11-11 03:07:29 -08:00
|
|
|
// signer address
|
2020-11-24 03:45:33 -08:00
|
|
|
string signer = 6;
|
2020-11-11 03:07:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.
|
2020-11-13 08:36:58 -08:00
|
|
|
message MsgUpgradeClientResponse {}
|
2020-11-11 03:07:29 -08:00
|
|
|
|
|
|
|
// MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for
|
|
|
|
// light client misbehaviour.
|
|
|
|
message MsgSubmitMisbehaviour {
|
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
// client unique identifier
|
|
|
|
string client_id = 1 [(gogoproto.moretags) = "yaml:\"client_id\""];
|
|
|
|
// misbehaviour used for freezing the light client
|
|
|
|
google.protobuf.Any misbehaviour = 2;
|
|
|
|
// signer address
|
|
|
|
string signer = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response type.
|
2020-11-13 08:36:58 -08:00
|
|
|
message MsgSubmitMisbehaviourResponse {}
|