#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MspPrincipal {
#[prost(enumeration = "msp_principal::Classification", tag = "1")]
pub principal_classification: i32,
#[prost(bytes = "vec", tag = "2")]
pub principal: ::prost::alloc::vec::Vec<u8>,
}
pub mod msp_principal {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Classification {
Role = 0,
OrganizationUnit = 1,
Identity = 2,
Anonymity = 3,
Combined = 4,
}
impl Classification {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Role => "ROLE",
Self::OrganizationUnit => "ORGANIZATION_UNIT",
Self::Identity => "IDENTITY",
Self::Anonymity => "ANONYMITY",
Self::Combined => "COMBINED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ROLE" => Some(Self::Role),
"ORGANIZATION_UNIT" => Some(Self::OrganizationUnit),
"IDENTITY" => Some(Self::Identity),
"ANONYMITY" => Some(Self::Anonymity),
"COMBINED" => Some(Self::Combined),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OrganizationUnit {
#[prost(string, tag = "1")]
pub msp_identifier: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub organizational_unit_identifier: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "3")]
pub certifiers_identifier: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MspRole {
#[prost(string, tag = "1")]
pub msp_identifier: ::prost::alloc::string::String,
#[prost(enumeration = "msp_role::MspRoleType", tag = "2")]
pub role: i32,
}
pub mod msp_role {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum MspRoleType {
Member = 0,
Admin = 1,
Client = 2,
Peer = 3,
Orderer = 4,
}
impl MspRoleType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Member => "MEMBER",
Self::Admin => "ADMIN",
Self::Client => "CLIENT",
Self::Peer => "PEER",
Self::Orderer => "ORDERER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MEMBER" => Some(Self::Member),
"ADMIN" => Some(Self::Admin),
"CLIENT" => Some(Self::Client),
"PEER" => Some(Self::Peer),
"ORDERER" => Some(Self::Orderer),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MspIdentityAnonymity {
#[prost(enumeration = "msp_identity_anonymity::MspIdentityAnonymityType", tag = "1")]
pub anonymity_type: i32,
}
pub mod msp_identity_anonymity {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum MspIdentityAnonymityType {
Nominal = 0,
Anonymous = 1,
}
impl MspIdentityAnonymityType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Nominal => "NOMINAL",
Self::Anonymous => "ANONYMOUS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NOMINAL" => Some(Self::Nominal),
"ANONYMOUS" => Some(Self::Anonymous),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CombinedPrincipal {
#[prost(message, repeated, tag = "1")]
pub principals: ::prost::alloc::vec::Vec<MspPrincipal>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Policy {
#[prost(int32, tag = "1")]
pub r#type: i32,
#[prost(bytes = "vec", tag = "2")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
pub mod policy {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum PolicyType {
Unknown = 0,
Signature = 1,
Msp = 2,
ImplicitMeta = 3,
}
impl PolicyType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Signature => "SIGNATURE",
Self::Msp => "MSP",
Self::ImplicitMeta => "IMPLICIT_META",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"SIGNATURE" => Some(Self::Signature),
"MSP" => Some(Self::Msp),
"IMPLICIT_META" => Some(Self::ImplicitMeta),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignaturePolicyEnvelope {
#[prost(int32, tag = "1")]
pub version: i32,
#[prost(message, optional, tag = "2")]
pub rule: ::core::option::Option<SignaturePolicy>,
#[prost(message, repeated, tag = "3")]
pub identities: ::prost::alloc::vec::Vec<MspPrincipal>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignaturePolicy {
#[prost(oneof = "signature_policy::Type", tags = "1, 2")]
pub r#type: ::core::option::Option<signature_policy::Type>,
}
pub mod signature_policy {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NOutOf {
#[prost(int32, tag = "1")]
pub n: i32,
#[prost(message, repeated, tag = "2")]
pub rules: ::prost::alloc::vec::Vec<super::SignaturePolicy>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Type {
#[prost(int32, tag = "1")]
SignedBy(i32),
#[prost(message, tag = "2")]
NOutOf(NOutOf),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ImplicitMetaPolicy {
#[prost(string, tag = "1")]
pub sub_policy: ::prost::alloc::string::String,
#[prost(enumeration = "implicit_meta_policy::Rule", tag = "2")]
pub rule: i32,
}
pub mod implicit_meta_policy {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Rule {
Any = 0,
All = 1,
Majority = 2,
}
impl Rule {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Any => "ANY",
Self::All => "ALL",
Self::Majority => "MAJORITY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ANY" => Some(Self::Any),
"ALL" => Some(Self::All),
"MAJORITY" => Some(Self::Majority),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApplicationPolicy {
#[prost(oneof = "application_policy::Type", tags = "1, 2")]
pub r#type: ::core::option::Option<application_policy::Type>,
}
pub mod application_policy {
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Type {
#[prost(message, tag = "1")]
SignaturePolicy(super::SignaturePolicyEnvelope),
#[prost(string, tag = "2")]
ChannelConfigPolicyReference(::prost::alloc::string::String),
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LastConfig {
#[prost(uint64, tag = "1")]
pub index: u64,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Metadata {
#[prost(bytes = "vec", tag = "1")]
pub value: ::prost::alloc::vec::Vec<u8>,
#[prost(message, repeated, tag = "2")]
pub signatures: ::prost::alloc::vec::Vec<MetadataSignature>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MetadataSignature {
#[prost(bytes = "vec", tag = "1")]
pub signature_header: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub signature: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "3")]
pub identifier_header: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IdentifierHeader {
#[prost(uint32, tag = "1")]
pub identifier: u32,
#[prost(bytes = "vec", tag = "2")]
pub nonce: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Header {
#[prost(bytes = "vec", tag = "1")]
pub channel_header: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub signature_header: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChannelHeader {
#[prost(int32, tag = "1")]
pub r#type: i32,
#[prost(int32, tag = "2")]
pub version: i32,
#[prost(message, optional, tag = "3")]
pub timestamp: ::core::option::Option<crate::fabric::google_protobuf::Timestamp>,
#[prost(string, tag = "4")]
pub channel_id: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub tx_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "6")]
pub epoch: u64,
#[prost(bytes = "vec", tag = "7")]
pub extension: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "8")]
pub tls_cert_hash: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SignatureHeader {
#[prost(bytes = "vec", tag = "1")]
pub creator: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub nonce: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Payload {
#[prost(message, optional, tag = "1")]
pub header: ::core::option::Option<Header>,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Envelope {
#[prost(bytes = "vec", tag = "1")]
pub payload: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Block {
#[prost(message, optional, tag = "1")]
pub header: ::core::option::Option<BlockHeader>,
#[prost(message, optional, tag = "2")]
pub data: ::core::option::Option<BlockData>,
#[prost(message, optional, tag = "3")]
pub metadata: ::core::option::Option<BlockMetadata>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BlockHeader {
#[prost(uint64, tag = "1")]
pub number: u64,
#[prost(bytes = "vec", tag = "2")]
pub previous_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "3")]
pub data_hash: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BlockData {
#[prost(bytes = "vec", repeated, tag = "1")]
pub data: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BlockMetadata {
#[prost(bytes = "vec", repeated, tag = "1")]
pub metadata: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OrdererBlockMetadata {
#[prost(message, optional, tag = "1")]
pub last_config: ::core::option::Option<LastConfig>,
#[prost(bytes = "vec", tag = "2")]
pub consenter_metadata: ::prost::alloc::vec::Vec<u8>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Status {
Unknown = 0,
Success = 200,
BadRequest = 400,
Forbidden = 403,
NotFound = 404,
RequestEntityTooLarge = 413,
InternalServerError = 500,
NotImplemented = 501,
ServiceUnavailable = 503,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Success => "SUCCESS",
Self::BadRequest => "BAD_REQUEST",
Self::Forbidden => "FORBIDDEN",
Self::NotFound => "NOT_FOUND",
Self::RequestEntityTooLarge => "REQUEST_ENTITY_TOO_LARGE",
Self::InternalServerError => "INTERNAL_SERVER_ERROR",
Self::NotImplemented => "NOT_IMPLEMENTED",
Self::ServiceUnavailable => "SERVICE_UNAVAILABLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"SUCCESS" => Some(Self::Success),
"BAD_REQUEST" => Some(Self::BadRequest),
"FORBIDDEN" => Some(Self::Forbidden),
"NOT_FOUND" => Some(Self::NotFound),
"REQUEST_ENTITY_TOO_LARGE" => Some(Self::RequestEntityTooLarge),
"INTERNAL_SERVER_ERROR" => Some(Self::InternalServerError),
"NOT_IMPLEMENTED" => Some(Self::NotImplemented),
"SERVICE_UNAVAILABLE" => Some(Self::ServiceUnavailable),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HeaderType {
Message = 0,
Config = 1,
ConfigUpdate = 2,
EndorserTransaction = 3,
#[deprecated]
OrdererTransaction = 4,
DeliverSeekInfo = 5,
ChaincodePackage = 6,
}
impl HeaderType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Message => "MESSAGE",
Self::Config => "CONFIG",
Self::ConfigUpdate => "CONFIG_UPDATE",
Self::EndorserTransaction => "ENDORSER_TRANSACTION",
#[allow(deprecated)]
Self::OrdererTransaction => "ORDERER_TRANSACTION",
Self::DeliverSeekInfo => "DELIVER_SEEK_INFO",
Self::ChaincodePackage => "CHAINCODE_PACKAGE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MESSAGE" => Some(Self::Message),
"CONFIG" => Some(Self::Config),
"CONFIG_UPDATE" => Some(Self::ConfigUpdate),
"ENDORSER_TRANSACTION" => Some(Self::EndorserTransaction),
"ORDERER_TRANSACTION" => Some(#[allow(deprecated)] Self::OrdererTransaction),
"DELIVER_SEEK_INFO" => Some(Self::DeliverSeekInfo),
"CHAINCODE_PACKAGE" => Some(Self::ChaincodePackage),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BlockMetadataIndex {
Signatures = 0,
#[deprecated]
LastConfig = 1,
TransactionsFilter = 2,
#[deprecated]
Orderer = 3,
CommitHash = 4,
}
impl BlockMetadataIndex {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Signatures => "SIGNATURES",
#[allow(deprecated)]
Self::LastConfig => "LAST_CONFIG",
Self::TransactionsFilter => "TRANSACTIONS_FILTER",
#[allow(deprecated)]
Self::Orderer => "ORDERER",
Self::CommitHash => "COMMIT_HASH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIGNATURES" => Some(Self::Signatures),
"LAST_CONFIG" => Some(#[allow(deprecated)] Self::LastConfig),
"TRANSACTIONS_FILTER" => Some(Self::TransactionsFilter),
"ORDERER" => Some(#[allow(deprecated)] Self::Orderer),
"COMMIT_HASH" => Some(Self::CommitHash),
_ => None,
}
}
}