mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 11:17:28 +00:00 
			
		
		
		
	* sync all third party proto definitions * update cosmos swagger for new imported third party protos
		
			
				
	
	
		
			219 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			219 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
// Since: cosmos-sdk 0.43
 | 
						|
syntax = "proto3";
 | 
						|
package cosmos.base.reflection.v2alpha1;
 | 
						|
 | 
						|
import "google/api/annotations.proto";
 | 
						|
 | 
						|
option go_package = "github.com/cosmos/cosmos-sdk/server/grpc/reflection/v2alpha1";
 | 
						|
 | 
						|
// AppDescriptor describes a cosmos-sdk based application
 | 
						|
message AppDescriptor {
 | 
						|
  // AuthnDescriptor provides information on how to authenticate transactions on the application
 | 
						|
  // NOTE: experimental and subject to change in future releases.
 | 
						|
  AuthnDescriptor authn = 1;
 | 
						|
  // chain provides the chain descriptor
 | 
						|
  ChainDescriptor chain = 2;
 | 
						|
  // codec provides metadata information regarding codec related types
 | 
						|
  CodecDescriptor codec = 3;
 | 
						|
  // configuration provides metadata information regarding the sdk.Config type
 | 
						|
  ConfigurationDescriptor configuration = 4;
 | 
						|
  // query_services provides metadata information regarding the available queriable endpoints
 | 
						|
  QueryServicesDescriptor query_services = 5;
 | 
						|
  // tx provides metadata information regarding how to send transactions to the given application
 | 
						|
  TxDescriptor tx = 6;
 | 
						|
}
 | 
						|
 | 
						|
// TxDescriptor describes the accepted transaction type
 | 
						|
message TxDescriptor {
 | 
						|
  // fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type)
 | 
						|
  // it is not meant to support polymorphism of transaction types, it is supposed to be used by
 | 
						|
  // reflection clients to understand if they can handle a specific transaction type in an application.
 | 
						|
  string fullname = 1;
 | 
						|
  // msgs lists the accepted application messages (sdk.Msg)
 | 
						|
  repeated MsgDescriptor msgs = 2;
 | 
						|
}
 | 
						|
 | 
						|
// AuthnDescriptor provides information on how to sign transactions without relying
 | 
						|
// on the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures
 | 
						|
message AuthnDescriptor {
 | 
						|
  // sign_modes defines the supported signature algorithm
 | 
						|
  repeated SigningModeDescriptor sign_modes = 1;
 | 
						|
}
 | 
						|
 | 
						|
// SigningModeDescriptor provides information on a signing flow of the application
 | 
						|
// NOTE(fdymylja): here we could go as far as providing an entire flow on how
 | 
						|
// to sign a message given a SigningModeDescriptor, but it's better to think about
 | 
						|
// this another time
 | 
						|
message SigningModeDescriptor {
 | 
						|
  // name defines the unique name of the signing mode
 | 
						|
  string name = 1;
 | 
						|
  // number is the unique int32 identifier for the sign_mode enum
 | 
						|
  int32 number = 2;
 | 
						|
  // authn_info_provider_method_fullname defines the fullname of the method to call to get
 | 
						|
  // the metadata required to authenticate using the provided sign_modes
 | 
						|
  string authn_info_provider_method_fullname = 3;
 | 
						|
}
 | 
						|
 | 
						|
// ChainDescriptor describes chain information of the application
 | 
						|
message ChainDescriptor {
 | 
						|
  // id is the chain id
 | 
						|
  string id = 1;
 | 
						|
}
 | 
						|
 | 
						|
// CodecDescriptor describes the registered interfaces and provides metadata information on the types
 | 
						|
message CodecDescriptor {
 | 
						|
  // interfaces is a list of the registerted interfaces descriptors
 | 
						|
  repeated InterfaceDescriptor interfaces = 1;
 | 
						|
}
 | 
						|
 | 
						|
// InterfaceDescriptor describes the implementation of an interface
 | 
						|
message InterfaceDescriptor {
 | 
						|
  // fullname is the name of the interface
 | 
						|
  string fullname = 1;
 | 
						|
  // interface_accepting_messages contains information regarding the proto messages which contain the interface as
 | 
						|
  // google.protobuf.Any field
 | 
						|
  repeated InterfaceAcceptingMessageDescriptor interface_accepting_messages = 2;
 | 
						|
  // interface_implementers is a list of the descriptors of the interface implementers
 | 
						|
  repeated InterfaceImplementerDescriptor interface_implementers = 3;
 | 
						|
}
 | 
						|
 | 
						|
// InterfaceImplementerDescriptor describes an interface implementer
 | 
						|
message InterfaceImplementerDescriptor {
 | 
						|
  // fullname is the protobuf queryable name of the interface implementer
 | 
						|
  string fullname = 1;
 | 
						|
  // type_url defines the type URL used when marshalling the type as any
 | 
						|
  // this is required so we can provide type safe google.protobuf.Any marshalling and
 | 
						|
  // unmarshalling, making sure that we don't accept just 'any' type
 | 
						|
  // in our interface fields
 | 
						|
  string type_url = 2;
 | 
						|
}
 | 
						|
 | 
						|
// InterfaceAcceptingMessageDescriptor describes a protobuf message which contains
 | 
						|
// an interface represented as a google.protobuf.Any
 | 
						|
message InterfaceAcceptingMessageDescriptor {
 | 
						|
  // fullname is the protobuf fullname of the type containing the interface
 | 
						|
  string fullname = 1;
 | 
						|
  // field_descriptor_names is a list of the protobuf name (not fullname) of the field
 | 
						|
  // which contains the interface as google.protobuf.Any (the interface is the same, but
 | 
						|
  // it can be in multiple fields of the same proto message)
 | 
						|
  repeated string field_descriptor_names = 2;
 | 
						|
}
 | 
						|
 | 
						|
// ConfigurationDescriptor contains metadata information on the sdk.Config
 | 
						|
message ConfigurationDescriptor {
 | 
						|
  // bech32_account_address_prefix is the account address prefix
 | 
						|
  string bech32_account_address_prefix = 1;
 | 
						|
}
 | 
						|
 | 
						|
// MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction
 | 
						|
message MsgDescriptor {
 | 
						|
  // msg_type_url contains the TypeURL of a sdk.Msg.
 | 
						|
  string msg_type_url = 1;
 | 
						|
}
 | 
						|
 | 
						|
// ReflectionService defines a service for application reflection.
 | 
						|
service ReflectionService {
 | 
						|
  // GetAuthnDescriptor returns information on how to authenticate transactions in the application
 | 
						|
  // NOTE: this RPC is still experimental and might be subject to breaking changes or removal in
 | 
						|
  // future releases of the cosmos-sdk.
 | 
						|
  rpc GetAuthnDescriptor(GetAuthnDescriptorRequest) returns (GetAuthnDescriptorResponse) {
 | 
						|
    option (google.api.http).get = "/cosmos/base/reflection/v1beta1/app_descriptor/authn";
 | 
						|
  }
 | 
						|
  // GetChainDescriptor returns the description of the chain
 | 
						|
  rpc GetChainDescriptor(GetChainDescriptorRequest) returns (GetChainDescriptorResponse) {
 | 
						|
    option (google.api.http).get = "/cosmos/base/reflection/v1beta1/app_descriptor/chain";
 | 
						|
  };
 | 
						|
  // GetCodecDescriptor returns the descriptor of the codec of the application
 | 
						|
  rpc GetCodecDescriptor(GetCodecDescriptorRequest) returns (GetCodecDescriptorResponse) {
 | 
						|
    option (google.api.http).get = "/cosmos/base/reflection/v1beta1/app_descriptor/codec";
 | 
						|
  }
 | 
						|
  // GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application
 | 
						|
  rpc GetConfigurationDescriptor(GetConfigurationDescriptorRequest) returns (GetConfigurationDescriptorResponse) {
 | 
						|
    option (google.api.http).get = "/cosmos/base/reflection/v1beta1/app_descriptor/configuration";
 | 
						|
  }
 | 
						|
  // GetQueryServicesDescriptor returns the available gRPC queryable services of the application
 | 
						|
  rpc GetQueryServicesDescriptor(GetQueryServicesDescriptorRequest) returns (GetQueryServicesDescriptorResponse) {
 | 
						|
    option (google.api.http).get = "/cosmos/base/reflection/v1beta1/app_descriptor/query_services";
 | 
						|
  }
 | 
						|
  // GetTxDescriptor returns information on the used transaction object and available msgs that can be used
 | 
						|
  rpc GetTxDescriptor(GetTxDescriptorRequest) returns (GetTxDescriptorResponse) {
 | 
						|
    option (google.api.http).get = "/cosmos/base/reflection/v1beta1/app_descriptor/tx_descriptor";
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
// GetAuthnDescriptorRequest is the request used for the GetAuthnDescriptor RPC
 | 
						|
message GetAuthnDescriptorRequest {}
 | 
						|
// GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC
 | 
						|
message GetAuthnDescriptorResponse {
 | 
						|
  // authn describes how to authenticate to the application when sending transactions
 | 
						|
  AuthnDescriptor authn = 1;
 | 
						|
}
 | 
						|
 | 
						|
// GetChainDescriptorRequest is the request used for the GetChainDescriptor RPC
 | 
						|
message GetChainDescriptorRequest {}
 | 
						|
// GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC
 | 
						|
message GetChainDescriptorResponse {
 | 
						|
  // chain describes application chain information
 | 
						|
  ChainDescriptor chain = 1;
 | 
						|
}
 | 
						|
 | 
						|
// GetCodecDescriptorRequest is the request used for the GetCodecDescriptor RPC
 | 
						|
message GetCodecDescriptorRequest {}
 | 
						|
// GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC
 | 
						|
message GetCodecDescriptorResponse {
 | 
						|
  // codec describes the application codec such as registered interfaces and implementations
 | 
						|
  CodecDescriptor codec = 1;
 | 
						|
}
 | 
						|
 | 
						|
// GetConfigurationDescriptorRequest is the request used for the GetConfigurationDescriptor RPC
 | 
						|
message GetConfigurationDescriptorRequest {}
 | 
						|
// GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC
 | 
						|
message GetConfigurationDescriptorResponse {
 | 
						|
  // config describes the application's sdk.Config
 | 
						|
  ConfigurationDescriptor config = 1;
 | 
						|
}
 | 
						|
 | 
						|
// GetQueryServicesDescriptorRequest is the request used for the GetQueryServicesDescriptor RPC
 | 
						|
message GetQueryServicesDescriptorRequest {}
 | 
						|
// GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC
 | 
						|
message GetQueryServicesDescriptorResponse {
 | 
						|
  // queries provides information on the available queryable services
 | 
						|
  QueryServicesDescriptor queries = 1;
 | 
						|
}
 | 
						|
 | 
						|
// GetTxDescriptorRequest is the request used for the GetTxDescriptor RPC
 | 
						|
message GetTxDescriptorRequest {}
 | 
						|
// GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC
 | 
						|
message GetTxDescriptorResponse {
 | 
						|
  // tx provides information on msgs that can be forwarded to the application
 | 
						|
  // alongside the accepted transaction protobuf type
 | 
						|
  TxDescriptor tx = 1;
 | 
						|
}
 | 
						|
 | 
						|
// QueryServicesDescriptor contains the list of cosmos-sdk queriable services
 | 
						|
message QueryServicesDescriptor {
 | 
						|
  // query_services is a list of cosmos-sdk QueryServiceDescriptor
 | 
						|
  repeated QueryServiceDescriptor query_services = 1;
 | 
						|
}
 | 
						|
 | 
						|
// QueryServiceDescriptor describes a cosmos-sdk queryable service
 | 
						|
message QueryServiceDescriptor {
 | 
						|
  // fullname is the protobuf fullname of the service descriptor
 | 
						|
  string fullname = 1;
 | 
						|
  // is_module describes if this service is actually exposed by an application's module
 | 
						|
  bool is_module = 2;
 | 
						|
  // methods provides a list of query service methods
 | 
						|
  repeated QueryMethodDescriptor methods = 3;
 | 
						|
}
 | 
						|
 | 
						|
// QueryMethodDescriptor describes a queryable method of a query service
 | 
						|
// no other info is provided beside method name and tendermint queryable path
 | 
						|
// because it would be redundant with the grpc reflection service
 | 
						|
message QueryMethodDescriptor {
 | 
						|
  // name is the protobuf name (not fullname) of the method
 | 
						|
  string name = 1;
 | 
						|
  // full_query_path is the path that can be used to query
 | 
						|
  // this method via tendermint abci.Query
 | 
						|
  string full_query_path = 2;
 | 
						|
}
 |