46 lines
1.8 KiB
Protocol Buffer
46 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
package ibc.core.client.v1;
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/x/ibc/core/02-client/types";
|
|
|
|
import "ibc/core/client/v1/client.proto";
|
|
import "gogoproto/gogo.proto";
|
|
|
|
// GenesisState defines the ibc client submodule's genesis state.
|
|
message GenesisState {
|
|
// client states with their corresponding identifiers
|
|
repeated IdentifiedClientState clients = 1
|
|
[(gogoproto.nullable) = false, (gogoproto.castrepeated) = "IdentifiedClientStates"];
|
|
// consensus states from each client
|
|
repeated ClientConsensusStates clients_consensus = 2 [
|
|
(gogoproto.nullable) = false,
|
|
(gogoproto.castrepeated) = "ClientsConsensusStates",
|
|
(gogoproto.moretags) = "yaml:\"clients_consensus\""
|
|
];
|
|
// metadata from each client
|
|
repeated IdentifiedGenesisMetadata clients_metadata = 3
|
|
[(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"clients_metadata\""];
|
|
Params params = 4 [(gogoproto.nullable) = false];
|
|
// create localhost on initialization
|
|
bool create_localhost = 5 [(gogoproto.moretags) = "yaml:\"create_localhost\""];
|
|
// the sequence for the next generated client identifier
|
|
uint64 next_client_sequence = 6 [(gogoproto.moretags) = "yaml:\"next_client_sequence\""];
|
|
}
|
|
|
|
// GenesisMetadata defines the genesis type for metadata that clients may return
|
|
// with ExportMetadata
|
|
message GenesisMetadata {
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
// store key of metadata without clientID-prefix
|
|
bytes key = 1;
|
|
// metadata value
|
|
bytes value = 2;
|
|
}
|
|
|
|
// IdentifiedGenesisMetadata has the client metadata with the corresponding client id.
|
|
message IdentifiedGenesisMetadata {
|
|
string client_id = 1 [(gogoproto.moretags) = "yaml:\"client_id\""];
|
|
repeated GenesisMetadata client_metadata = 2
|
|
[(gogoproto.nullable) = false, (gogoproto.moretags) = "yaml:\"client_metadata\""];
|
|
} |