diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1901748 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +#SPDX-License-Identifier: Apache-2.0 + +.DS_Store +*~ +*# +.#* +.*.sw* diff --git a/.whitelist b/.whitelist new file mode 100644 index 0000000..6ed303d --- /dev/null +++ b/.whitelist @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: Apache-2.0 +.gitignore +.whitelist +CODE_OF_CONDUCT.md +CONTRIBUTING.md +LICENSE +README.md +azure-pipelines.yml +go.mod diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..279bbf7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,7 @@ +Code of Conduct Guidelines +========================== + +Please review the Hyperledger [Code of Conduct](https://wiki.hyperledger.org/community/hyperledger-project-code-of-conduct) +before participating. It is important that we keep things civil. + +Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e45e00c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,7 @@ +## Contributing + +We welcome contributions to the Hyperledger Fabric Project in many forms, and there's always plenty to do! + +Please visit the [contributors guide](http://hyperledger-fabric.readthedocs.io/en/latest/CONTRIBUTING.html) in the docs to learn how to make contributions to this exciting project. + +Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a180f51 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Hyperledger Fabric gRPC and Protocol Buffer Bindings for go + +This repository contains the Hyperledger Fabric [grpc] service and [protocol +buffer][protobuf] bindings for [go]. + +## Community + +We welcome contributions to the Hyperledger Fabric project in many forms. +There’s always plenty to do! Check the documentation on +[how to contribute][contributing] to this project for the full details. + +- [Hyperledger Community](https://www.hyperledger.org/community) +- [Hyperledger mailing lists and archives](http://lists.hyperledger.org/) +- [Hyperledger Chat](http://chat.hyperledger.org/channel/fabric) +- [Hyperledger Fabric Issue Tracking (JIRA)](https://jira.hyperledger.org/secure/Dashboard.jspa?selectPageId=10104) +- [Hyperledger Fabric Wiki](https://wiki.hyperledger.org/display/Fabric) +- [Hyperledger Wiki](https://wiki.hyperledger.org/) +- [Hyperledger Code of Conduct](https://wiki.hyperledger.org/display/HYP/Hyperledger+Code+of+Conduct) + +## License + +Hyperledger Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the [LICENSE](LICENSE) file. Hyperledger Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/. + +[contributing]: https://hyperledger-fabric.readthedocs.io/en/latest/CONTRIBUTING.html +[go]: https://golang.org/ +[grpc]: https://grpc.io/docs/guides/ +[protobuf]: https://github.com/protocolbuffers/protobuf/ +[rocketchat-image]: https://open.rocket.chat/images/join-chat.svg +[rocketchat-url]: https://chat.hyperledger.org/channel/fabric diff --git a/common/collection.pb.go b/common/collection.pb.go new file mode 100644 index 0000000..55c17e2 --- /dev/null +++ b/common/collection.pb.go @@ -0,0 +1,421 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/collection.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// CollectionConfigPackage represents an array of CollectionConfig +// messages; the extra struct is required because repeated oneof is +// forbidden by the protobuf syntax +type CollectionConfigPackage struct { + Config []*CollectionConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionConfigPackage) Reset() { *m = CollectionConfigPackage{} } +func (m *CollectionConfigPackage) String() string { return proto.CompactTextString(m) } +func (*CollectionConfigPackage) ProtoMessage() {} +func (*CollectionConfigPackage) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{0} +} + +func (m *CollectionConfigPackage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionConfigPackage.Unmarshal(m, b) +} +func (m *CollectionConfigPackage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionConfigPackage.Marshal(b, m, deterministic) +} +func (m *CollectionConfigPackage) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionConfigPackage.Merge(m, src) +} +func (m *CollectionConfigPackage) XXX_Size() int { + return xxx_messageInfo_CollectionConfigPackage.Size(m) +} +func (m *CollectionConfigPackage) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionConfigPackage.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionConfigPackage proto.InternalMessageInfo + +func (m *CollectionConfigPackage) GetConfig() []*CollectionConfig { + if m != nil { + return m.Config + } + return nil +} + +// CollectionConfig defines the configuration of a collection object; +// it currently contains a single, static type. +// Dynamic collections are deferred. +type CollectionConfig struct { + // Types that are valid to be assigned to Payload: + // *CollectionConfig_StaticCollectionConfig + Payload isCollectionConfig_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionConfig) Reset() { *m = CollectionConfig{} } +func (m *CollectionConfig) String() string { return proto.CompactTextString(m) } +func (*CollectionConfig) ProtoMessage() {} +func (*CollectionConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{1} +} + +func (m *CollectionConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionConfig.Unmarshal(m, b) +} +func (m *CollectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionConfig.Marshal(b, m, deterministic) +} +func (m *CollectionConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionConfig.Merge(m, src) +} +func (m *CollectionConfig) XXX_Size() int { + return xxx_messageInfo_CollectionConfig.Size(m) +} +func (m *CollectionConfig) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionConfig proto.InternalMessageInfo + +type isCollectionConfig_Payload interface { + isCollectionConfig_Payload() +} + +type CollectionConfig_StaticCollectionConfig struct { + StaticCollectionConfig *StaticCollectionConfig `protobuf:"bytes,1,opt,name=static_collection_config,json=staticCollectionConfig,proto3,oneof"` +} + +func (*CollectionConfig_StaticCollectionConfig) isCollectionConfig_Payload() {} + +func (m *CollectionConfig) GetPayload() isCollectionConfig_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *CollectionConfig) GetStaticCollectionConfig() *StaticCollectionConfig { + if x, ok := m.GetPayload().(*CollectionConfig_StaticCollectionConfig); ok { + return x.StaticCollectionConfig + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CollectionConfig) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CollectionConfig_StaticCollectionConfig)(nil), + } +} + +// StaticCollectionConfig constitutes the configuration parameters of a +// static collection object. Static collections are collections that are +// known at chaincode instantiation time, and that cannot be changed. +// Dynamic collections are deferred. +type StaticCollectionConfig struct { + // the name of the collection inside the denoted chaincode + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // a reference to a policy residing / managed in the config block + // to define which orgs have access to this collection’s private data + MemberOrgsPolicy *CollectionPolicyConfig `protobuf:"bytes,2,opt,name=member_orgs_policy,json=memberOrgsPolicy,proto3" json:"member_orgs_policy,omitempty"` + // The minimum number of peers private data will be sent to upon + // endorsement. The endorsement would fail if dissemination to at least + // this number of peers is not achieved. + RequiredPeerCount int32 `protobuf:"varint,3,opt,name=required_peer_count,json=requiredPeerCount,proto3" json:"required_peer_count,omitempty"` + // The maximum number of peers that private data will be sent to + // upon endorsement. This number has to be bigger than required_peer_count. + MaximumPeerCount int32 `protobuf:"varint,4,opt,name=maximum_peer_count,json=maximumPeerCount,proto3" json:"maximum_peer_count,omitempty"` + // The number of blocks after which the collection data expires. + // For instance if the value is set to 10, a key last modified by block number 100 + // will be purged at block number 111. A zero value is treated same as MaxUint64 + BlockToLive uint64 `protobuf:"varint,5,opt,name=block_to_live,json=blockToLive,proto3" json:"block_to_live,omitempty"` + // The member only read access denotes whether only collection member clients + // can read the private data (if set to true), or even non members can + // read the data (if set to false, for example if you want to implement more granular + // access logic in the chaincode) + MemberOnlyRead bool `protobuf:"varint,6,opt,name=member_only_read,json=memberOnlyRead,proto3" json:"member_only_read,omitempty"` + // The member only write access denotes whether only collection member clients + // can write the private data (if set to true), or even non members can + // write the data (if set to false, for example if you want to implement more granular + // access logic in the chaincode) + MemberOnlyWrite bool `protobuf:"varint,7,opt,name=member_only_write,json=memberOnlyWrite,proto3" json:"member_only_write,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StaticCollectionConfig) Reset() { *m = StaticCollectionConfig{} } +func (m *StaticCollectionConfig) String() string { return proto.CompactTextString(m) } +func (*StaticCollectionConfig) ProtoMessage() {} +func (*StaticCollectionConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{2} +} + +func (m *StaticCollectionConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StaticCollectionConfig.Unmarshal(m, b) +} +func (m *StaticCollectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StaticCollectionConfig.Marshal(b, m, deterministic) +} +func (m *StaticCollectionConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_StaticCollectionConfig.Merge(m, src) +} +func (m *StaticCollectionConfig) XXX_Size() int { + return xxx_messageInfo_StaticCollectionConfig.Size(m) +} +func (m *StaticCollectionConfig) XXX_DiscardUnknown() { + xxx_messageInfo_StaticCollectionConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_StaticCollectionConfig proto.InternalMessageInfo + +func (m *StaticCollectionConfig) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *StaticCollectionConfig) GetMemberOrgsPolicy() *CollectionPolicyConfig { + if m != nil { + return m.MemberOrgsPolicy + } + return nil +} + +func (m *StaticCollectionConfig) GetRequiredPeerCount() int32 { + if m != nil { + return m.RequiredPeerCount + } + return 0 +} + +func (m *StaticCollectionConfig) GetMaximumPeerCount() int32 { + if m != nil { + return m.MaximumPeerCount + } + return 0 +} + +func (m *StaticCollectionConfig) GetBlockToLive() uint64 { + if m != nil { + return m.BlockToLive + } + return 0 +} + +func (m *StaticCollectionConfig) GetMemberOnlyRead() bool { + if m != nil { + return m.MemberOnlyRead + } + return false +} + +func (m *StaticCollectionConfig) GetMemberOnlyWrite() bool { + if m != nil { + return m.MemberOnlyWrite + } + return false +} + +// Collection policy configuration. Initially, the configuration can only +// contain a SignaturePolicy. In the future, the SignaturePolicy may be a +// more general Policy. Instead of containing the actual policy, the +// configuration may in the future contain a string reference to a policy. +type CollectionPolicyConfig struct { + // Types that are valid to be assigned to Payload: + // *CollectionPolicyConfig_SignaturePolicy + Payload isCollectionPolicyConfig_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionPolicyConfig) Reset() { *m = CollectionPolicyConfig{} } +func (m *CollectionPolicyConfig) String() string { return proto.CompactTextString(m) } +func (*CollectionPolicyConfig) ProtoMessage() {} +func (*CollectionPolicyConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{3} +} + +func (m *CollectionPolicyConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionPolicyConfig.Unmarshal(m, b) +} +func (m *CollectionPolicyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionPolicyConfig.Marshal(b, m, deterministic) +} +func (m *CollectionPolicyConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionPolicyConfig.Merge(m, src) +} +func (m *CollectionPolicyConfig) XXX_Size() int { + return xxx_messageInfo_CollectionPolicyConfig.Size(m) +} +func (m *CollectionPolicyConfig) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionPolicyConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionPolicyConfig proto.InternalMessageInfo + +type isCollectionPolicyConfig_Payload interface { + isCollectionPolicyConfig_Payload() +} + +type CollectionPolicyConfig_SignaturePolicy struct { + SignaturePolicy *SignaturePolicyEnvelope `protobuf:"bytes,1,opt,name=signature_policy,json=signaturePolicy,proto3,oneof"` +} + +func (*CollectionPolicyConfig_SignaturePolicy) isCollectionPolicyConfig_Payload() {} + +func (m *CollectionPolicyConfig) GetPayload() isCollectionPolicyConfig_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *CollectionPolicyConfig) GetSignaturePolicy() *SignaturePolicyEnvelope { + if x, ok := m.GetPayload().(*CollectionPolicyConfig_SignaturePolicy); ok { + return x.SignaturePolicy + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*CollectionPolicyConfig) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*CollectionPolicyConfig_SignaturePolicy)(nil), + } +} + +// CollectionCriteria defines an element of a private data that corresponds +// to a certain transaction and collection +type CollectionCriteria struct { + Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` + TxId string `protobuf:"bytes,2,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionCriteria) Reset() { *m = CollectionCriteria{} } +func (m *CollectionCriteria) String() string { return proto.CompactTextString(m) } +func (*CollectionCriteria) ProtoMessage() {} +func (*CollectionCriteria) Descriptor() ([]byte, []int) { + return fileDescriptor_89f245fc544906c7, []int{4} +} + +func (m *CollectionCriteria) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionCriteria.Unmarshal(m, b) +} +func (m *CollectionCriteria) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionCriteria.Marshal(b, m, deterministic) +} +func (m *CollectionCriteria) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionCriteria.Merge(m, src) +} +func (m *CollectionCriteria) XXX_Size() int { + return xxx_messageInfo_CollectionCriteria.Size(m) +} +func (m *CollectionCriteria) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionCriteria.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionCriteria proto.InternalMessageInfo + +func (m *CollectionCriteria) GetChannel() string { + if m != nil { + return m.Channel + } + return "" +} + +func (m *CollectionCriteria) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *CollectionCriteria) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *CollectionCriteria) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func init() { + proto.RegisterType((*CollectionConfigPackage)(nil), "common.CollectionConfigPackage") + proto.RegisterType((*CollectionConfig)(nil), "common.CollectionConfig") + proto.RegisterType((*StaticCollectionConfig)(nil), "common.StaticCollectionConfig") + proto.RegisterType((*CollectionPolicyConfig)(nil), "common.CollectionPolicyConfig") + proto.RegisterType((*CollectionCriteria)(nil), "common.CollectionCriteria") +} + +func init() { proto.RegisterFile("common/collection.proto", fileDescriptor_89f245fc544906c7) } + +var fileDescriptor_89f245fc544906c7 = []byte{ + // 501 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x93, 0xd1, 0x6e, 0xd3, 0x30, + 0x14, 0x86, 0x97, 0xad, 0x6b, 0xc9, 0xa9, 0x60, 0x9d, 0x27, 0xba, 0x08, 0xa1, 0x51, 0x55, 0x5c, + 0x44, 0x88, 0xa5, 0x68, 0xbc, 0xc1, 0x2a, 0xa4, 0x21, 0x2a, 0x51, 0x05, 0x04, 0xd2, 0x6e, 0x22, + 0xd7, 0x39, 0x4b, 0xad, 0x25, 0x76, 0xe6, 0xb8, 0xa5, 0xb9, 0xe4, 0x15, 0x79, 0x22, 0x54, 0x3b, + 0x69, 0xb2, 0xaa, 0x77, 0xf5, 0xff, 0x7f, 0xe7, 0xf4, 0xf8, 0xfc, 0x0e, 0x5c, 0x32, 0x99, 0x65, + 0x52, 0x4c, 0x98, 0x4c, 0x53, 0x64, 0x9a, 0x4b, 0x11, 0xe4, 0x4a, 0x6a, 0x49, 0xba, 0xd6, 0x78, + 0xf3, 0xba, 0x02, 0x72, 0x99, 0x72, 0xc6, 0xb1, 0xb0, 0xf6, 0xf8, 0x1b, 0x5c, 0x4e, 0x77, 0x25, + 0x53, 0x29, 0x1e, 0x78, 0x32, 0xa7, 0xec, 0x91, 0x26, 0x48, 0x3e, 0x41, 0x97, 0x19, 0xc1, 0x73, + 0x46, 0x27, 0x7e, 0xff, 0xc6, 0x0b, 0x6c, 0x8b, 0x60, 0xbf, 0x20, 0xac, 0xb8, 0x71, 0x09, 0x83, + 0x7d, 0x8f, 0xdc, 0x83, 0x57, 0x68, 0xaa, 0x39, 0x8b, 0x9a, 0xd1, 0xa2, 0x5d, 0x5f, 0xc7, 0xef, + 0xdf, 0x5c, 0xd5, 0x7d, 0x7f, 0x18, 0x6e, 0xbf, 0xc3, 0xdd, 0x51, 0x38, 0x2c, 0x0e, 0x3a, 0xb7, + 0x2e, 0xf4, 0x72, 0x5a, 0xa6, 0x92, 0xc6, 0xe3, 0x7f, 0xc7, 0x30, 0x3c, 0x5c, 0x4f, 0x08, 0x74, + 0x04, 0xcd, 0xd0, 0xfc, 0x9b, 0x1b, 0x9a, 0xdf, 0x64, 0x06, 0x24, 0xc3, 0x6c, 0x81, 0x2a, 0x92, + 0x2a, 0x29, 0x22, 0xb3, 0x94, 0xd2, 0x3b, 0x7e, 0x3e, 0x4f, 0xd3, 0x69, 0x6e, 0xfc, 0xea, 0xb6, + 0x03, 0x5b, 0xf9, 0x5d, 0x25, 0x85, 0xd5, 0x49, 0x00, 0x17, 0x0a, 0x9f, 0x56, 0x5c, 0x61, 0x1c, + 0xe5, 0x88, 0x2a, 0x62, 0x72, 0x25, 0xb4, 0x77, 0x32, 0x72, 0xfc, 0xd3, 0xf0, 0xbc, 0xb6, 0xe6, + 0x88, 0x6a, 0xba, 0x35, 0xc8, 0x47, 0x20, 0x19, 0xdd, 0xf0, 0x6c, 0x95, 0xb5, 0xf1, 0x8e, 0xc1, + 0x07, 0x95, 0xd3, 0xd0, 0x63, 0x78, 0xb9, 0x48, 0x25, 0x7b, 0x8c, 0xb4, 0x8c, 0x52, 0xbe, 0x46, + 0xef, 0x74, 0xe4, 0xf8, 0x9d, 0xb0, 0x6f, 0xc4, 0x9f, 0x72, 0xc6, 0xd7, 0x48, 0x7c, 0x18, 0xd4, + 0xf7, 0x11, 0x69, 0x19, 0x29, 0xa4, 0xb1, 0xd7, 0x1d, 0x39, 0xfe, 0x8b, 0xf0, 0x55, 0x35, 0xad, + 0x48, 0xcb, 0x10, 0x69, 0x4c, 0x3e, 0xc0, 0x79, 0x9b, 0xfc, 0xa3, 0xb8, 0x46, 0xaf, 0x67, 0xd0, + 0xb3, 0x06, 0xfd, 0xbd, 0x95, 0xc7, 0x4f, 0x30, 0x3c, 0xbc, 0x03, 0x32, 0x83, 0x41, 0xc1, 0x13, + 0x41, 0xf5, 0x4a, 0x61, 0xbd, 0x3d, 0x9b, 0xe6, 0xbb, 0x5d, 0x9a, 0xb5, 0x6f, 0x0b, 0xbf, 0x88, + 0x35, 0xa6, 0x32, 0xc7, 0xbb, 0xa3, 0xf0, 0xac, 0x78, 0x6e, 0xb5, 0x73, 0xfc, 0xeb, 0x00, 0x69, + 0x25, 0xb8, 0x1d, 0x43, 0x71, 0x4a, 0x3c, 0xe8, 0xb1, 0x25, 0x15, 0x02, 0xd3, 0x2a, 0xc6, 0xfa, + 0x48, 0x2e, 0xe0, 0x54, 0x6f, 0x22, 0x1e, 0x9b, 0xf0, 0xdc, 0xb0, 0xa3, 0x37, 0x5f, 0x63, 0x72, + 0x05, 0xd0, 0xbc, 0x36, 0x93, 0x83, 0x1b, 0xb6, 0x14, 0xf2, 0x16, 0xdc, 0xed, 0x33, 0x28, 0x72, + 0xca, 0xd0, 0xec, 0xdd, 0x0d, 0x1b, 0xe1, 0xf6, 0x17, 0xbc, 0x97, 0x2a, 0x09, 0x96, 0x65, 0x8e, + 0x2a, 0xc5, 0x38, 0x41, 0x15, 0x3c, 0xd0, 0x85, 0xe2, 0xcc, 0x7e, 0x33, 0x45, 0x75, 0xc3, 0xfb, + 0x20, 0xe1, 0x7a, 0xb9, 0x5a, 0x6c, 0x8f, 0x93, 0x16, 0x3c, 0xb1, 0xf0, 0xb5, 0x85, 0xaf, 0x13, + 0x39, 0xb1, 0xfc, 0xa2, 0x6b, 0x94, 0xcf, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x2c, 0xe6, + 0x2d, 0xac, 0x03, 0x00, 0x00, +} diff --git a/common/common.pb.go b/common/common.pb.go new file mode 100644 index 0000000..5d40bcb --- /dev/null +++ b/common/common.pb.go @@ -0,0 +1,928 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/common.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// These status codes are intended to resemble selected HTTP status codes +type Status int32 + +const ( + Status_UNKNOWN Status = 0 + Status_SUCCESS Status = 200 + Status_BAD_REQUEST Status = 400 + Status_FORBIDDEN Status = 403 + Status_NOT_FOUND Status = 404 + Status_REQUEST_ENTITY_TOO_LARGE Status = 413 + Status_INTERNAL_SERVER_ERROR Status = 500 + Status_NOT_IMPLEMENTED Status = 501 + Status_SERVICE_UNAVAILABLE Status = 503 +) + +var Status_name = map[int32]string{ + 0: "UNKNOWN", + 200: "SUCCESS", + 400: "BAD_REQUEST", + 403: "FORBIDDEN", + 404: "NOT_FOUND", + 413: "REQUEST_ENTITY_TOO_LARGE", + 500: "INTERNAL_SERVER_ERROR", + 501: "NOT_IMPLEMENTED", + 503: "SERVICE_UNAVAILABLE", +} + +var Status_value = map[string]int32{ + "UNKNOWN": 0, + "SUCCESS": 200, + "BAD_REQUEST": 400, + "FORBIDDEN": 403, + "NOT_FOUND": 404, + "REQUEST_ENTITY_TOO_LARGE": 413, + "INTERNAL_SERVER_ERROR": 500, + "NOT_IMPLEMENTED": 501, + "SERVICE_UNAVAILABLE": 503, +} + +func (x Status) String() string { + return proto.EnumName(Status_name, int32(x)) +} + +func (Status) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{0} +} + +type HeaderType int32 + +const ( + HeaderType_MESSAGE HeaderType = 0 + HeaderType_CONFIG HeaderType = 1 + HeaderType_CONFIG_UPDATE HeaderType = 2 + HeaderType_ENDORSER_TRANSACTION HeaderType = 3 + HeaderType_ORDERER_TRANSACTION HeaderType = 4 + HeaderType_DELIVER_SEEK_INFO HeaderType = 5 + HeaderType_CHAINCODE_PACKAGE HeaderType = 6 + HeaderType_PEER_ADMIN_OPERATION HeaderType = 8 +) + +var HeaderType_name = map[int32]string{ + 0: "MESSAGE", + 1: "CONFIG", + 2: "CONFIG_UPDATE", + 3: "ENDORSER_TRANSACTION", + 4: "ORDERER_TRANSACTION", + 5: "DELIVER_SEEK_INFO", + 6: "CHAINCODE_PACKAGE", + 8: "PEER_ADMIN_OPERATION", +} + +var HeaderType_value = map[string]int32{ + "MESSAGE": 0, + "CONFIG": 1, + "CONFIG_UPDATE": 2, + "ENDORSER_TRANSACTION": 3, + "ORDERER_TRANSACTION": 4, + "DELIVER_SEEK_INFO": 5, + "CHAINCODE_PACKAGE": 6, + "PEER_ADMIN_OPERATION": 8, +} + +func (x HeaderType) String() string { + return proto.EnumName(HeaderType_name, int32(x)) +} + +func (HeaderType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{1} +} + +// This enum enlists indexes of the block metadata array +type BlockMetadataIndex int32 + +const ( + BlockMetadataIndex_SIGNATURES BlockMetadataIndex = 0 + BlockMetadataIndex_LAST_CONFIG BlockMetadataIndex = 1 + BlockMetadataIndex_TRANSACTIONS_FILTER BlockMetadataIndex = 2 + BlockMetadataIndex_ORDERER BlockMetadataIndex = 3 // Deprecated: Do not use. + BlockMetadataIndex_COMMIT_HASH BlockMetadataIndex = 4 +) + +var BlockMetadataIndex_name = map[int32]string{ + 0: "SIGNATURES", + 1: "LAST_CONFIG", + 2: "TRANSACTIONS_FILTER", + 3: "ORDERER", + 4: "COMMIT_HASH", +} + +var BlockMetadataIndex_value = map[string]int32{ + "SIGNATURES": 0, + "LAST_CONFIG": 1, + "TRANSACTIONS_FILTER": 2, + "ORDERER": 3, + "COMMIT_HASH": 4, +} + +func (x BlockMetadataIndex) String() string { + return proto.EnumName(BlockMetadataIndex_name, int32(x)) +} + +func (BlockMetadataIndex) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{2} +} + +// LastConfig is the encoded value for the Metadata message which is encoded in the LAST_CONFIGURATION block metadata index +type LastConfig struct { + Index uint64 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LastConfig) Reset() { *m = LastConfig{} } +func (m *LastConfig) String() string { return proto.CompactTextString(m) } +func (*LastConfig) ProtoMessage() {} +func (*LastConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{0} +} + +func (m *LastConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LastConfig.Unmarshal(m, b) +} +func (m *LastConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LastConfig.Marshal(b, m, deterministic) +} +func (m *LastConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_LastConfig.Merge(m, src) +} +func (m *LastConfig) XXX_Size() int { + return xxx_messageInfo_LastConfig.Size(m) +} +func (m *LastConfig) XXX_DiscardUnknown() { + xxx_messageInfo_LastConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_LastConfig proto.InternalMessageInfo + +func (m *LastConfig) GetIndex() uint64 { + if m != nil { + return m.Index + } + return 0 +} + +// Metadata is a common structure to be used to encode block metadata +type Metadata struct { + Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Signatures []*MetadataSignature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Metadata) Reset() { *m = Metadata{} } +func (m *Metadata) String() string { return proto.CompactTextString(m) } +func (*Metadata) ProtoMessage() {} +func (*Metadata) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{1} +} + +func (m *Metadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Metadata.Unmarshal(m, b) +} +func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Metadata.Marshal(b, m, deterministic) +} +func (m *Metadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_Metadata.Merge(m, src) +} +func (m *Metadata) XXX_Size() int { + return xxx_messageInfo_Metadata.Size(m) +} +func (m *Metadata) XXX_DiscardUnknown() { + xxx_messageInfo_Metadata.DiscardUnknown(m) +} + +var xxx_messageInfo_Metadata proto.InternalMessageInfo + +func (m *Metadata) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *Metadata) GetSignatures() []*MetadataSignature { + if m != nil { + return m.Signatures + } + return nil +} + +type MetadataSignature struct { + SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MetadataSignature) Reset() { *m = MetadataSignature{} } +func (m *MetadataSignature) String() string { return proto.CompactTextString(m) } +func (*MetadataSignature) ProtoMessage() {} +func (*MetadataSignature) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{2} +} + +func (m *MetadataSignature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MetadataSignature.Unmarshal(m, b) +} +func (m *MetadataSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MetadataSignature.Marshal(b, m, deterministic) +} +func (m *MetadataSignature) XXX_Merge(src proto.Message) { + xxx_messageInfo_MetadataSignature.Merge(m, src) +} +func (m *MetadataSignature) XXX_Size() int { + return xxx_messageInfo_MetadataSignature.Size(m) +} +func (m *MetadataSignature) XXX_DiscardUnknown() { + xxx_messageInfo_MetadataSignature.DiscardUnknown(m) +} + +var xxx_messageInfo_MetadataSignature proto.InternalMessageInfo + +func (m *MetadataSignature) GetSignatureHeader() []byte { + if m != nil { + return m.SignatureHeader + } + return nil +} + +func (m *MetadataSignature) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +type Header struct { + ChannelHeader []byte `protobuf:"bytes,1,opt,name=channel_header,json=channelHeader,proto3" json:"channel_header,omitempty"` + SignatureHeader []byte `protobuf:"bytes,2,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Header) Reset() { *m = Header{} } +func (m *Header) String() string { return proto.CompactTextString(m) } +func (*Header) ProtoMessage() {} +func (*Header) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{3} +} + +func (m *Header) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Header.Unmarshal(m, b) +} +func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Header.Marshal(b, m, deterministic) +} +func (m *Header) XXX_Merge(src proto.Message) { + xxx_messageInfo_Header.Merge(m, src) +} +func (m *Header) XXX_Size() int { + return xxx_messageInfo_Header.Size(m) +} +func (m *Header) XXX_DiscardUnknown() { + xxx_messageInfo_Header.DiscardUnknown(m) +} + +var xxx_messageInfo_Header proto.InternalMessageInfo + +func (m *Header) GetChannelHeader() []byte { + if m != nil { + return m.ChannelHeader + } + return nil +} + +func (m *Header) GetSignatureHeader() []byte { + if m != nil { + return m.SignatureHeader + } + return nil +} + +// Header is a generic replay prevention and identity message to include in a signed payload +type ChannelHeader struct { + Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + // Version indicates message protocol version + Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + // Timestamp is the local time when the message was created + // by the sender + Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // Identifier of the channel this message is bound for + ChannelId string `protobuf:"bytes,4,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // An unique identifier that is used end-to-end. + // - set by higher layers such as end user or SDK + // - passed to the endorser (which will check for uniqueness) + // - as the header is passed along unchanged, it will be + // be retrieved by the committer (uniqueness check here as well) + // - to be stored in the ledger + TxId string `protobuf:"bytes,5,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + // The epoch in which this header was generated, where epoch is defined based on block height + // Epoch in which the response has been generated. This field identifies a + // logical window of time. A proposal response is accepted by a peer only if + // two conditions hold: + // 1. the epoch specified in the message is the current epoch + // 2. this message has been only seen once during this epoch (i.e. it hasn't + // been replayed) + Epoch uint64 `protobuf:"varint,6,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Extension that may be attached based on the header type + Extension []byte `protobuf:"bytes,7,opt,name=extension,proto3" json:"extension,omitempty"` + // If mutual TLS is employed, this represents + // the hash of the client's TLS certificate + TlsCertHash []byte `protobuf:"bytes,8,opt,name=tls_cert_hash,json=tlsCertHash,proto3" json:"tls_cert_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelHeader) Reset() { *m = ChannelHeader{} } +func (m *ChannelHeader) String() string { return proto.CompactTextString(m) } +func (*ChannelHeader) ProtoMessage() {} +func (*ChannelHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{4} +} + +func (m *ChannelHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelHeader.Unmarshal(m, b) +} +func (m *ChannelHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelHeader.Marshal(b, m, deterministic) +} +func (m *ChannelHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelHeader.Merge(m, src) +} +func (m *ChannelHeader) XXX_Size() int { + return xxx_messageInfo_ChannelHeader.Size(m) +} +func (m *ChannelHeader) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelHeader proto.InternalMessageInfo + +func (m *ChannelHeader) GetType() int32 { + if m != nil { + return m.Type + } + return 0 +} + +func (m *ChannelHeader) GetVersion() int32 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ChannelHeader) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *ChannelHeader) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func (m *ChannelHeader) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *ChannelHeader) GetEpoch() uint64 { + if m != nil { + return m.Epoch + } + return 0 +} + +func (m *ChannelHeader) GetExtension() []byte { + if m != nil { + return m.Extension + } + return nil +} + +func (m *ChannelHeader) GetTlsCertHash() []byte { + if m != nil { + return m.TlsCertHash + } + return nil +} + +type SignatureHeader struct { + // Creator of the message, a marshaled msp.SerializedIdentity + Creator []byte `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + // Arbitrary number that may only be used once. Can be used to detect replay attacks. + Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignatureHeader) Reset() { *m = SignatureHeader{} } +func (m *SignatureHeader) String() string { return proto.CompactTextString(m) } +func (*SignatureHeader) ProtoMessage() {} +func (*SignatureHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{5} +} + +func (m *SignatureHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignatureHeader.Unmarshal(m, b) +} +func (m *SignatureHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignatureHeader.Marshal(b, m, deterministic) +} +func (m *SignatureHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignatureHeader.Merge(m, src) +} +func (m *SignatureHeader) XXX_Size() int { + return xxx_messageInfo_SignatureHeader.Size(m) +} +func (m *SignatureHeader) XXX_DiscardUnknown() { + xxx_messageInfo_SignatureHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_SignatureHeader proto.InternalMessageInfo + +func (m *SignatureHeader) GetCreator() []byte { + if m != nil { + return m.Creator + } + return nil +} + +func (m *SignatureHeader) GetNonce() []byte { + if m != nil { + return m.Nonce + } + return nil +} + +// Payload is the message contents (and header to allow for signing) +type Payload struct { + // Header is included to provide identity and prevent replay + Header *Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // Data, the encoding of which is defined by the type in the header + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Payload) Reset() { *m = Payload{} } +func (m *Payload) String() string { return proto.CompactTextString(m) } +func (*Payload) ProtoMessage() {} +func (*Payload) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{6} +} + +func (m *Payload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Payload.Unmarshal(m, b) +} +func (m *Payload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Payload.Marshal(b, m, deterministic) +} +func (m *Payload) XXX_Merge(src proto.Message) { + xxx_messageInfo_Payload.Merge(m, src) +} +func (m *Payload) XXX_Size() int { + return xxx_messageInfo_Payload.Size(m) +} +func (m *Payload) XXX_DiscardUnknown() { + xxx_messageInfo_Payload.DiscardUnknown(m) +} + +var xxx_messageInfo_Payload proto.InternalMessageInfo + +func (m *Payload) GetHeader() *Header { + if m != nil { + return m.Header + } + return nil +} + +func (m *Payload) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +// Envelope wraps a Payload with a signature so that the message may be authenticated +type Envelope struct { + // A marshaled Payload + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + // A signature by the creator specified in the Payload header + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Envelope) Reset() { *m = Envelope{} } +func (m *Envelope) String() string { return proto.CompactTextString(m) } +func (*Envelope) ProtoMessage() {} +func (*Envelope) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{7} +} + +func (m *Envelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Envelope.Unmarshal(m, b) +} +func (m *Envelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Envelope.Marshal(b, m, deterministic) +} +func (m *Envelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_Envelope.Merge(m, src) +} +func (m *Envelope) XXX_Size() int { + return xxx_messageInfo_Envelope.Size(m) +} +func (m *Envelope) XXX_DiscardUnknown() { + xxx_messageInfo_Envelope.DiscardUnknown(m) +} + +var xxx_messageInfo_Envelope proto.InternalMessageInfo + +func (m *Envelope) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *Envelope) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +// This is finalized block structure to be shared among the orderer and peer +// Note that the BlockHeader chains to the previous BlockHeader, and the BlockData hash is embedded +// in the BlockHeader. This makes it natural and obvious that the Data is included in the hash, but +// the Metadata is not. +type Block struct { + Header *BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + Data *BlockData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Metadata *BlockMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Block) Reset() { *m = Block{} } +func (m *Block) String() string { return proto.CompactTextString(m) } +func (*Block) ProtoMessage() {} +func (*Block) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{8} +} + +func (m *Block) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Block.Unmarshal(m, b) +} +func (m *Block) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Block.Marshal(b, m, deterministic) +} +func (m *Block) XXX_Merge(src proto.Message) { + xxx_messageInfo_Block.Merge(m, src) +} +func (m *Block) XXX_Size() int { + return xxx_messageInfo_Block.Size(m) +} +func (m *Block) XXX_DiscardUnknown() { + xxx_messageInfo_Block.DiscardUnknown(m) +} + +var xxx_messageInfo_Block proto.InternalMessageInfo + +func (m *Block) GetHeader() *BlockHeader { + if m != nil { + return m.Header + } + return nil +} + +func (m *Block) GetData() *BlockData { + if m != nil { + return m.Data + } + return nil +} + +func (m *Block) GetMetadata() *BlockMetadata { + if m != nil { + return m.Metadata + } + return nil +} + +// BlockHeader is the element of the block which forms the block chain +// The block header is hashed using the configured chain hashing algorithm +// over the ASN.1 encoding of the BlockHeader +type BlockHeader struct { + Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + PreviousHash []byte `protobuf:"bytes,2,opt,name=previous_hash,json=previousHash,proto3" json:"previous_hash,omitempty"` + DataHash []byte `protobuf:"bytes,3,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockHeader) Reset() { *m = BlockHeader{} } +func (m *BlockHeader) String() string { return proto.CompactTextString(m) } +func (*BlockHeader) ProtoMessage() {} +func (*BlockHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{9} +} + +func (m *BlockHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockHeader.Unmarshal(m, b) +} +func (m *BlockHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockHeader.Marshal(b, m, deterministic) +} +func (m *BlockHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockHeader.Merge(m, src) +} +func (m *BlockHeader) XXX_Size() int { + return xxx_messageInfo_BlockHeader.Size(m) +} +func (m *BlockHeader) XXX_DiscardUnknown() { + xxx_messageInfo_BlockHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockHeader proto.InternalMessageInfo + +func (m *BlockHeader) GetNumber() uint64 { + if m != nil { + return m.Number + } + return 0 +} + +func (m *BlockHeader) GetPreviousHash() []byte { + if m != nil { + return m.PreviousHash + } + return nil +} + +func (m *BlockHeader) GetDataHash() []byte { + if m != nil { + return m.DataHash + } + return nil +} + +type BlockData struct { + Data [][]byte `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockData) Reset() { *m = BlockData{} } +func (m *BlockData) String() string { return proto.CompactTextString(m) } +func (*BlockData) ProtoMessage() {} +func (*BlockData) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{10} +} + +func (m *BlockData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockData.Unmarshal(m, b) +} +func (m *BlockData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockData.Marshal(b, m, deterministic) +} +func (m *BlockData) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockData.Merge(m, src) +} +func (m *BlockData) XXX_Size() int { + return xxx_messageInfo_BlockData.Size(m) +} +func (m *BlockData) XXX_DiscardUnknown() { + xxx_messageInfo_BlockData.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockData proto.InternalMessageInfo + +func (m *BlockData) GetData() [][]byte { + if m != nil { + return m.Data + } + return nil +} + +type BlockMetadata struct { + Metadata [][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockMetadata) Reset() { *m = BlockMetadata{} } +func (m *BlockMetadata) String() string { return proto.CompactTextString(m) } +func (*BlockMetadata) ProtoMessage() {} +func (*BlockMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{11} +} + +func (m *BlockMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockMetadata.Unmarshal(m, b) +} +func (m *BlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockMetadata.Marshal(b, m, deterministic) +} +func (m *BlockMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockMetadata.Merge(m, src) +} +func (m *BlockMetadata) XXX_Size() int { + return xxx_messageInfo_BlockMetadata.Size(m) +} +func (m *BlockMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_BlockMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockMetadata proto.InternalMessageInfo + +func (m *BlockMetadata) GetMetadata() [][]byte { + if m != nil { + return m.Metadata + } + return nil +} + +// OrdererBlockMetadata defines metadata that is set by the ordering service. +type OrdererBlockMetadata struct { + LastConfig *LastConfig `protobuf:"bytes,1,opt,name=last_config,json=lastConfig,proto3" json:"last_config,omitempty"` + ConsenterMetadata []byte `protobuf:"bytes,2,opt,name=consenter_metadata,json=consenterMetadata,proto3" json:"consenter_metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrdererBlockMetadata) Reset() { *m = OrdererBlockMetadata{} } +func (m *OrdererBlockMetadata) String() string { return proto.CompactTextString(m) } +func (*OrdererBlockMetadata) ProtoMessage() {} +func (*OrdererBlockMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_8f954d82c0b891f6, []int{12} +} + +func (m *OrdererBlockMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrdererBlockMetadata.Unmarshal(m, b) +} +func (m *OrdererBlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrdererBlockMetadata.Marshal(b, m, deterministic) +} +func (m *OrdererBlockMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrdererBlockMetadata.Merge(m, src) +} +func (m *OrdererBlockMetadata) XXX_Size() int { + return xxx_messageInfo_OrdererBlockMetadata.Size(m) +} +func (m *OrdererBlockMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_OrdererBlockMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_OrdererBlockMetadata proto.InternalMessageInfo + +func (m *OrdererBlockMetadata) GetLastConfig() *LastConfig { + if m != nil { + return m.LastConfig + } + return nil +} + +func (m *OrdererBlockMetadata) GetConsenterMetadata() []byte { + if m != nil { + return m.ConsenterMetadata + } + return nil +} + +func init() { + proto.RegisterEnum("common.Status", Status_name, Status_value) + proto.RegisterEnum("common.HeaderType", HeaderType_name, HeaderType_value) + proto.RegisterEnum("common.BlockMetadataIndex", BlockMetadataIndex_name, BlockMetadataIndex_value) + proto.RegisterType((*LastConfig)(nil), "common.LastConfig") + proto.RegisterType((*Metadata)(nil), "common.Metadata") + proto.RegisterType((*MetadataSignature)(nil), "common.MetadataSignature") + proto.RegisterType((*Header)(nil), "common.Header") + proto.RegisterType((*ChannelHeader)(nil), "common.ChannelHeader") + proto.RegisterType((*SignatureHeader)(nil), "common.SignatureHeader") + proto.RegisterType((*Payload)(nil), "common.Payload") + proto.RegisterType((*Envelope)(nil), "common.Envelope") + proto.RegisterType((*Block)(nil), "common.Block") + proto.RegisterType((*BlockHeader)(nil), "common.BlockHeader") + proto.RegisterType((*BlockData)(nil), "common.BlockData") + proto.RegisterType((*BlockMetadata)(nil), "common.BlockMetadata") + proto.RegisterType((*OrdererBlockMetadata)(nil), "common.OrdererBlockMetadata") +} + +func init() { proto.RegisterFile("common/common.proto", fileDescriptor_8f954d82c0b891f6) } + +var fileDescriptor_8f954d82c0b891f6 = []byte{ + // 1054 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x95, 0xdf, 0x6e, 0xe3, 0xc4, + 0x17, 0xc7, 0x37, 0x71, 0xfe, 0x9e, 0x6c, 0x5a, 0x67, 0xd2, 0xfe, 0xd6, 0xbf, 0xc2, 0x6a, 0x2b, + 0xc3, 0xa2, 0xd2, 0x55, 0x53, 0xd1, 0xbd, 0x81, 0x4b, 0xc7, 0x9e, 0xb6, 0x56, 0x13, 0x3b, 0x8c, + 0x9d, 0x22, 0x16, 0xa4, 0x91, 0x9b, 0x4c, 0x93, 0x08, 0xc7, 0x8e, 0xec, 0x49, 0xd5, 0x72, 0xcb, + 0x3d, 0x42, 0x82, 0x5b, 0xde, 0x85, 0x4b, 0x1e, 0x85, 0x07, 0x00, 0x71, 0x8b, 0xec, 0xb1, 0xdd, + 0xa4, 0xac, 0xc4, 0x55, 0xe6, 0x9c, 0xf9, 0xcc, 0x39, 0xdf, 0x73, 0xce, 0x64, 0x0c, 0xdd, 0x49, + 0xb8, 0x5c, 0x86, 0xc1, 0xa9, 0xf8, 0xe9, 0xad, 0xa2, 0x90, 0x87, 0xa8, 0x26, 0xac, 0x83, 0x57, + 0xb3, 0x30, 0x9c, 0xf9, 0xec, 0x34, 0xf5, 0xde, 0xac, 0x6f, 0x4f, 0xf9, 0x62, 0xc9, 0x62, 0xee, + 0x2d, 0x57, 0x02, 0x54, 0x55, 0x80, 0x81, 0x17, 0x73, 0x3d, 0x0c, 0x6e, 0x17, 0x33, 0xb4, 0x07, + 0xd5, 0x45, 0x30, 0x65, 0xf7, 0x4a, 0xe9, 0xb0, 0x74, 0x54, 0x21, 0xc2, 0x50, 0xbf, 0x81, 0xc6, + 0x90, 0x71, 0x6f, 0xea, 0x71, 0x2f, 0x21, 0xee, 0x3c, 0x7f, 0xcd, 0x52, 0xe2, 0x39, 0x11, 0x06, + 0xfa, 0x02, 0x20, 0x5e, 0xcc, 0x02, 0x8f, 0xaf, 0x23, 0x16, 0x2b, 0xe5, 0x43, 0xe9, 0xa8, 0x75, + 0xf6, 0xff, 0x5e, 0xa6, 0x28, 0x3f, 0xeb, 0xe4, 0x04, 0xd9, 0x80, 0xd5, 0x6f, 0xa1, 0xf3, 0x2f, + 0x00, 0x7d, 0x0a, 0x72, 0x81, 0xd0, 0x39, 0xf3, 0xa6, 0x2c, 0xca, 0x12, 0xee, 0x16, 0xfe, 0xcb, + 0xd4, 0x8d, 0x3e, 0x84, 0x66, 0xe1, 0x52, 0xca, 0x29, 0xf3, 0xe8, 0x50, 0xdf, 0x41, 0x2d, 0xe3, + 0x5e, 0xc3, 0xce, 0x64, 0xee, 0x05, 0x01, 0xf3, 0xb7, 0x03, 0xb6, 0x33, 0x6f, 0x86, 0xbd, 0x2f, + 0x73, 0xf9, 0xbd, 0x99, 0xd5, 0x1f, 0xca, 0xd0, 0xd6, 0xb7, 0x0e, 0x23, 0xa8, 0xf0, 0x87, 0x95, + 0xe8, 0x4d, 0x95, 0xa4, 0x6b, 0xa4, 0x40, 0xfd, 0x8e, 0x45, 0xf1, 0x22, 0x0c, 0xd2, 0x38, 0x55, + 0x92, 0x9b, 0xe8, 0x73, 0x68, 0x16, 0xd3, 0x50, 0xa4, 0xc3, 0xd2, 0x51, 0xeb, 0xec, 0xa0, 0x27, + 0xe6, 0xd5, 0xcb, 0xe7, 0xd5, 0x73, 0x73, 0x82, 0x3c, 0xc2, 0xe8, 0x25, 0x40, 0x5e, 0xcb, 0x62, + 0xaa, 0x54, 0x0e, 0x4b, 0x47, 0x4d, 0xd2, 0xcc, 0x3c, 0xe6, 0x14, 0x75, 0xa1, 0xca, 0xef, 0x93, + 0x9d, 0x6a, 0xba, 0x53, 0xe1, 0xf7, 0xe6, 0x34, 0x19, 0x1c, 0x5b, 0x85, 0x93, 0xb9, 0x52, 0x13, + 0xa3, 0x4d, 0x8d, 0xa4, 0x7b, 0xec, 0x9e, 0xb3, 0x20, 0xd5, 0x57, 0x17, 0xdd, 0x2b, 0x1c, 0x48, + 0x85, 0x36, 0xf7, 0x63, 0x3a, 0x61, 0x11, 0xa7, 0x73, 0x2f, 0x9e, 0x2b, 0x8d, 0x94, 0x68, 0x71, + 0x3f, 0xd6, 0x59, 0xc4, 0x2f, 0xbd, 0x78, 0xae, 0x6a, 0xb0, 0xeb, 0x3c, 0x19, 0x89, 0x02, 0xf5, + 0x49, 0xc4, 0x3c, 0x1e, 0xe6, 0x3d, 0xce, 0xcd, 0x44, 0x44, 0x10, 0x06, 0x93, 0x7c, 0x50, 0xc2, + 0x50, 0x31, 0xd4, 0x47, 0xde, 0x83, 0x1f, 0x7a, 0x53, 0xf4, 0x09, 0xd4, 0x36, 0xa6, 0xd3, 0x3a, + 0xdb, 0xc9, 0x2f, 0x91, 0x08, 0x4d, 0xb2, 0xdd, 0xa4, 0xd3, 0xc9, 0x8d, 0xc9, 0xe2, 0xa4, 0x6b, + 0xb5, 0x0f, 0x0d, 0x1c, 0xdc, 0x31, 0x3f, 0x14, 0x5d, 0x5f, 0x89, 0x90, 0xb9, 0x84, 0xcc, 0xfc, + 0x8f, 0xfb, 0xf2, 0x63, 0x09, 0xaa, 0x7d, 0x3f, 0x9c, 0x7c, 0x87, 0xde, 0x3c, 0x51, 0xd2, 0xcd, + 0x95, 0xa4, 0xdb, 0x4f, 0xe4, 0xbc, 0xde, 0x90, 0xd3, 0x3a, 0xeb, 0x6c, 0xa1, 0x86, 0xc7, 0x3d, + 0xa1, 0x10, 0x7d, 0x06, 0x8d, 0x65, 0x76, 0xd7, 0xb3, 0x81, 0xef, 0x6f, 0xa1, 0xf9, 0x1f, 0x81, + 0x14, 0x98, 0x3a, 0x83, 0xd6, 0x46, 0x42, 0xf4, 0x3f, 0xa8, 0x05, 0xeb, 0xe5, 0x4d, 0xa6, 0xaa, + 0x42, 0x32, 0x0b, 0x7d, 0x04, 0xed, 0x55, 0xc4, 0xee, 0x16, 0xe1, 0x3a, 0x16, 0x93, 0x12, 0x95, + 0x3d, 0xcf, 0x9d, 0xc9, 0xa8, 0xd0, 0x07, 0xd0, 0x4c, 0x62, 0x0a, 0x40, 0x4a, 0x81, 0x46, 0xe2, + 0x48, 0xe7, 0xf8, 0x0a, 0x9a, 0x85, 0xdc, 0xa2, 0xbd, 0xa5, 0x43, 0xa9, 0x68, 0xef, 0x1b, 0x68, + 0x6f, 0x89, 0x44, 0x07, 0x1b, 0xd5, 0x08, 0xf0, 0x51, 0xf6, 0xf7, 0xb0, 0x67, 0x47, 0x53, 0x16, + 0xb1, 0x68, 0xfb, 0xcc, 0x5b, 0x68, 0xf9, 0x5e, 0xcc, 0xe9, 0x24, 0x7d, 0x6f, 0xb2, 0xd6, 0xa2, + 0xbc, 0x09, 0x8f, 0x2f, 0x11, 0x01, 0xff, 0xf1, 0x55, 0x3a, 0x01, 0x34, 0x09, 0x83, 0x98, 0x05, + 0x9c, 0x45, 0xb4, 0x48, 0x29, 0x2a, 0xec, 0x14, 0x3b, 0x79, 0x8e, 0xe3, 0xdf, 0x4a, 0x50, 0x73, + 0xb8, 0xc7, 0xd7, 0x31, 0x6a, 0x41, 0x7d, 0x6c, 0x5d, 0x59, 0xf6, 0x57, 0x96, 0xfc, 0x0c, 0x3d, + 0x87, 0xba, 0x33, 0xd6, 0x75, 0xec, 0x38, 0xf2, 0xef, 0x25, 0x24, 0x43, 0xab, 0xaf, 0x19, 0x94, + 0xe0, 0x2f, 0xc7, 0xd8, 0x71, 0xe5, 0x9f, 0x24, 0xb4, 0x03, 0xcd, 0x73, 0x9b, 0xf4, 0x4d, 0xc3, + 0xc0, 0x96, 0xfc, 0x73, 0x6a, 0x5b, 0xb6, 0x4b, 0xcf, 0xed, 0xb1, 0x65, 0xc8, 0xbf, 0x48, 0xe8, + 0x25, 0x28, 0x19, 0x4d, 0xb1, 0xe5, 0x9a, 0xee, 0xd7, 0xd4, 0xb5, 0x6d, 0x3a, 0xd0, 0xc8, 0x05, + 0x96, 0x7f, 0x95, 0xd0, 0x01, 0xec, 0x9b, 0x96, 0x8b, 0x89, 0xa5, 0x0d, 0xa8, 0x83, 0xc9, 0x35, + 0x26, 0x14, 0x13, 0x62, 0x13, 0xf9, 0x4f, 0x09, 0xed, 0xc1, 0x6e, 0x12, 0xca, 0x1c, 0x8e, 0x06, + 0x78, 0x88, 0x2d, 0x17, 0x1b, 0xf2, 0x5f, 0x12, 0x52, 0xa0, 0x9b, 0x80, 0xa6, 0x8e, 0xe9, 0xd8, + 0xd2, 0xae, 0x35, 0x73, 0xa0, 0xf5, 0x07, 0x58, 0xfe, 0x5b, 0x3a, 0xfe, 0xa3, 0x04, 0x20, 0x26, + 0xee, 0x26, 0x6f, 0x48, 0x0b, 0xea, 0x43, 0xec, 0x38, 0xda, 0x05, 0x96, 0x9f, 0x21, 0x80, 0x9a, + 0x6e, 0x5b, 0xe7, 0xe6, 0x85, 0x5c, 0x42, 0x1d, 0x68, 0x8b, 0x35, 0x1d, 0x8f, 0x0c, 0xcd, 0xc5, + 0x72, 0x19, 0x29, 0xb0, 0x87, 0x2d, 0xc3, 0x26, 0x0e, 0x26, 0xd4, 0x25, 0x9a, 0xe5, 0x68, 0xba, + 0x6b, 0xda, 0x96, 0x2c, 0xa1, 0x17, 0xd0, 0xb5, 0x89, 0x81, 0xc9, 0x93, 0x8d, 0x0a, 0xda, 0x87, + 0x8e, 0x81, 0x07, 0x66, 0xa2, 0xd8, 0xc1, 0xf8, 0x8a, 0x9a, 0xd6, 0xb9, 0x2d, 0x57, 0x13, 0xb7, + 0x7e, 0xa9, 0x99, 0x96, 0x6e, 0x1b, 0x98, 0x8e, 0x34, 0xfd, 0x2a, 0xc9, 0x5f, 0x4b, 0x12, 0x8c, + 0x30, 0x26, 0x54, 0x33, 0x86, 0xa6, 0x45, 0xed, 0x11, 0x26, 0x5a, 0x1a, 0xa7, 0xa1, 0x56, 0x1a, + 0x75, 0xb9, 0xae, 0x56, 0x1a, 0x4d, 0xb9, 0x79, 0x2c, 0x18, 0x82, 0x1d, 0x7b, 0x4c, 0x92, 0xfa, + 0x52, 0x79, 0xc7, 0x1d, 0xd7, 0xbe, 0xc2, 0xd6, 0x66, 0xfa, 0xe3, 0x15, 0xa0, 0xad, 0x2b, 0x62, + 0x26, 0x9f, 0x1c, 0xb4, 0x03, 0xe0, 0x98, 0x17, 0x96, 0xe6, 0x8e, 0x09, 0x76, 0xe4, 0x67, 0x68, + 0x17, 0x5a, 0x03, 0xcd, 0x71, 0x69, 0x51, 0xf9, 0x0b, 0xe8, 0x6e, 0x44, 0x71, 0xe8, 0xb9, 0x39, + 0x70, 0x31, 0x91, 0xcb, 0x68, 0x17, 0xea, 0x59, 0x95, 0xb2, 0x74, 0x50, 0x6e, 0x94, 0x92, 0xa3, + 0xba, 0x3d, 0x1c, 0x9a, 0x2e, 0xbd, 0xd4, 0x9c, 0x4b, 0xb9, 0xd2, 0xbf, 0x86, 0x8f, 0xc3, 0x68, + 0xd6, 0x9b, 0x3f, 0xac, 0x58, 0xe4, 0xb3, 0xe9, 0x8c, 0x45, 0xbd, 0x5b, 0xef, 0x26, 0x5a, 0x4c, + 0xc4, 0xab, 0x1b, 0x67, 0xb7, 0xf1, 0x5d, 0x6f, 0xb6, 0xe0, 0xf3, 0xf5, 0x4d, 0x62, 0x9e, 0x6e, + 0xc0, 0xa7, 0x02, 0x3e, 0x11, 0xf0, 0xc9, 0x2c, 0xcc, 0xbe, 0xbc, 0x37, 0xb5, 0xd4, 0xf3, 0xf6, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xce, 0x14, 0x3b, 0xe7, 0x91, 0x07, 0x00, 0x00, +} diff --git a/common/configtx.pb.go b/common/configtx.pb.go new file mode 100644 index 0000000..d74de8c --- /dev/null +++ b/common/configtx.pb.go @@ -0,0 +1,677 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/configtx.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ConfigEnvelope is designed to contain _all_ configuration for a chain with no dependency +// on previous configuration transactions. +// +// It is generated with the following scheme: +// 1. Retrieve the existing configuration +// 2. Note the config properties (ConfigValue, ConfigPolicy, ConfigGroup) to be modified +// 3. Add any intermediate ConfigGroups to the ConfigUpdate.read_set (sparsely) +// 4. Add any additional desired dependencies to ConfigUpdate.read_set (sparsely) +// 5. Modify the config properties, incrementing each version by 1, set them in the ConfigUpdate.write_set +// Note: any element not modified but specified should already be in the read_set, so may be specified sparsely +// 6. Create ConfigUpdate message and marshal it into ConfigUpdateEnvelope.update and encode the required signatures +// a) Each signature is of type ConfigSignature +// b) The ConfigSignature signature is over the concatenation of signature_header and the ConfigUpdate bytes (which includes a ChainHeader) +// 5. Submit new Config for ordering in Envelope signed by submitter +// a) The Envelope Payload has data set to the marshaled ConfigEnvelope +// b) The Envelope Payload has a header of type Header.Type.CONFIG_UPDATE +// +// The configuration manager will verify: +// 1. All items in the read_set exist at the read versions +// 2. All items in the write_set at a different version than, or not in, the read_set have been appropriately signed according to their mod_policy +// 3. The new configuration satisfies the ConfigSchema +type ConfigEnvelope struct { + Config *Config `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + LastUpdate *Envelope `protobuf:"bytes,2,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigEnvelope) Reset() { *m = ConfigEnvelope{} } +func (m *ConfigEnvelope) String() string { return proto.CompactTextString(m) } +func (*ConfigEnvelope) ProtoMessage() {} +func (*ConfigEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{0} +} + +func (m *ConfigEnvelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigEnvelope.Unmarshal(m, b) +} +func (m *ConfigEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigEnvelope.Marshal(b, m, deterministic) +} +func (m *ConfigEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigEnvelope.Merge(m, src) +} +func (m *ConfigEnvelope) XXX_Size() int { + return xxx_messageInfo_ConfigEnvelope.Size(m) +} +func (m *ConfigEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigEnvelope.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigEnvelope proto.InternalMessageInfo + +func (m *ConfigEnvelope) GetConfig() *Config { + if m != nil { + return m.Config + } + return nil +} + +func (m *ConfigEnvelope) GetLastUpdate() *Envelope { + if m != nil { + return m.LastUpdate + } + return nil +} + +type ConfigGroupSchema struct { + Groups map[string]*ConfigGroupSchema `protobuf:"bytes,1,rep,name=groups,proto3" json:"groups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Values map[string]*ConfigValueSchema `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Policies map[string]*ConfigPolicySchema `protobuf:"bytes,3,rep,name=policies,proto3" json:"policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigGroupSchema) Reset() { *m = ConfigGroupSchema{} } +func (m *ConfigGroupSchema) String() string { return proto.CompactTextString(m) } +func (*ConfigGroupSchema) ProtoMessage() {} +func (*ConfigGroupSchema) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{1} +} + +func (m *ConfigGroupSchema) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigGroupSchema.Unmarshal(m, b) +} +func (m *ConfigGroupSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigGroupSchema.Marshal(b, m, deterministic) +} +func (m *ConfigGroupSchema) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigGroupSchema.Merge(m, src) +} +func (m *ConfigGroupSchema) XXX_Size() int { + return xxx_messageInfo_ConfigGroupSchema.Size(m) +} +func (m *ConfigGroupSchema) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigGroupSchema.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigGroupSchema proto.InternalMessageInfo + +func (m *ConfigGroupSchema) GetGroups() map[string]*ConfigGroupSchema { + if m != nil { + return m.Groups + } + return nil +} + +func (m *ConfigGroupSchema) GetValues() map[string]*ConfigValueSchema { + if m != nil { + return m.Values + } + return nil +} + +func (m *ConfigGroupSchema) GetPolicies() map[string]*ConfigPolicySchema { + if m != nil { + return m.Policies + } + return nil +} + +type ConfigValueSchema struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigValueSchema) Reset() { *m = ConfigValueSchema{} } +func (m *ConfigValueSchema) String() string { return proto.CompactTextString(m) } +func (*ConfigValueSchema) ProtoMessage() {} +func (*ConfigValueSchema) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{2} +} + +func (m *ConfigValueSchema) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigValueSchema.Unmarshal(m, b) +} +func (m *ConfigValueSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigValueSchema.Marshal(b, m, deterministic) +} +func (m *ConfigValueSchema) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigValueSchema.Merge(m, src) +} +func (m *ConfigValueSchema) XXX_Size() int { + return xxx_messageInfo_ConfigValueSchema.Size(m) +} +func (m *ConfigValueSchema) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigValueSchema.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigValueSchema proto.InternalMessageInfo + +type ConfigPolicySchema struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigPolicySchema) Reset() { *m = ConfigPolicySchema{} } +func (m *ConfigPolicySchema) String() string { return proto.CompactTextString(m) } +func (*ConfigPolicySchema) ProtoMessage() {} +func (*ConfigPolicySchema) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{3} +} + +func (m *ConfigPolicySchema) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigPolicySchema.Unmarshal(m, b) +} +func (m *ConfigPolicySchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigPolicySchema.Marshal(b, m, deterministic) +} +func (m *ConfigPolicySchema) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigPolicySchema.Merge(m, src) +} +func (m *ConfigPolicySchema) XXX_Size() int { + return xxx_messageInfo_ConfigPolicySchema.Size(m) +} +func (m *ConfigPolicySchema) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigPolicySchema.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigPolicySchema proto.InternalMessageInfo + +// Config represents the config for a particular channel +type Config struct { + Sequence uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + ChannelGroup *ConfigGroup `protobuf:"bytes,2,opt,name=channel_group,json=channelGroup,proto3" json:"channel_group,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Config) Reset() { *m = Config{} } +func (m *Config) String() string { return proto.CompactTextString(m) } +func (*Config) ProtoMessage() {} +func (*Config) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{4} +} + +func (m *Config) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Config.Unmarshal(m, b) +} +func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Config.Marshal(b, m, deterministic) +} +func (m *Config) XXX_Merge(src proto.Message) { + xxx_messageInfo_Config.Merge(m, src) +} +func (m *Config) XXX_Size() int { + return xxx_messageInfo_Config.Size(m) +} +func (m *Config) XXX_DiscardUnknown() { + xxx_messageInfo_Config.DiscardUnknown(m) +} + +var xxx_messageInfo_Config proto.InternalMessageInfo + +func (m *Config) GetSequence() uint64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *Config) GetChannelGroup() *ConfigGroup { + if m != nil { + return m.ChannelGroup + } + return nil +} + +type ConfigUpdateEnvelope struct { + ConfigUpdate []byte `protobuf:"bytes,1,opt,name=config_update,json=configUpdate,proto3" json:"config_update,omitempty"` + Signatures []*ConfigSignature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigUpdateEnvelope) Reset() { *m = ConfigUpdateEnvelope{} } +func (m *ConfigUpdateEnvelope) String() string { return proto.CompactTextString(m) } +func (*ConfigUpdateEnvelope) ProtoMessage() {} +func (*ConfigUpdateEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{5} +} + +func (m *ConfigUpdateEnvelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigUpdateEnvelope.Unmarshal(m, b) +} +func (m *ConfigUpdateEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigUpdateEnvelope.Marshal(b, m, deterministic) +} +func (m *ConfigUpdateEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigUpdateEnvelope.Merge(m, src) +} +func (m *ConfigUpdateEnvelope) XXX_Size() int { + return xxx_messageInfo_ConfigUpdateEnvelope.Size(m) +} +func (m *ConfigUpdateEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigUpdateEnvelope.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigUpdateEnvelope proto.InternalMessageInfo + +func (m *ConfigUpdateEnvelope) GetConfigUpdate() []byte { + if m != nil { + return m.ConfigUpdate + } + return nil +} + +func (m *ConfigUpdateEnvelope) GetSignatures() []*ConfigSignature { + if m != nil { + return m.Signatures + } + return nil +} + +// ConfigUpdate is used to submit a subset of config and to have the orderer apply to Config +// it is always submitted inside a ConfigUpdateEnvelope which allows the addition of signatures +// resulting in a new total configuration. The update is applied as follows: +// 1. The versions from all of the elements in the read_set is verified against the versions in the existing config. +// If there is a mismatch in the read versions, then the config update fails and is rejected. +// 2. Any elements in the write_set with the same version as the read_set are ignored. +// 3. The corresponding mod_policy for every remaining element in the write_set is collected. +// 4. Each policy is checked against the signatures from the ConfigUpdateEnvelope, any failing to verify are rejected +// 5. The write_set is applied to the Config and the ConfigGroupSchema verifies that the updates were legal +type ConfigUpdate struct { + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ReadSet *ConfigGroup `protobuf:"bytes,2,opt,name=read_set,json=readSet,proto3" json:"read_set,omitempty"` + WriteSet *ConfigGroup `protobuf:"bytes,3,opt,name=write_set,json=writeSet,proto3" json:"write_set,omitempty"` + IsolatedData map[string][]byte `protobuf:"bytes,5,rep,name=isolated_data,json=isolatedData,proto3" json:"isolated_data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigUpdate) Reset() { *m = ConfigUpdate{} } +func (m *ConfigUpdate) String() string { return proto.CompactTextString(m) } +func (*ConfigUpdate) ProtoMessage() {} +func (*ConfigUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{6} +} + +func (m *ConfigUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigUpdate.Unmarshal(m, b) +} +func (m *ConfigUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigUpdate.Marshal(b, m, deterministic) +} +func (m *ConfigUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigUpdate.Merge(m, src) +} +func (m *ConfigUpdate) XXX_Size() int { + return xxx_messageInfo_ConfigUpdate.Size(m) +} +func (m *ConfigUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigUpdate proto.InternalMessageInfo + +func (m *ConfigUpdate) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func (m *ConfigUpdate) GetReadSet() *ConfigGroup { + if m != nil { + return m.ReadSet + } + return nil +} + +func (m *ConfigUpdate) GetWriteSet() *ConfigGroup { + if m != nil { + return m.WriteSet + } + return nil +} + +func (m *ConfigUpdate) GetIsolatedData() map[string][]byte { + if m != nil { + return m.IsolatedData + } + return nil +} + +// ConfigGroup is the hierarchical data structure for holding config +type ConfigGroup struct { + Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Groups map[string]*ConfigGroup `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Values map[string]*ConfigValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Policies map[string]*ConfigPolicy `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ModPolicy string `protobuf:"bytes,5,opt,name=mod_policy,json=modPolicy,proto3" json:"mod_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigGroup) Reset() { *m = ConfigGroup{} } +func (m *ConfigGroup) String() string { return proto.CompactTextString(m) } +func (*ConfigGroup) ProtoMessage() {} +func (*ConfigGroup) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{7} +} + +func (m *ConfigGroup) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigGroup.Unmarshal(m, b) +} +func (m *ConfigGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigGroup.Marshal(b, m, deterministic) +} +func (m *ConfigGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigGroup.Merge(m, src) +} +func (m *ConfigGroup) XXX_Size() int { + return xxx_messageInfo_ConfigGroup.Size(m) +} +func (m *ConfigGroup) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigGroup.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigGroup proto.InternalMessageInfo + +func (m *ConfigGroup) GetVersion() uint64 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ConfigGroup) GetGroups() map[string]*ConfigGroup { + if m != nil { + return m.Groups + } + return nil +} + +func (m *ConfigGroup) GetValues() map[string]*ConfigValue { + if m != nil { + return m.Values + } + return nil +} + +func (m *ConfigGroup) GetPolicies() map[string]*ConfigPolicy { + if m != nil { + return m.Policies + } + return nil +} + +func (m *ConfigGroup) GetModPolicy() string { + if m != nil { + return m.ModPolicy + } + return "" +} + +// ConfigValue represents an individual piece of config data +type ConfigValue struct { + Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + ModPolicy string `protobuf:"bytes,3,opt,name=mod_policy,json=modPolicy,proto3" json:"mod_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigValue) Reset() { *m = ConfigValue{} } +func (m *ConfigValue) String() string { return proto.CompactTextString(m) } +func (*ConfigValue) ProtoMessage() {} +func (*ConfigValue) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{8} +} + +func (m *ConfigValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigValue.Unmarshal(m, b) +} +func (m *ConfigValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigValue.Marshal(b, m, deterministic) +} +func (m *ConfigValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigValue.Merge(m, src) +} +func (m *ConfigValue) XXX_Size() int { + return xxx_messageInfo_ConfigValue.Size(m) +} +func (m *ConfigValue) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigValue.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigValue proto.InternalMessageInfo + +func (m *ConfigValue) GetVersion() uint64 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ConfigValue) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *ConfigValue) GetModPolicy() string { + if m != nil { + return m.ModPolicy + } + return "" +} + +type ConfigPolicy struct { + Version uint64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Policy *Policy `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"` + ModPolicy string `protobuf:"bytes,3,opt,name=mod_policy,json=modPolicy,proto3" json:"mod_policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigPolicy) Reset() { *m = ConfigPolicy{} } +func (m *ConfigPolicy) String() string { return proto.CompactTextString(m) } +func (*ConfigPolicy) ProtoMessage() {} +func (*ConfigPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{9} +} + +func (m *ConfigPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigPolicy.Unmarshal(m, b) +} +func (m *ConfigPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigPolicy.Marshal(b, m, deterministic) +} +func (m *ConfigPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigPolicy.Merge(m, src) +} +func (m *ConfigPolicy) XXX_Size() int { + return xxx_messageInfo_ConfigPolicy.Size(m) +} +func (m *ConfigPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigPolicy proto.InternalMessageInfo + +func (m *ConfigPolicy) GetVersion() uint64 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ConfigPolicy) GetPolicy() *Policy { + if m != nil { + return m.Policy + } + return nil +} + +func (m *ConfigPolicy) GetModPolicy() string { + if m != nil { + return m.ModPolicy + } + return "" +} + +type ConfigSignature struct { + SignatureHeader []byte `protobuf:"bytes,1,opt,name=signature_header,json=signatureHeader,proto3" json:"signature_header,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigSignature) Reset() { *m = ConfigSignature{} } +func (m *ConfigSignature) String() string { return proto.CompactTextString(m) } +func (*ConfigSignature) ProtoMessage() {} +func (*ConfigSignature) Descriptor() ([]byte, []int) { + return fileDescriptor_5190bbf196fa7499, []int{10} +} + +func (m *ConfigSignature) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigSignature.Unmarshal(m, b) +} +func (m *ConfigSignature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigSignature.Marshal(b, m, deterministic) +} +func (m *ConfigSignature) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigSignature.Merge(m, src) +} +func (m *ConfigSignature) XXX_Size() int { + return xxx_messageInfo_ConfigSignature.Size(m) +} +func (m *ConfigSignature) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigSignature.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigSignature proto.InternalMessageInfo + +func (m *ConfigSignature) GetSignatureHeader() []byte { + if m != nil { + return m.SignatureHeader + } + return nil +} + +func (m *ConfigSignature) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +func init() { + proto.RegisterType((*ConfigEnvelope)(nil), "common.ConfigEnvelope") + proto.RegisterType((*ConfigGroupSchema)(nil), "common.ConfigGroupSchema") + proto.RegisterMapType((map[string]*ConfigGroupSchema)(nil), "common.ConfigGroupSchema.GroupsEntry") + proto.RegisterMapType((map[string]*ConfigPolicySchema)(nil), "common.ConfigGroupSchema.PoliciesEntry") + proto.RegisterMapType((map[string]*ConfigValueSchema)(nil), "common.ConfigGroupSchema.ValuesEntry") + proto.RegisterType((*ConfigValueSchema)(nil), "common.ConfigValueSchema") + proto.RegisterType((*ConfigPolicySchema)(nil), "common.ConfigPolicySchema") + proto.RegisterType((*Config)(nil), "common.Config") + proto.RegisterType((*ConfigUpdateEnvelope)(nil), "common.ConfigUpdateEnvelope") + proto.RegisterType((*ConfigUpdate)(nil), "common.ConfigUpdate") + proto.RegisterMapType((map[string][]byte)(nil), "common.ConfigUpdate.IsolatedDataEntry") + proto.RegisterType((*ConfigGroup)(nil), "common.ConfigGroup") + proto.RegisterMapType((map[string]*ConfigGroup)(nil), "common.ConfigGroup.GroupsEntry") + proto.RegisterMapType((map[string]*ConfigPolicy)(nil), "common.ConfigGroup.PoliciesEntry") + proto.RegisterMapType((map[string]*ConfigValue)(nil), "common.ConfigGroup.ValuesEntry") + proto.RegisterType((*ConfigValue)(nil), "common.ConfigValue") + proto.RegisterType((*ConfigPolicy)(nil), "common.ConfigPolicy") + proto.RegisterType((*ConfigSignature)(nil), "common.ConfigSignature") +} + +func init() { proto.RegisterFile("common/configtx.proto", fileDescriptor_5190bbf196fa7499) } + +var fileDescriptor_5190bbf196fa7499 = []byte{ + // 744 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xe1, 0x6e, 0xd3, 0x3c, + 0x14, 0x55, 0x9b, 0xb6, 0x6b, 0x6f, 0xdb, 0xad, 0xf3, 0xfa, 0xe9, 0x0b, 0x15, 0x88, 0x11, 0x60, + 0x6c, 0x48, 0x4b, 0xc7, 0xf8, 0xb1, 0x09, 0x69, 0x42, 0x62, 0x4c, 0xb0, 0x21, 0x4d, 0x90, 0xc1, + 0x90, 0x26, 0xa4, 0xca, 0x4b, 0xbc, 0x34, 0x2c, 0x8d, 0x43, 0xe2, 0x0e, 0xfa, 0x48, 0x3c, 0x13, + 0x6f, 0xc0, 0x53, 0xa0, 0xd8, 0x4e, 0x70, 0xd6, 0xb4, 0x15, 0xbf, 0x56, 0x5f, 0x9f, 0x73, 0xee, + 0xb5, 0xef, 0xf5, 0xc9, 0xe0, 0x3f, 0x9b, 0x8e, 0x46, 0x34, 0xe8, 0xdb, 0x34, 0xb8, 0xf2, 0x5c, + 0xf6, 0xc3, 0x0c, 0x23, 0xca, 0x28, 0xaa, 0x89, 0x70, 0x6f, 0x2d, 0xdb, 0x4e, 0xfe, 0x88, 0xcd, + 0x5e, 0xca, 0x09, 0xa9, 0xef, 0xd9, 0x1e, 0x89, 0x45, 0xd8, 0xb8, 0x86, 0xe5, 0x43, 0xae, 0x72, + 0x14, 0xdc, 0x10, 0x9f, 0x86, 0x04, 0x6d, 0x40, 0x4d, 0xe8, 0xea, 0xa5, 0xf5, 0xd2, 0x66, 0x73, + 0x77, 0xd9, 0x94, 0x3a, 0x02, 0x67, 0xc9, 0x5d, 0xf4, 0x0c, 0x9a, 0x3e, 0x8e, 0xd9, 0x60, 0x1c, + 0x3a, 0x98, 0x11, 0xbd, 0xcc, 0xc1, 0x9d, 0x14, 0x9c, 0xca, 0x59, 0x90, 0x80, 0x3e, 0x71, 0x8c, + 0xf1, 0x4b, 0x83, 0x55, 0xa1, 0xf2, 0x26, 0xa2, 0xe3, 0xf0, 0xcc, 0x1e, 0x92, 0x11, 0x46, 0x07, + 0x50, 0x73, 0x93, 0x65, 0xac, 0x97, 0xd6, 0xb5, 0xcd, 0xe6, 0xee, 0xe3, 0x7c, 0x42, 0x05, 0x6a, + 0xf2, 0xdf, 0xf1, 0x51, 0xc0, 0xa2, 0x89, 0x25, 0x49, 0x09, 0xfd, 0x06, 0xfb, 0x63, 0x12, 0xeb, + 0xe5, 0x45, 0xf4, 0x73, 0x8e, 0x93, 0x74, 0x41, 0x42, 0x87, 0x50, 0x4f, 0xaf, 0x44, 0xd7, 0xb8, + 0xc0, 0x93, 0xd9, 0x02, 0xef, 0x25, 0x52, 0x48, 0x64, 0xc4, 0xde, 0x47, 0x68, 0x2a, 0xa5, 0xa1, + 0x0e, 0x68, 0xd7, 0x64, 0xc2, 0xef, 0xaf, 0x61, 0x25, 0x3f, 0x51, 0x1f, 0xaa, 0x3c, 0x9f, 0xbc, + 0xa6, 0x3b, 0x33, 0x53, 0x58, 0x02, 0xf7, 0xa2, 0xbc, 0x5f, 0x4a, 0x54, 0x95, 0x8a, 0xff, 0x59, + 0x95, 0x73, 0xa7, 0x55, 0x3f, 0x43, 0x3b, 0x77, 0x8c, 0x02, 0xdd, 0x9d, 0xbc, 0x6e, 0x2f, 0xaf, + 0xcb, 0xd9, 0x93, 0x29, 0x61, 0x63, 0x2d, 0x6d, 0xae, 0x92, 0xd8, 0xe8, 0x02, 0x9a, 0x66, 0x19, + 0x5f, 0xa1, 0x26, 0xa2, 0xa8, 0x07, 0xf5, 0x98, 0x7c, 0x1b, 0x93, 0xc0, 0x26, 0xbc, 0x82, 0x8a, + 0x95, 0xad, 0xd1, 0x3e, 0xb4, 0xed, 0x21, 0x0e, 0x02, 0xe2, 0x0f, 0x78, 0xaf, 0x65, 0x39, 0x6b, + 0x05, 0x97, 0x67, 0xb5, 0x24, 0x92, 0xaf, 0x4e, 0x2a, 0x75, 0xad, 0x53, 0xb1, 0x2a, 0x6c, 0x12, + 0x12, 0x83, 0x41, 0x57, 0x00, 0xc5, 0x10, 0x66, 0x73, 0xfe, 0x10, 0xda, 0x62, 0x92, 0xd3, 0x09, + 0x4e, 0xd2, 0xb7, 0xac, 0x96, 0xad, 0x80, 0xd1, 0x1e, 0x40, 0xec, 0xb9, 0x01, 0x66, 0xe3, 0x28, + 0x1b, 0xb0, 0xff, 0xf3, 0xf9, 0xcf, 0xd2, 0x7d, 0x4b, 0x81, 0x1a, 0x3f, 0xcb, 0xd0, 0x52, 0xd3, + 0xa2, 0x7b, 0x00, 0xe9, 0x61, 0x3c, 0x47, 0x5e, 0x76, 0x43, 0x46, 0x8e, 0x1d, 0x64, 0x42, 0x3d, + 0x22, 0xd8, 0x19, 0xc4, 0x84, 0xcd, 0x3b, 0xe6, 0x52, 0x02, 0x3a, 0x23, 0x0c, 0xed, 0x40, 0xe3, + 0x7b, 0xe4, 0x31, 0xc2, 0x09, 0xda, 0x6c, 0x42, 0x9d, 0xa3, 0x12, 0xc6, 0x3b, 0x68, 0x7b, 0x31, + 0xf5, 0x31, 0x23, 0xce, 0xc0, 0xc1, 0x0c, 0xeb, 0x55, 0x7e, 0x9a, 0x8d, 0x3c, 0x4b, 0x54, 0x6b, + 0x1e, 0x4b, 0xe4, 0x6b, 0xcc, 0xb0, 0x18, 0xf6, 0x96, 0xa7, 0x84, 0x7a, 0x2f, 0x61, 0x75, 0x0a, + 0x52, 0x30, 0x48, 0x5d, 0x75, 0x90, 0x5a, 0xca, 0xb0, 0x9c, 0x54, 0xea, 0x95, 0x4e, 0x55, 0x76, + 0xe8, 0xb7, 0x06, 0x4d, 0xa5, 0x66, 0xa4, 0xc3, 0xd2, 0x0d, 0x89, 0x62, 0x8f, 0x06, 0x72, 0x24, + 0xd2, 0x25, 0xda, 0xcb, 0xac, 0x42, 0xb4, 0xe2, 0x7e, 0xc1, 0x91, 0x0b, 0x4d, 0x62, 0x2f, 0x33, + 0x09, 0x6d, 0x36, 0xb1, 0xc8, 0x1e, 0x0e, 0x14, 0x7b, 0xa8, 0x70, 0xea, 0x83, 0x22, 0xea, 0x0c, + 0x63, 0x48, 0xba, 0x3e, 0xa2, 0xce, 0x80, 0xaf, 0x27, 0x7a, 0x55, 0x74, 0x7d, 0x44, 0x1d, 0xf1, + 0x1a, 0x7a, 0xa7, 0x8b, 0x7c, 0x63, 0x2b, 0xff, 0x12, 0x0b, 0x5b, 0xac, 0xbc, 0xed, 0xd3, 0x45, + 0x8e, 0x31, 0x5f, 0x8f, 0x73, 0x55, 0xbd, 0x0f, 0x8b, 0xbd, 0xe2, 0x69, 0x5e, 0xb1, 0x5b, 0xe4, + 0x15, 0xaa, 0x4b, 0x7c, 0x49, 0x7b, 0xcd, 0x93, 0xcd, 0xe9, 0x75, 0xe1, 0xec, 0xdc, 0xba, 0x50, + 0xed, 0xd6, 0x85, 0x1a, 0x34, 0x7d, 0x75, 0x62, 0x3d, 0x47, 0x7e, 0x03, 0x6a, 0x52, 0xa4, 0x9c, + 0xff, 0xcc, 0xc9, 0x92, 0xe5, 0xee, 0xa2, 0x84, 0x17, 0xb0, 0x72, 0xcb, 0x06, 0xd0, 0x16, 0x74, + 0x32, 0x23, 0x18, 0x0c, 0x09, 0x76, 0x48, 0x24, 0xbd, 0x65, 0x25, 0x8b, 0xbf, 0xe5, 0x61, 0x74, + 0x17, 0x1a, 0x59, 0x48, 0x9e, 0xf3, 0x6f, 0xe0, 0xd5, 0x39, 0x3c, 0xa2, 0x91, 0x6b, 0x0e, 0x27, + 0x21, 0x89, 0x7c, 0xe2, 0xb8, 0x24, 0x32, 0xaf, 0xf0, 0x65, 0xe4, 0xd9, 0xe2, 0xdb, 0x1d, 0xcb, + 0x8a, 0x2f, 0x4c, 0xd7, 0x63, 0xc3, 0xf1, 0x65, 0xb2, 0xec, 0x2b, 0xe0, 0xbe, 0x00, 0x6f, 0x0b, + 0xf0, 0xb6, 0x4b, 0xe5, 0x3f, 0x04, 0x97, 0x35, 0x1e, 0x79, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, + 0x96, 0xdf, 0xe6, 0x5b, 0x47, 0x08, 0x00, 0x00, +} diff --git a/common/configuration.pb.go b/common/configuration.pb.go new file mode 100644 index 0000000..35d7a7a --- /dev/null +++ b/common/configuration.pb.go @@ -0,0 +1,327 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/configuration.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// HashingAlgorithm is encoded into the configuration transaction as a configuration item of type Chain +// with a Key of "HashingAlgorithm" and a Value of HashingAlgorithm as marshaled protobuf bytes +type HashingAlgorithm struct { + // Currently supported algorithms are: SHAKE256 + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HashingAlgorithm) Reset() { *m = HashingAlgorithm{} } +func (m *HashingAlgorithm) String() string { return proto.CompactTextString(m) } +func (*HashingAlgorithm) ProtoMessage() {} +func (*HashingAlgorithm) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{0} +} + +func (m *HashingAlgorithm) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HashingAlgorithm.Unmarshal(m, b) +} +func (m *HashingAlgorithm) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HashingAlgorithm.Marshal(b, m, deterministic) +} +func (m *HashingAlgorithm) XXX_Merge(src proto.Message) { + xxx_messageInfo_HashingAlgorithm.Merge(m, src) +} +func (m *HashingAlgorithm) XXX_Size() int { + return xxx_messageInfo_HashingAlgorithm.Size(m) +} +func (m *HashingAlgorithm) XXX_DiscardUnknown() { + xxx_messageInfo_HashingAlgorithm.DiscardUnknown(m) +} + +var xxx_messageInfo_HashingAlgorithm proto.InternalMessageInfo + +func (m *HashingAlgorithm) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// BlockDataHashingStructure is encoded into the configuration transaction as a configuration item of +// type Chain with a Key of "BlockDataHashingStructure" and a Value of HashingAlgorithm as marshaled protobuf bytes +type BlockDataHashingStructure struct { + // width specifies the width of the Merkle tree to use when computing the BlockDataHash + // in order to replicate flat hashing, set this width to MAX_UINT32 + Width uint32 `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockDataHashingStructure) Reset() { *m = BlockDataHashingStructure{} } +func (m *BlockDataHashingStructure) String() string { return proto.CompactTextString(m) } +func (*BlockDataHashingStructure) ProtoMessage() {} +func (*BlockDataHashingStructure) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{1} +} + +func (m *BlockDataHashingStructure) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockDataHashingStructure.Unmarshal(m, b) +} +func (m *BlockDataHashingStructure) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockDataHashingStructure.Marshal(b, m, deterministic) +} +func (m *BlockDataHashingStructure) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockDataHashingStructure.Merge(m, src) +} +func (m *BlockDataHashingStructure) XXX_Size() int { + return xxx_messageInfo_BlockDataHashingStructure.Size(m) +} +func (m *BlockDataHashingStructure) XXX_DiscardUnknown() { + xxx_messageInfo_BlockDataHashingStructure.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockDataHashingStructure proto.InternalMessageInfo + +func (m *BlockDataHashingStructure) GetWidth() uint32 { + if m != nil { + return m.Width + } + return 0 +} + +// OrdererAddresses is encoded into the configuration transaction as a configuration item of type Chain +// with a Key of "OrdererAddresses" and a Value of OrdererAddresses as marshaled protobuf bytes +type OrdererAddresses struct { + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrdererAddresses) Reset() { *m = OrdererAddresses{} } +func (m *OrdererAddresses) String() string { return proto.CompactTextString(m) } +func (*OrdererAddresses) ProtoMessage() {} +func (*OrdererAddresses) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{2} +} + +func (m *OrdererAddresses) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrdererAddresses.Unmarshal(m, b) +} +func (m *OrdererAddresses) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrdererAddresses.Marshal(b, m, deterministic) +} +func (m *OrdererAddresses) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrdererAddresses.Merge(m, src) +} +func (m *OrdererAddresses) XXX_Size() int { + return xxx_messageInfo_OrdererAddresses.Size(m) +} +func (m *OrdererAddresses) XXX_DiscardUnknown() { + xxx_messageInfo_OrdererAddresses.DiscardUnknown(m) +} + +var xxx_messageInfo_OrdererAddresses proto.InternalMessageInfo + +func (m *OrdererAddresses) GetAddresses() []string { + if m != nil { + return m.Addresses + } + return nil +} + +// Consortium represents the consortium context in which the channel was created +type Consortium struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Consortium) Reset() { *m = Consortium{} } +func (m *Consortium) String() string { return proto.CompactTextString(m) } +func (*Consortium) ProtoMessage() {} +func (*Consortium) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{3} +} + +func (m *Consortium) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Consortium.Unmarshal(m, b) +} +func (m *Consortium) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Consortium.Marshal(b, m, deterministic) +} +func (m *Consortium) XXX_Merge(src proto.Message) { + xxx_messageInfo_Consortium.Merge(m, src) +} +func (m *Consortium) XXX_Size() int { + return xxx_messageInfo_Consortium.Size(m) +} +func (m *Consortium) XXX_DiscardUnknown() { + xxx_messageInfo_Consortium.DiscardUnknown(m) +} + +var xxx_messageInfo_Consortium proto.InternalMessageInfo + +func (m *Consortium) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// Capabilities message defines the capabilities a particular binary must implement +// for that binary to be able to safely participate in the channel. The capabilities +// message is defined at the /Channel level, the /Channel/Application level, and the +// /Channel/Orderer level. +// +// The /Channel level capabilties define capabilities which both the orderer and peer +// binaries must satisfy. These capabilties might be things like a new MSP type, +// or a new policy type. +// +// The /Channel/Orderer level capabilties define capabilities which must be supported +// by the orderer, but which have no bearing on the behavior of the peer. For instance +// if the orderer changes the logic for how it constructs new channels, only all orderers +// must agree on the new logic. The peers do not need to be aware of this change as +// they only interact with the channel after it has been constructed. +// +// Finally, the /Channel/Application level capabilities define capabilities which the peer +// binary must satisfy, but which have no bearing on the orderer. For instance, if the +// peer adds a new UTXO transaction type, or changes the chaincode lifecycle requirements, +// all peers must agree on the new logic. However, orderers never inspect transactions +// this deeply, and therefore have no need to be aware of the change. +// +// The capabilities strings defined in these messages typically correspond to release +// binary versions (e.g. "V1.1"), and are used primarilly as a mechanism for a fully +// upgraded network to switch from one set of logic to a new one. +// +// Although for V1.1, the orderers must be upgraded to V1.1 prior to the rest of the +// network, going forward, because of the split between the /Channel, /Channel/Orderer +// and /Channel/Application capabilities. It should be possible for the orderer and +// application networks to upgrade themselves independently (with the exception of any +// new capabilities defined at the /Channel level). +type Capabilities struct { + Capabilities map[string]*Capability `protobuf:"bytes,1,rep,name=capabilities,proto3" json:"capabilities,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Capabilities) Reset() { *m = Capabilities{} } +func (m *Capabilities) String() string { return proto.CompactTextString(m) } +func (*Capabilities) ProtoMessage() {} +func (*Capabilities) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{4} +} + +func (m *Capabilities) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Capabilities.Unmarshal(m, b) +} +func (m *Capabilities) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Capabilities.Marshal(b, m, deterministic) +} +func (m *Capabilities) XXX_Merge(src proto.Message) { + xxx_messageInfo_Capabilities.Merge(m, src) +} +func (m *Capabilities) XXX_Size() int { + return xxx_messageInfo_Capabilities.Size(m) +} +func (m *Capabilities) XXX_DiscardUnknown() { + xxx_messageInfo_Capabilities.DiscardUnknown(m) +} + +var xxx_messageInfo_Capabilities proto.InternalMessageInfo + +func (m *Capabilities) GetCapabilities() map[string]*Capability { + if m != nil { + return m.Capabilities + } + return nil +} + +// Capability is an empty message for the time being. It is defined as a protobuf +// message rather than a constant, so that we may extend capabilities with other fields +// if the need arises in the future. For the time being, a capability being in the +// capabilities map requires that that capability be supported. +type Capability struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Capability) Reset() { *m = Capability{} } +func (m *Capability) String() string { return proto.CompactTextString(m) } +func (*Capability) ProtoMessage() {} +func (*Capability) Descriptor() ([]byte, []int) { + return fileDescriptor_cba1ec2883858369, []int{5} +} + +func (m *Capability) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Capability.Unmarshal(m, b) +} +func (m *Capability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Capability.Marshal(b, m, deterministic) +} +func (m *Capability) XXX_Merge(src proto.Message) { + xxx_messageInfo_Capability.Merge(m, src) +} +func (m *Capability) XXX_Size() int { + return xxx_messageInfo_Capability.Size(m) +} +func (m *Capability) XXX_DiscardUnknown() { + xxx_messageInfo_Capability.DiscardUnknown(m) +} + +var xxx_messageInfo_Capability proto.InternalMessageInfo + +func init() { + proto.RegisterType((*HashingAlgorithm)(nil), "common.HashingAlgorithm") + proto.RegisterType((*BlockDataHashingStructure)(nil), "common.BlockDataHashingStructure") + proto.RegisterType((*OrdererAddresses)(nil), "common.OrdererAddresses") + proto.RegisterType((*Consortium)(nil), "common.Consortium") + proto.RegisterType((*Capabilities)(nil), "common.Capabilities") + proto.RegisterMapType((map[string]*Capability)(nil), "common.Capabilities.CapabilitiesEntry") + proto.RegisterType((*Capability)(nil), "common.Capability") +} + +func init() { proto.RegisterFile("common/configuration.proto", fileDescriptor_cba1ec2883858369) } + +var fileDescriptor_cba1ec2883858369 = []byte{ + // 318 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x41, 0x6b, 0xf2, 0x40, + 0x10, 0x86, 0x89, 0x7e, 0x0a, 0x8e, 0x7e, 0x60, 0x97, 0x1e, 0xac, 0xf4, 0x10, 0x42, 0x91, 0x5c, + 0x4c, 0x5a, 0x7b, 0x29, 0xbd, 0xa9, 0x2d, 0x94, 0x5e, 0x0a, 0x11, 0x7a, 0xe8, 0x6d, 0x93, 0xac, + 0x9b, 0xc5, 0x64, 0x57, 0x66, 0x77, 0x5b, 0xf2, 0xab, 0xfa, 0x17, 0x8b, 0x59, 0x8b, 0x8a, 0xbd, + 0xcd, 0x33, 0xf3, 0xbc, 0x93, 0x09, 0x0b, 0xe3, 0x4c, 0x55, 0x95, 0x92, 0x71, 0xa6, 0xe4, 0x5a, + 0x70, 0x8b, 0xd4, 0x08, 0x25, 0xa3, 0x2d, 0x2a, 0xa3, 0x48, 0xd7, 0xcd, 0x82, 0x09, 0x0c, 0x5f, + 0xa8, 0x2e, 0x84, 0xe4, 0xf3, 0x92, 0x2b, 0x14, 0xa6, 0xa8, 0x08, 0x81, 0x7f, 0x92, 0x56, 0x6c, + 0xe4, 0xf9, 0x5e, 0xd8, 0x4b, 0x9a, 0x3a, 0xb8, 0x83, 0xab, 0x45, 0xa9, 0xb2, 0xcd, 0x13, 0x35, + 0x74, 0x1f, 0x58, 0x19, 0xb4, 0x99, 0xb1, 0xc8, 0xc8, 0x25, 0x74, 0xbe, 0x44, 0x6e, 0x8a, 0x26, + 0xf1, 0x3f, 0x71, 0x10, 0xdc, 0xc2, 0xf0, 0x0d, 0x73, 0x86, 0x0c, 0xe7, 0x79, 0x8e, 0x4c, 0x6b, + 0xa6, 0xc9, 0x35, 0xf4, 0xe8, 0x2f, 0x8c, 0x3c, 0xbf, 0x1d, 0xf6, 0x92, 0x43, 0x23, 0xf0, 0x01, + 0x96, 0x4a, 0x6a, 0x85, 0x46, 0xd8, 0xbf, 0xcf, 0xf8, 0xf6, 0x60, 0xb0, 0xa4, 0x5b, 0x9a, 0x8a, + 0x52, 0x18, 0xc1, 0x34, 0x79, 0x85, 0x41, 0x76, 0xc4, 0xcd, 0xce, 0xfe, 0x6c, 0x12, 0xb9, 0xdf, + 0x8b, 0x8e, 0xdd, 0x13, 0x78, 0x96, 0x06, 0xeb, 0xe4, 0x24, 0x3b, 0x5e, 0xc1, 0xc5, 0x99, 0x42, + 0x86, 0xd0, 0xde, 0xb0, 0x7a, 0x7f, 0xc4, 0xae, 0x24, 0x21, 0x74, 0x3e, 0x69, 0x69, 0xd9, 0xa8, + 0xe5, 0x7b, 0x61, 0x7f, 0x46, 0xce, 0xbe, 0x55, 0x27, 0x4e, 0x78, 0x6c, 0x3d, 0x78, 0xc1, 0x00, + 0xe0, 0x30, 0x58, 0xbc, 0xc3, 0x8d, 0x42, 0x1e, 0x15, 0xf5, 0x96, 0x61, 0xc9, 0x72, 0xce, 0x30, + 0x5a, 0xd3, 0x14, 0x45, 0xe6, 0x9e, 0x45, 0xef, 0x77, 0x7d, 0x44, 0x5c, 0x98, 0xc2, 0xa6, 0x3b, + 0x8c, 0x8f, 0xe4, 0xd8, 0xc9, 0x53, 0x27, 0x4f, 0xb9, 0x8a, 0x9d, 0x9f, 0x76, 0x9b, 0xce, 0xfd, + 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xe7, 0x4b, 0x89, 0xf3, 0x01, 0x00, 0x00, +} diff --git a/common/ledger.pb.go b/common/ledger.pb.go new file mode 100644 index 0000000..86f3287 --- /dev/null +++ b/common/ledger.pb.go @@ -0,0 +1,100 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/ledger.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// Contains information about the blockchain ledger such as height, current +// block hash, and previous block hash. +type BlockchainInfo struct { + Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` + CurrentBlockHash []byte `protobuf:"bytes,2,opt,name=currentBlockHash,proto3" json:"currentBlockHash,omitempty"` + PreviousBlockHash []byte `protobuf:"bytes,3,opt,name=previousBlockHash,proto3" json:"previousBlockHash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockchainInfo) Reset() { *m = BlockchainInfo{} } +func (m *BlockchainInfo) String() string { return proto.CompactTextString(m) } +func (*BlockchainInfo) ProtoMessage() {} +func (*BlockchainInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_da3410306adbea27, []int{0} +} + +func (m *BlockchainInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockchainInfo.Unmarshal(m, b) +} +func (m *BlockchainInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockchainInfo.Marshal(b, m, deterministic) +} +func (m *BlockchainInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockchainInfo.Merge(m, src) +} +func (m *BlockchainInfo) XXX_Size() int { + return xxx_messageInfo_BlockchainInfo.Size(m) +} +func (m *BlockchainInfo) XXX_DiscardUnknown() { + xxx_messageInfo_BlockchainInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockchainInfo proto.InternalMessageInfo + +func (m *BlockchainInfo) GetHeight() uint64 { + if m != nil { + return m.Height + } + return 0 +} + +func (m *BlockchainInfo) GetCurrentBlockHash() []byte { + if m != nil { + return m.CurrentBlockHash + } + return nil +} + +func (m *BlockchainInfo) GetPreviousBlockHash() []byte { + if m != nil { + return m.PreviousBlockHash + } + return nil +} + +func init() { + proto.RegisterType((*BlockchainInfo)(nil), "common.BlockchainInfo") +} + +func init() { proto.RegisterFile("common/ledger.proto", fileDescriptor_da3410306adbea27) } + +var fileDescriptor_da3410306adbea27 = []byte{ + // 189 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4e, 0xce, 0xcf, 0xcd, + 0xcd, 0xcf, 0xd3, 0xcf, 0x49, 0x4d, 0x49, 0x4f, 0x2d, 0xd2, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, + 0x62, 0x83, 0x08, 0x2a, 0x35, 0x31, 0x72, 0xf1, 0x39, 0xe5, 0xe4, 0x27, 0x67, 0x27, 0x67, 0x24, + 0x66, 0xe6, 0x79, 0xe6, 0xa5, 0xe5, 0x0b, 0x89, 0x71, 0xb1, 0x65, 0xa4, 0x66, 0xa6, 0x67, 0x94, + 0x48, 0x30, 0x2a, 0x30, 0x6a, 0xb0, 0x04, 0x41, 0x79, 0x42, 0x5a, 0x5c, 0x02, 0xc9, 0xa5, 0x45, + 0x45, 0xa9, 0x79, 0x25, 0x60, 0x0d, 0x1e, 0x89, 0xc5, 0x19, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0x3c, + 0x41, 0x18, 0xe2, 0x42, 0x3a, 0x5c, 0x82, 0x05, 0x45, 0xa9, 0x65, 0x99, 0xf9, 0xa5, 0xc5, 0x08, + 0xc5, 0xcc, 0x60, 0xc5, 0x98, 0x12, 0x4e, 0x61, 0x5c, 0x2a, 0xf9, 0x45, 0xe9, 0x7a, 0x19, 0x95, + 0x05, 0xa9, 0x45, 0x50, 0x57, 0xa6, 0x25, 0x26, 0x15, 0x65, 0x26, 0x43, 0x1c, 0x5b, 0xac, 0x07, + 0x71, 0x6c, 0x94, 0x5e, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x12, 0x88, 0xab, 0x8f, 0xa4, 0x58, 0x1f, + 0xa2, 0x58, 0x17, 0xa2, 0x58, 0x37, 0x3d, 0x5f, 0x1f, 0xa2, 0x3e, 0x89, 0x0d, 0x2c, 0x62, 0x0c, + 0x08, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x1e, 0x95, 0x9c, 0x02, 0x01, 0x00, 0x00, +} diff --git a/common/policies.pb.go b/common/policies.pb.go new file mode 100644 index 0000000..f7c2ebb --- /dev/null +++ b/common/policies.pb.go @@ -0,0 +1,421 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: common/policies.proto + +package common + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + msp "github.com/hyperledger/fabric-protos-go/msp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type Policy_PolicyType int32 + +const ( + Policy_UNKNOWN Policy_PolicyType = 0 + Policy_SIGNATURE Policy_PolicyType = 1 + Policy_MSP Policy_PolicyType = 2 + Policy_IMPLICIT_META Policy_PolicyType = 3 +) + +var Policy_PolicyType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SIGNATURE", + 2: "MSP", + 3: "IMPLICIT_META", +} + +var Policy_PolicyType_value = map[string]int32{ + "UNKNOWN": 0, + "SIGNATURE": 1, + "MSP": 2, + "IMPLICIT_META": 3, +} + +func (x Policy_PolicyType) String() string { + return proto.EnumName(Policy_PolicyType_name, int32(x)) +} + +func (Policy_PolicyType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{0, 0} +} + +type ImplicitMetaPolicy_Rule int32 + +const ( + ImplicitMetaPolicy_ANY ImplicitMetaPolicy_Rule = 0 + ImplicitMetaPolicy_ALL ImplicitMetaPolicy_Rule = 1 + ImplicitMetaPolicy_MAJORITY ImplicitMetaPolicy_Rule = 2 +) + +var ImplicitMetaPolicy_Rule_name = map[int32]string{ + 0: "ANY", + 1: "ALL", + 2: "MAJORITY", +} + +var ImplicitMetaPolicy_Rule_value = map[string]int32{ + "ANY": 0, + "ALL": 1, + "MAJORITY": 2, +} + +func (x ImplicitMetaPolicy_Rule) String() string { + return proto.EnumName(ImplicitMetaPolicy_Rule_name, int32(x)) +} + +func (ImplicitMetaPolicy_Rule) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{3, 0} +} + +// Policy expresses a policy which the orderer can evaluate, because there has been some desire expressed to support +// multiple policy engines, this is typed as a oneof for now +type Policy struct { + Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Policy) Reset() { *m = Policy{} } +func (m *Policy) String() string { return proto.CompactTextString(m) } +func (*Policy) ProtoMessage() {} +func (*Policy) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{0} +} + +func (m *Policy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Policy.Unmarshal(m, b) +} +func (m *Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Policy.Marshal(b, m, deterministic) +} +func (m *Policy) XXX_Merge(src proto.Message) { + xxx_messageInfo_Policy.Merge(m, src) +} +func (m *Policy) XXX_Size() int { + return xxx_messageInfo_Policy.Size(m) +} +func (m *Policy) XXX_DiscardUnknown() { + xxx_messageInfo_Policy.DiscardUnknown(m) +} + +var xxx_messageInfo_Policy proto.InternalMessageInfo + +func (m *Policy) GetType() int32 { + if m != nil { + return m.Type + } + return 0 +} + +func (m *Policy) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +// SignaturePolicyEnvelope wraps a SignaturePolicy and includes a version for future enhancements +type SignaturePolicyEnvelope struct { + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Rule *SignaturePolicy `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` + Identities []*msp.MSPPrincipal `protobuf:"bytes,3,rep,name=identities,proto3" json:"identities,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignaturePolicyEnvelope) Reset() { *m = SignaturePolicyEnvelope{} } +func (m *SignaturePolicyEnvelope) String() string { return proto.CompactTextString(m) } +func (*SignaturePolicyEnvelope) ProtoMessage() {} +func (*SignaturePolicyEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{1} +} + +func (m *SignaturePolicyEnvelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignaturePolicyEnvelope.Unmarshal(m, b) +} +func (m *SignaturePolicyEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignaturePolicyEnvelope.Marshal(b, m, deterministic) +} +func (m *SignaturePolicyEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignaturePolicyEnvelope.Merge(m, src) +} +func (m *SignaturePolicyEnvelope) XXX_Size() int { + return xxx_messageInfo_SignaturePolicyEnvelope.Size(m) +} +func (m *SignaturePolicyEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_SignaturePolicyEnvelope.DiscardUnknown(m) +} + +var xxx_messageInfo_SignaturePolicyEnvelope proto.InternalMessageInfo + +func (m *SignaturePolicyEnvelope) GetVersion() int32 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *SignaturePolicyEnvelope) GetRule() *SignaturePolicy { + if m != nil { + return m.Rule + } + return nil +} + +func (m *SignaturePolicyEnvelope) GetIdentities() []*msp.MSPPrincipal { + if m != nil { + return m.Identities + } + return nil +} + +// SignaturePolicy is a recursive message structure which defines a featherweight DSL for describing +// policies which are more complicated than 'exactly this signature'. The NOutOf operator is sufficent +// to express AND as well as OR, as well as of course N out of the following M policies +// SignedBy implies that the signature is from a valid certificate which is signed by the trusted +// authority specified in the bytes. This will be the certificate itself for a self-signed certificate +// and will be the CA for more traditional certificates +type SignaturePolicy struct { + // Types that are valid to be assigned to Type: + // *SignaturePolicy_SignedBy + // *SignaturePolicy_NOutOf_ + Type isSignaturePolicy_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignaturePolicy) Reset() { *m = SignaturePolicy{} } +func (m *SignaturePolicy) String() string { return proto.CompactTextString(m) } +func (*SignaturePolicy) ProtoMessage() {} +func (*SignaturePolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{2} +} + +func (m *SignaturePolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignaturePolicy.Unmarshal(m, b) +} +func (m *SignaturePolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignaturePolicy.Marshal(b, m, deterministic) +} +func (m *SignaturePolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignaturePolicy.Merge(m, src) +} +func (m *SignaturePolicy) XXX_Size() int { + return xxx_messageInfo_SignaturePolicy.Size(m) +} +func (m *SignaturePolicy) XXX_DiscardUnknown() { + xxx_messageInfo_SignaturePolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_SignaturePolicy proto.InternalMessageInfo + +type isSignaturePolicy_Type interface { + isSignaturePolicy_Type() +} + +type SignaturePolicy_SignedBy struct { + SignedBy int32 `protobuf:"varint,1,opt,name=signed_by,json=signedBy,proto3,oneof"` +} + +type SignaturePolicy_NOutOf_ struct { + NOutOf *SignaturePolicy_NOutOf `protobuf:"bytes,2,opt,name=n_out_of,json=nOutOf,proto3,oneof"` +} + +func (*SignaturePolicy_SignedBy) isSignaturePolicy_Type() {} + +func (*SignaturePolicy_NOutOf_) isSignaturePolicy_Type() {} + +func (m *SignaturePolicy) GetType() isSignaturePolicy_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *SignaturePolicy) GetSignedBy() int32 { + if x, ok := m.GetType().(*SignaturePolicy_SignedBy); ok { + return x.SignedBy + } + return 0 +} + +func (m *SignaturePolicy) GetNOutOf() *SignaturePolicy_NOutOf { + if x, ok := m.GetType().(*SignaturePolicy_NOutOf_); ok { + return x.NOutOf + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*SignaturePolicy) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*SignaturePolicy_SignedBy)(nil), + (*SignaturePolicy_NOutOf_)(nil), + } +} + +type SignaturePolicy_NOutOf struct { + N int32 `protobuf:"varint,1,opt,name=n,proto3" json:"n,omitempty"` + Rules []*SignaturePolicy `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignaturePolicy_NOutOf) Reset() { *m = SignaturePolicy_NOutOf{} } +func (m *SignaturePolicy_NOutOf) String() string { return proto.CompactTextString(m) } +func (*SignaturePolicy_NOutOf) ProtoMessage() {} +func (*SignaturePolicy_NOutOf) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{2, 0} +} + +func (m *SignaturePolicy_NOutOf) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignaturePolicy_NOutOf.Unmarshal(m, b) +} +func (m *SignaturePolicy_NOutOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignaturePolicy_NOutOf.Marshal(b, m, deterministic) +} +func (m *SignaturePolicy_NOutOf) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignaturePolicy_NOutOf.Merge(m, src) +} +func (m *SignaturePolicy_NOutOf) XXX_Size() int { + return xxx_messageInfo_SignaturePolicy_NOutOf.Size(m) +} +func (m *SignaturePolicy_NOutOf) XXX_DiscardUnknown() { + xxx_messageInfo_SignaturePolicy_NOutOf.DiscardUnknown(m) +} + +var xxx_messageInfo_SignaturePolicy_NOutOf proto.InternalMessageInfo + +func (m *SignaturePolicy_NOutOf) GetN() int32 { + if m != nil { + return m.N + } + return 0 +} + +func (m *SignaturePolicy_NOutOf) GetRules() []*SignaturePolicy { + if m != nil { + return m.Rules + } + return nil +} + +// ImplicitMetaPolicy is a policy type which depends on the hierarchical nature of the configuration +// It is implicit because the rule is generate implicitly based on the number of sub policies +// It is meta because it depends only on the result of other policies +// When evaluated, this policy iterates over all immediate child sub-groups, retrieves the policy +// of name sub_policy, evaluates the collection and applies the rule. +// For example, with 4 sub-groups, and a policy name of "foo", ImplicitMetaPolicy retrieves +// each sub-group, retrieves policy "foo" for each subgroup, evaluates it, and, in the case of ANY +// 1 satisfied is sufficient, ALL would require 4 signatures, and MAJORITY would require 3 signatures. +type ImplicitMetaPolicy struct { + SubPolicy string `protobuf:"bytes,1,opt,name=sub_policy,json=subPolicy,proto3" json:"sub_policy,omitempty"` + Rule ImplicitMetaPolicy_Rule `protobuf:"varint,2,opt,name=rule,proto3,enum=common.ImplicitMetaPolicy_Rule" json:"rule,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ImplicitMetaPolicy) Reset() { *m = ImplicitMetaPolicy{} } +func (m *ImplicitMetaPolicy) String() string { return proto.CompactTextString(m) } +func (*ImplicitMetaPolicy) ProtoMessage() {} +func (*ImplicitMetaPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_0d02cf0d453425a3, []int{3} +} + +func (m *ImplicitMetaPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ImplicitMetaPolicy.Unmarshal(m, b) +} +func (m *ImplicitMetaPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ImplicitMetaPolicy.Marshal(b, m, deterministic) +} +func (m *ImplicitMetaPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ImplicitMetaPolicy.Merge(m, src) +} +func (m *ImplicitMetaPolicy) XXX_Size() int { + return xxx_messageInfo_ImplicitMetaPolicy.Size(m) +} +func (m *ImplicitMetaPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ImplicitMetaPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ImplicitMetaPolicy proto.InternalMessageInfo + +func (m *ImplicitMetaPolicy) GetSubPolicy() string { + if m != nil { + return m.SubPolicy + } + return "" +} + +func (m *ImplicitMetaPolicy) GetRule() ImplicitMetaPolicy_Rule { + if m != nil { + return m.Rule + } + return ImplicitMetaPolicy_ANY +} + +func init() { + proto.RegisterEnum("common.Policy_PolicyType", Policy_PolicyType_name, Policy_PolicyType_value) + proto.RegisterEnum("common.ImplicitMetaPolicy_Rule", ImplicitMetaPolicy_Rule_name, ImplicitMetaPolicy_Rule_value) + proto.RegisterType((*Policy)(nil), "common.Policy") + proto.RegisterType((*SignaturePolicyEnvelope)(nil), "common.SignaturePolicyEnvelope") + proto.RegisterType((*SignaturePolicy)(nil), "common.SignaturePolicy") + proto.RegisterType((*SignaturePolicy_NOutOf)(nil), "common.SignaturePolicy.NOutOf") + proto.RegisterType((*ImplicitMetaPolicy)(nil), "common.ImplicitMetaPolicy") +} + +func init() { proto.RegisterFile("common/policies.proto", fileDescriptor_0d02cf0d453425a3) } + +var fileDescriptor_0d02cf0d453425a3 = []byte{ + // 483 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xdf, 0x8f, 0xd2, 0x40, + 0x10, 0xc7, 0x29, 0x3f, 0x0a, 0x0c, 0x9c, 0xd6, 0xcd, 0x19, 0xc8, 0x25, 0x2a, 0x69, 0x8c, 0x21, + 0x31, 0x94, 0x84, 0xf3, 0xc9, 0x37, 0x50, 0xe2, 0x55, 0x69, 0x21, 0x0b, 0xa7, 0x39, 0x5f, 0x1a, + 0x0a, 0x4b, 0x6f, 0x93, 0xb2, 0xbb, 0xe9, 0x6e, 0x89, 0xfc, 0x17, 0x3e, 0xf9, 0xcf, 0xf8, 0xcf, + 0x99, 0x76, 0xa9, 0x21, 0x77, 0xb9, 0xb7, 0x99, 0xe9, 0x67, 0xa6, 0xdf, 0xef, 0xec, 0xc0, 0xcb, + 0x0d, 0xdf, 0xef, 0x39, 0x1b, 0x0a, 0x1e, 0xd3, 0x0d, 0x25, 0xd2, 0x11, 0x09, 0x57, 0x1c, 0x99, + 0xba, 0x7c, 0xd5, 0xd9, 0x4b, 0x31, 0xdc, 0x4b, 0x11, 0x88, 0x84, 0xb2, 0x0d, 0x15, 0xeb, 0x58, + 0x03, 0xf6, 0x2f, 0x30, 0x17, 0x59, 0xcb, 0x11, 0x21, 0xa8, 0xaa, 0xa3, 0x20, 0x5d, 0xa3, 0x67, + 0xf4, 0x6b, 0x38, 0x8f, 0xd1, 0x25, 0xd4, 0x0e, 0xeb, 0x38, 0x25, 0xdd, 0x72, 0xcf, 0xe8, 0xb7, + 0xb1, 0x4e, 0xec, 0xcf, 0x00, 0xba, 0x67, 0x95, 0x31, 0x2d, 0xa8, 0xdf, 0xfa, 0xdf, 0xfc, 0xf9, + 0x0f, 0xdf, 0x2a, 0xa1, 0x0b, 0x68, 0x2e, 0xdd, 0x2f, 0xfe, 0x78, 0x75, 0x8b, 0xa7, 0x96, 0x81, + 0xea, 0x50, 0xf1, 0x96, 0x0b, 0xab, 0x8c, 0x5e, 0xc0, 0x85, 0xeb, 0x2d, 0x66, 0xee, 0x27, 0x77, + 0x15, 0x78, 0xd3, 0xd5, 0xd8, 0xaa, 0xd8, 0x7f, 0x0c, 0xe8, 0x2c, 0x69, 0xc4, 0xd6, 0x2a, 0x4d, + 0x88, 0x9e, 0x37, 0x65, 0x07, 0x12, 0x73, 0x41, 0x50, 0x17, 0xea, 0x07, 0x92, 0x48, 0xca, 0xd9, + 0x49, 0x4e, 0x91, 0xa2, 0xf7, 0x50, 0x4d, 0xd2, 0x58, 0x0b, 0x6a, 0x8d, 0x3a, 0x8e, 0xf6, 0xe7, + 0x3c, 0x18, 0x84, 0x73, 0x08, 0x7d, 0x00, 0xa0, 0x5b, 0xc2, 0x14, 0x55, 0x94, 0xc8, 0x6e, 0xa5, + 0x57, 0xe9, 0xb7, 0x46, 0x97, 0x45, 0x8b, 0xb7, 0x5c, 0x2c, 0x8a, 0x65, 0xe0, 0x33, 0xce, 0xfe, + 0x6b, 0xc0, 0xf3, 0x07, 0xf3, 0xd0, 0x2b, 0x68, 0x4a, 0x1a, 0x31, 0xb2, 0x0d, 0xc2, 0xa3, 0x96, + 0x74, 0x53, 0xc2, 0x0d, 0x5d, 0x9a, 0x1c, 0xd1, 0x47, 0x68, 0xb0, 0x80, 0xa7, 0x2a, 0xe0, 0xbb, + 0x93, 0xb2, 0xd7, 0x4f, 0x28, 0x73, 0xfc, 0x79, 0xaa, 0xe6, 0xbb, 0x9b, 0x12, 0x36, 0x59, 0x1e, + 0x5d, 0x4d, 0xc1, 0xd4, 0x35, 0xd4, 0x06, 0xa3, 0xf0, 0x6b, 0x30, 0x34, 0x80, 0x5a, 0x66, 0x42, + 0x76, 0xcb, 0xb9, 0xee, 0x27, 0xad, 0x6a, 0x6a, 0x62, 0x42, 0x35, 0x7b, 0x0e, 0xfb, 0xb7, 0x01, + 0xc8, 0xdd, 0x8b, 0xec, 0x0a, 0x94, 0x47, 0xd4, 0xfa, 0xbf, 0x01, 0x90, 0x69, 0x18, 0xe4, 0xe7, + 0xa1, 0x1d, 0x34, 0x71, 0x53, 0xa6, 0xe1, 0xe9, 0xf3, 0xf5, 0xd9, 0x5a, 0x9f, 0x8d, 0xde, 0x14, + 0xff, 0x7a, 0x3c, 0xc8, 0xc1, 0x69, 0x4c, 0xf4, 0x7a, 0xed, 0x77, 0x50, 0xcd, 0xb2, 0xec, 0x95, + 0xc7, 0xfe, 0x9d, 0x55, 0xca, 0x83, 0xd9, 0xcc, 0x32, 0x50, 0x1b, 0x1a, 0xde, 0xf8, 0xeb, 0x1c, + 0xbb, 0xab, 0x3b, 0xab, 0x3c, 0xf9, 0x0e, 0x6f, 0x79, 0x12, 0x39, 0xf7, 0x47, 0x41, 0x92, 0x98, + 0x6c, 0x23, 0x92, 0x38, 0xbb, 0x75, 0x98, 0xd0, 0x8d, 0xbe, 0x41, 0x79, 0xfa, 0xdb, 0x4f, 0x27, + 0xa2, 0xea, 0x3e, 0x0d, 0xb3, 0x74, 0x78, 0x06, 0x0f, 0x35, 0x3c, 0xd0, 0xf0, 0x20, 0xe2, 0x43, + 0xcd, 0x87, 0x66, 0x5e, 0xb9, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x38, 0xcf, 0x03, 0x1e, 0xfc, + 0x02, 0x00, 0x00, +} diff --git a/discovery/protocol.pb.go b/discovery/protocol.pb.go new file mode 100644 index 0000000..632ef69 --- /dev/null +++ b/discovery/protocol.pb.go @@ -0,0 +1,1367 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: discovery/protocol.proto + +package discovery + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + gossip "github.com/hyperledger/fabric-protos-go/gossip" + msp "github.com/hyperledger/fabric-protos-go/msp" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// SignedRequest contains a serialized Request in the payload field +// and a signature. +// The identity that is used to verify the signature +// can be extracted from the authentication field of type AuthInfo +// in the Request itself after deserializing it. +type SignedRequest struct { + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignedRequest) Reset() { *m = SignedRequest{} } +func (m *SignedRequest) String() string { return proto.CompactTextString(m) } +func (*SignedRequest) ProtoMessage() {} +func (*SignedRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{0} +} + +func (m *SignedRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignedRequest.Unmarshal(m, b) +} +func (m *SignedRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignedRequest.Marshal(b, m, deterministic) +} +func (m *SignedRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedRequest.Merge(m, src) +} +func (m *SignedRequest) XXX_Size() int { + return xxx_messageInfo_SignedRequest.Size(m) +} +func (m *SignedRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SignedRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedRequest proto.InternalMessageInfo + +func (m *SignedRequest) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *SignedRequest) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +// Request contains authentication info about the client that sent the request +// and the queries it wishes to query the service +type Request struct { + // authentication contains information that the service uses to check + // the client's eligibility for the queries. + Authentication *AuthInfo `protobuf:"bytes,1,opt,name=authentication,proto3" json:"authentication,omitempty"` + // queries + Queries []*Query `protobuf:"bytes,2,rep,name=queries,proto3" json:"queries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Request) Reset() { *m = Request{} } +func (m *Request) String() string { return proto.CompactTextString(m) } +func (*Request) ProtoMessage() {} +func (*Request) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{1} +} + +func (m *Request) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Request.Unmarshal(m, b) +} +func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Request.Marshal(b, m, deterministic) +} +func (m *Request) XXX_Merge(src proto.Message) { + xxx_messageInfo_Request.Merge(m, src) +} +func (m *Request) XXX_Size() int { + return xxx_messageInfo_Request.Size(m) +} +func (m *Request) XXX_DiscardUnknown() { + xxx_messageInfo_Request.DiscardUnknown(m) +} + +var xxx_messageInfo_Request proto.InternalMessageInfo + +func (m *Request) GetAuthentication() *AuthInfo { + if m != nil { + return m.Authentication + } + return nil +} + +func (m *Request) GetQueries() []*Query { + if m != nil { + return m.Queries + } + return nil +} + +type Response struct { + // The results are returned in the same order of the queries + Results []*QueryResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Response) Reset() { *m = Response{} } +func (m *Response) String() string { return proto.CompactTextString(m) } +func (*Response) ProtoMessage() {} +func (*Response) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{2} +} + +func (m *Response) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Response.Unmarshal(m, b) +} +func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Response.Marshal(b, m, deterministic) +} +func (m *Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_Response.Merge(m, src) +} +func (m *Response) XXX_Size() int { + return xxx_messageInfo_Response.Size(m) +} +func (m *Response) XXX_DiscardUnknown() { + xxx_messageInfo_Response.DiscardUnknown(m) +} + +var xxx_messageInfo_Response proto.InternalMessageInfo + +func (m *Response) GetResults() []*QueryResult { + if m != nil { + return m.Results + } + return nil +} + +// AuthInfo aggregates authentication information that the server uses +// to authenticate the client +type AuthInfo struct { + // This is the identity of the client that is used to verify the signature + // on the SignedRequest's payload. + // It is a msp.SerializedIdentity in bytes form + ClientIdentity []byte `protobuf:"bytes,1,opt,name=client_identity,json=clientIdentity,proto3" json:"client_identity,omitempty"` + // This is the hash of the client's TLS cert. + // When the network is running with TLS, clients that don't include a certificate + // will be denied access to the service. + // Since the Request is encapsulated with a SignedRequest (which is signed), + // this binds the TLS session to the enrollement identity of the client and + // therefore both authenticates the client to the server, + // and also prevents the server from relaying the request message to another server. + ClientTlsCertHash []byte `protobuf:"bytes,2,opt,name=client_tls_cert_hash,json=clientTlsCertHash,proto3" json:"client_tls_cert_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AuthInfo) Reset() { *m = AuthInfo{} } +func (m *AuthInfo) String() string { return proto.CompactTextString(m) } +func (*AuthInfo) ProtoMessage() {} +func (*AuthInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{3} +} + +func (m *AuthInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AuthInfo.Unmarshal(m, b) +} +func (m *AuthInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AuthInfo.Marshal(b, m, deterministic) +} +func (m *AuthInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_AuthInfo.Merge(m, src) +} +func (m *AuthInfo) XXX_Size() int { + return xxx_messageInfo_AuthInfo.Size(m) +} +func (m *AuthInfo) XXX_DiscardUnknown() { + xxx_messageInfo_AuthInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_AuthInfo proto.InternalMessageInfo + +func (m *AuthInfo) GetClientIdentity() []byte { + if m != nil { + return m.ClientIdentity + } + return nil +} + +func (m *AuthInfo) GetClientTlsCertHash() []byte { + if m != nil { + return m.ClientTlsCertHash + } + return nil +} + +// Query asks for information in the context of a specific channel +type Query struct { + Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` + // Types that are valid to be assigned to Query: + // *Query_ConfigQuery + // *Query_PeerQuery + // *Query_CcQuery + // *Query_LocalPeers + Query isQuery_Query `protobuf_oneof:"query"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Query) Reset() { *m = Query{} } +func (m *Query) String() string { return proto.CompactTextString(m) } +func (*Query) ProtoMessage() {} +func (*Query) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{4} +} + +func (m *Query) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Query.Unmarshal(m, b) +} +func (m *Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Query.Marshal(b, m, deterministic) +} +func (m *Query) XXX_Merge(src proto.Message) { + xxx_messageInfo_Query.Merge(m, src) +} +func (m *Query) XXX_Size() int { + return xxx_messageInfo_Query.Size(m) +} +func (m *Query) XXX_DiscardUnknown() { + xxx_messageInfo_Query.DiscardUnknown(m) +} + +var xxx_messageInfo_Query proto.InternalMessageInfo + +func (m *Query) GetChannel() string { + if m != nil { + return m.Channel + } + return "" +} + +type isQuery_Query interface { + isQuery_Query() +} + +type Query_ConfigQuery struct { + ConfigQuery *ConfigQuery `protobuf:"bytes,2,opt,name=config_query,json=configQuery,proto3,oneof"` +} + +type Query_PeerQuery struct { + PeerQuery *PeerMembershipQuery `protobuf:"bytes,3,opt,name=peer_query,json=peerQuery,proto3,oneof"` +} + +type Query_CcQuery struct { + CcQuery *ChaincodeQuery `protobuf:"bytes,4,opt,name=cc_query,json=ccQuery,proto3,oneof"` +} + +type Query_LocalPeers struct { + LocalPeers *LocalPeerQuery `protobuf:"bytes,5,opt,name=local_peers,json=localPeers,proto3,oneof"` +} + +func (*Query_ConfigQuery) isQuery_Query() {} + +func (*Query_PeerQuery) isQuery_Query() {} + +func (*Query_CcQuery) isQuery_Query() {} + +func (*Query_LocalPeers) isQuery_Query() {} + +func (m *Query) GetQuery() isQuery_Query { + if m != nil { + return m.Query + } + return nil +} + +func (m *Query) GetConfigQuery() *ConfigQuery { + if x, ok := m.GetQuery().(*Query_ConfigQuery); ok { + return x.ConfigQuery + } + return nil +} + +func (m *Query) GetPeerQuery() *PeerMembershipQuery { + if x, ok := m.GetQuery().(*Query_PeerQuery); ok { + return x.PeerQuery + } + return nil +} + +func (m *Query) GetCcQuery() *ChaincodeQuery { + if x, ok := m.GetQuery().(*Query_CcQuery); ok { + return x.CcQuery + } + return nil +} + +func (m *Query) GetLocalPeers() *LocalPeerQuery { + if x, ok := m.GetQuery().(*Query_LocalPeers); ok { + return x.LocalPeers + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Query) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Query_ConfigQuery)(nil), + (*Query_PeerQuery)(nil), + (*Query_CcQuery)(nil), + (*Query_LocalPeers)(nil), + } +} + +// QueryResult contains a result for a given Query. +// The corresponding Query can be inferred by the index of the QueryResult from +// its enclosing Response message. +// QueryResults are ordered in the same order as the Queries are ordered in their enclosing Request. +type QueryResult struct { + // Types that are valid to be assigned to Result: + // *QueryResult_Error + // *QueryResult_ConfigResult + // *QueryResult_CcQueryRes + // *QueryResult_Members + Result isQueryResult_Result `protobuf_oneof:"result"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResult) Reset() { *m = QueryResult{} } +func (m *QueryResult) String() string { return proto.CompactTextString(m) } +func (*QueryResult) ProtoMessage() {} +func (*QueryResult) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{5} +} + +func (m *QueryResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResult.Unmarshal(m, b) +} +func (m *QueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResult.Marshal(b, m, deterministic) +} +func (m *QueryResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResult.Merge(m, src) +} +func (m *QueryResult) XXX_Size() int { + return xxx_messageInfo_QueryResult.Size(m) +} +func (m *QueryResult) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResult.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResult proto.InternalMessageInfo + +type isQueryResult_Result interface { + isQueryResult_Result() +} + +type QueryResult_Error struct { + Error *Error `protobuf:"bytes,1,opt,name=error,proto3,oneof"` +} + +type QueryResult_ConfigResult struct { + ConfigResult *ConfigResult `protobuf:"bytes,2,opt,name=config_result,json=configResult,proto3,oneof"` +} + +type QueryResult_CcQueryRes struct { + CcQueryRes *ChaincodeQueryResult `protobuf:"bytes,3,opt,name=cc_query_res,json=ccQueryRes,proto3,oneof"` +} + +type QueryResult_Members struct { + Members *PeerMembershipResult `protobuf:"bytes,4,opt,name=members,proto3,oneof"` +} + +func (*QueryResult_Error) isQueryResult_Result() {} + +func (*QueryResult_ConfigResult) isQueryResult_Result() {} + +func (*QueryResult_CcQueryRes) isQueryResult_Result() {} + +func (*QueryResult_Members) isQueryResult_Result() {} + +func (m *QueryResult) GetResult() isQueryResult_Result { + if m != nil { + return m.Result + } + return nil +} + +func (m *QueryResult) GetError() *Error { + if x, ok := m.GetResult().(*QueryResult_Error); ok { + return x.Error + } + return nil +} + +func (m *QueryResult) GetConfigResult() *ConfigResult { + if x, ok := m.GetResult().(*QueryResult_ConfigResult); ok { + return x.ConfigResult + } + return nil +} + +func (m *QueryResult) GetCcQueryRes() *ChaincodeQueryResult { + if x, ok := m.GetResult().(*QueryResult_CcQueryRes); ok { + return x.CcQueryRes + } + return nil +} + +func (m *QueryResult) GetMembers() *PeerMembershipResult { + if x, ok := m.GetResult().(*QueryResult_Members); ok { + return x.Members + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*QueryResult) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*QueryResult_Error)(nil), + (*QueryResult_ConfigResult)(nil), + (*QueryResult_CcQueryRes)(nil), + (*QueryResult_Members)(nil), + } +} + +// ConfigQuery requests a ConfigResult +type ConfigQuery struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigQuery) Reset() { *m = ConfigQuery{} } +func (m *ConfigQuery) String() string { return proto.CompactTextString(m) } +func (*ConfigQuery) ProtoMessage() {} +func (*ConfigQuery) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{6} +} + +func (m *ConfigQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigQuery.Unmarshal(m, b) +} +func (m *ConfigQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigQuery.Marshal(b, m, deterministic) +} +func (m *ConfigQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigQuery.Merge(m, src) +} +func (m *ConfigQuery) XXX_Size() int { + return xxx_messageInfo_ConfigQuery.Size(m) +} +func (m *ConfigQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigQuery proto.InternalMessageInfo + +type ConfigResult struct { + // msps is a map from MSP_ID to FabricMSPConfig + Msps map[string]*msp.FabricMSPConfig `protobuf:"bytes,1,rep,name=msps,proto3" json:"msps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // orderers is a map from MSP_ID to endpoint lists of orderers + Orderers map[string]*Endpoints `protobuf:"bytes,2,rep,name=orderers,proto3" json:"orderers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigResult) Reset() { *m = ConfigResult{} } +func (m *ConfigResult) String() string { return proto.CompactTextString(m) } +func (*ConfigResult) ProtoMessage() {} +func (*ConfigResult) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{7} +} + +func (m *ConfigResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigResult.Unmarshal(m, b) +} +func (m *ConfigResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigResult.Marshal(b, m, deterministic) +} +func (m *ConfigResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigResult.Merge(m, src) +} +func (m *ConfigResult) XXX_Size() int { + return xxx_messageInfo_ConfigResult.Size(m) +} +func (m *ConfigResult) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigResult.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigResult proto.InternalMessageInfo + +func (m *ConfigResult) GetMsps() map[string]*msp.FabricMSPConfig { + if m != nil { + return m.Msps + } + return nil +} + +func (m *ConfigResult) GetOrderers() map[string]*Endpoints { + if m != nil { + return m.Orderers + } + return nil +} + +// PeerMembershipQuery requests PeerMembershipResult. +// The filter field may be optionally populated in order +// for the peer membership to be filtered according to +// chaincodes that are installed on peers and collection +// access control policies. +type PeerMembershipQuery struct { + Filter *ChaincodeInterest `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PeerMembershipQuery) Reset() { *m = PeerMembershipQuery{} } +func (m *PeerMembershipQuery) String() string { return proto.CompactTextString(m) } +func (*PeerMembershipQuery) ProtoMessage() {} +func (*PeerMembershipQuery) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{8} +} + +func (m *PeerMembershipQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PeerMembershipQuery.Unmarshal(m, b) +} +func (m *PeerMembershipQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PeerMembershipQuery.Marshal(b, m, deterministic) +} +func (m *PeerMembershipQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_PeerMembershipQuery.Merge(m, src) +} +func (m *PeerMembershipQuery) XXX_Size() int { + return xxx_messageInfo_PeerMembershipQuery.Size(m) +} +func (m *PeerMembershipQuery) XXX_DiscardUnknown() { + xxx_messageInfo_PeerMembershipQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_PeerMembershipQuery proto.InternalMessageInfo + +func (m *PeerMembershipQuery) GetFilter() *ChaincodeInterest { + if m != nil { + return m.Filter + } + return nil +} + +// PeerMembershipResult contains peers mapped by their organizations (MSP_ID) +type PeerMembershipResult struct { + PeersByOrg map[string]*Peers `protobuf:"bytes,1,rep,name=peers_by_org,json=peersByOrg,proto3" json:"peers_by_org,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PeerMembershipResult) Reset() { *m = PeerMembershipResult{} } +func (m *PeerMembershipResult) String() string { return proto.CompactTextString(m) } +func (*PeerMembershipResult) ProtoMessage() {} +func (*PeerMembershipResult) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{9} +} + +func (m *PeerMembershipResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PeerMembershipResult.Unmarshal(m, b) +} +func (m *PeerMembershipResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PeerMembershipResult.Marshal(b, m, deterministic) +} +func (m *PeerMembershipResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_PeerMembershipResult.Merge(m, src) +} +func (m *PeerMembershipResult) XXX_Size() int { + return xxx_messageInfo_PeerMembershipResult.Size(m) +} +func (m *PeerMembershipResult) XXX_DiscardUnknown() { + xxx_messageInfo_PeerMembershipResult.DiscardUnknown(m) +} + +var xxx_messageInfo_PeerMembershipResult proto.InternalMessageInfo + +func (m *PeerMembershipResult) GetPeersByOrg() map[string]*Peers { + if m != nil { + return m.PeersByOrg + } + return nil +} + +// ChaincodeQuery requests ChaincodeQueryResults for a given +// list of chaincode invocations. +// Each invocation is a separate one, and the endorsement policy +// is evaluated independantly for each given interest. +type ChaincodeQuery struct { + Interests []*ChaincodeInterest `protobuf:"bytes,1,rep,name=interests,proto3" json:"interests,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeQuery) Reset() { *m = ChaincodeQuery{} } +func (m *ChaincodeQuery) String() string { return proto.CompactTextString(m) } +func (*ChaincodeQuery) ProtoMessage() {} +func (*ChaincodeQuery) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{10} +} + +func (m *ChaincodeQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeQuery.Unmarshal(m, b) +} +func (m *ChaincodeQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeQuery.Marshal(b, m, deterministic) +} +func (m *ChaincodeQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeQuery.Merge(m, src) +} +func (m *ChaincodeQuery) XXX_Size() int { + return xxx_messageInfo_ChaincodeQuery.Size(m) +} +func (m *ChaincodeQuery) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeQuery proto.InternalMessageInfo + +func (m *ChaincodeQuery) GetInterests() []*ChaincodeInterest { + if m != nil { + return m.Interests + } + return nil +} + +// ChaincodeInterest defines an interest about an endorsement +// for a specific single chaincode invocation. +// Multiple chaincodes indicate chaincode to chaincode invocations. +type ChaincodeInterest struct { + Chaincodes []*ChaincodeCall `protobuf:"bytes,1,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeInterest) Reset() { *m = ChaincodeInterest{} } +func (m *ChaincodeInterest) String() string { return proto.CompactTextString(m) } +func (*ChaincodeInterest) ProtoMessage() {} +func (*ChaincodeInterest) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{11} +} + +func (m *ChaincodeInterest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeInterest.Unmarshal(m, b) +} +func (m *ChaincodeInterest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeInterest.Marshal(b, m, deterministic) +} +func (m *ChaincodeInterest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeInterest.Merge(m, src) +} +func (m *ChaincodeInterest) XXX_Size() int { + return xxx_messageInfo_ChaincodeInterest.Size(m) +} +func (m *ChaincodeInterest) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeInterest.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeInterest proto.InternalMessageInfo + +func (m *ChaincodeInterest) GetChaincodes() []*ChaincodeCall { + if m != nil { + return m.Chaincodes + } + return nil +} + +// ChaincodeCall defines a call to a chaincode. +// It may have collections that are related to the chaincode +type ChaincodeCall struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + CollectionNames []string `protobuf:"bytes,2,rep,name=collection_names,json=collectionNames,proto3" json:"collection_names,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeCall) Reset() { *m = ChaincodeCall{} } +func (m *ChaincodeCall) String() string { return proto.CompactTextString(m) } +func (*ChaincodeCall) ProtoMessage() {} +func (*ChaincodeCall) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{12} +} + +func (m *ChaincodeCall) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeCall.Unmarshal(m, b) +} +func (m *ChaincodeCall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeCall.Marshal(b, m, deterministic) +} +func (m *ChaincodeCall) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeCall.Merge(m, src) +} +func (m *ChaincodeCall) XXX_Size() int { + return xxx_messageInfo_ChaincodeCall.Size(m) +} +func (m *ChaincodeCall) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeCall.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeCall proto.InternalMessageInfo + +func (m *ChaincodeCall) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeCall) GetCollectionNames() []string { + if m != nil { + return m.CollectionNames + } + return nil +} + +// ChaincodeQueryResult contains EndorsementDescriptors for +// chaincodes +type ChaincodeQueryResult struct { + Content []*EndorsementDescriptor `protobuf:"bytes,1,rep,name=content,proto3" json:"content,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeQueryResult) Reset() { *m = ChaincodeQueryResult{} } +func (m *ChaincodeQueryResult) String() string { return proto.CompactTextString(m) } +func (*ChaincodeQueryResult) ProtoMessage() {} +func (*ChaincodeQueryResult) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{13} +} + +func (m *ChaincodeQueryResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeQueryResult.Unmarshal(m, b) +} +func (m *ChaincodeQueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeQueryResult.Marshal(b, m, deterministic) +} +func (m *ChaincodeQueryResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeQueryResult.Merge(m, src) +} +func (m *ChaincodeQueryResult) XXX_Size() int { + return xxx_messageInfo_ChaincodeQueryResult.Size(m) +} +func (m *ChaincodeQueryResult) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeQueryResult.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeQueryResult proto.InternalMessageInfo + +func (m *ChaincodeQueryResult) GetContent() []*EndorsementDescriptor { + if m != nil { + return m.Content + } + return nil +} + +// LocalPeerQuery queries for peers in a non channel context +type LocalPeerQuery struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LocalPeerQuery) Reset() { *m = LocalPeerQuery{} } +func (m *LocalPeerQuery) String() string { return proto.CompactTextString(m) } +func (*LocalPeerQuery) ProtoMessage() {} +func (*LocalPeerQuery) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{14} +} + +func (m *LocalPeerQuery) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LocalPeerQuery.Unmarshal(m, b) +} +func (m *LocalPeerQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LocalPeerQuery.Marshal(b, m, deterministic) +} +func (m *LocalPeerQuery) XXX_Merge(src proto.Message) { + xxx_messageInfo_LocalPeerQuery.Merge(m, src) +} +func (m *LocalPeerQuery) XXX_Size() int { + return xxx_messageInfo_LocalPeerQuery.Size(m) +} +func (m *LocalPeerQuery) XXX_DiscardUnknown() { + xxx_messageInfo_LocalPeerQuery.DiscardUnknown(m) +} + +var xxx_messageInfo_LocalPeerQuery proto.InternalMessageInfo + +// EndorsementDescriptor contains information about which peers can be used +// to request endorsement from, such that the endorsement policy would be fulfilled. +// Here is how to compute a set of peers to ask an endorsement from, given an EndorsementDescriptor: +// Let e: G --> P be the endorsers_by_groups field that maps a group to a set of peers. +// Note that applying e on a group g yields a set of peers. +// 1) Select a layout l: G --> N out of the layouts given. +// l is the quantities_by_group field of a Layout, and it maps a group to an integer. +// 2) R = {} (an empty set of peers) +// 3) For each group g in the layout l, compute n = l(g) +// 3.1) Denote P_g as a set of n random peers {p0, p1, ... p_n} selected from e(g) +// 3.2) R = R U P_g (add P_g to R) +// 4) The set of peers R is the peers the client needs to request endorsements from +type EndorsementDescriptor struct { + Chaincode string `protobuf:"bytes,1,opt,name=chaincode,proto3" json:"chaincode,omitempty"` + // Specifies the endorsers, separated to groups. + EndorsersByGroups map[string]*Peers `protobuf:"bytes,2,rep,name=endorsers_by_groups,json=endorsersByGroups,proto3" json:"endorsers_by_groups,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Specifies options of fulfulling the endorsement policy. + // Each option lists the group names, and the amount of signatures needed + // from each group. + Layouts []*Layout `protobuf:"bytes,3,rep,name=layouts,proto3" json:"layouts,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EndorsementDescriptor) Reset() { *m = EndorsementDescriptor{} } +func (m *EndorsementDescriptor) String() string { return proto.CompactTextString(m) } +func (*EndorsementDescriptor) ProtoMessage() {} +func (*EndorsementDescriptor) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{15} +} + +func (m *EndorsementDescriptor) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EndorsementDescriptor.Unmarshal(m, b) +} +func (m *EndorsementDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EndorsementDescriptor.Marshal(b, m, deterministic) +} +func (m *EndorsementDescriptor) XXX_Merge(src proto.Message) { + xxx_messageInfo_EndorsementDescriptor.Merge(m, src) +} +func (m *EndorsementDescriptor) XXX_Size() int { + return xxx_messageInfo_EndorsementDescriptor.Size(m) +} +func (m *EndorsementDescriptor) XXX_DiscardUnknown() { + xxx_messageInfo_EndorsementDescriptor.DiscardUnknown(m) +} + +var xxx_messageInfo_EndorsementDescriptor proto.InternalMessageInfo + +func (m *EndorsementDescriptor) GetChaincode() string { + if m != nil { + return m.Chaincode + } + return "" +} + +func (m *EndorsementDescriptor) GetEndorsersByGroups() map[string]*Peers { + if m != nil { + return m.EndorsersByGroups + } + return nil +} + +func (m *EndorsementDescriptor) GetLayouts() []*Layout { + if m != nil { + return m.Layouts + } + return nil +} + +// Layout contains a mapping from a group name to number of peers +// that are needed for fulfilling an endorsement policy +type Layout struct { + // Specifies how many non repeated signatures of each group + // are needed for endorsement + QuantitiesByGroup map[string]uint32 `protobuf:"bytes,1,rep,name=quantities_by_group,json=quantitiesByGroup,proto3" json:"quantities_by_group,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Layout) Reset() { *m = Layout{} } +func (m *Layout) String() string { return proto.CompactTextString(m) } +func (*Layout) ProtoMessage() {} +func (*Layout) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{16} +} + +func (m *Layout) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Layout.Unmarshal(m, b) +} +func (m *Layout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Layout.Marshal(b, m, deterministic) +} +func (m *Layout) XXX_Merge(src proto.Message) { + xxx_messageInfo_Layout.Merge(m, src) +} +func (m *Layout) XXX_Size() int { + return xxx_messageInfo_Layout.Size(m) +} +func (m *Layout) XXX_DiscardUnknown() { + xxx_messageInfo_Layout.DiscardUnknown(m) +} + +var xxx_messageInfo_Layout proto.InternalMessageInfo + +func (m *Layout) GetQuantitiesByGroup() map[string]uint32 { + if m != nil { + return m.QuantitiesByGroup + } + return nil +} + +// Peers contains a list of Peer(s) +type Peers struct { + Peers []*Peer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Peers) Reset() { *m = Peers{} } +func (m *Peers) String() string { return proto.CompactTextString(m) } +func (*Peers) ProtoMessage() {} +func (*Peers) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{17} +} + +func (m *Peers) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Peers.Unmarshal(m, b) +} +func (m *Peers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Peers.Marshal(b, m, deterministic) +} +func (m *Peers) XXX_Merge(src proto.Message) { + xxx_messageInfo_Peers.Merge(m, src) +} +func (m *Peers) XXX_Size() int { + return xxx_messageInfo_Peers.Size(m) +} +func (m *Peers) XXX_DiscardUnknown() { + xxx_messageInfo_Peers.DiscardUnknown(m) +} + +var xxx_messageInfo_Peers proto.InternalMessageInfo + +func (m *Peers) GetPeers() []*Peer { + if m != nil { + return m.Peers + } + return nil +} + +// Peer contains information about the peer such as its channel specific +// state, and membership information. +type Peer struct { + // This is an Envelope of a GossipMessage with a gossip.StateInfo message + StateInfo *gossip.Envelope `protobuf:"bytes,1,opt,name=state_info,json=stateInfo,proto3" json:"state_info,omitempty"` + // This is an Envelope of a GossipMessage with a gossip.AliveMessage message + MembershipInfo *gossip.Envelope `protobuf:"bytes,2,opt,name=membership_info,json=membershipInfo,proto3" json:"membership_info,omitempty"` + // This is the msp.SerializedIdentity of the peer, represented in bytes. + Identity []byte `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Peer) Reset() { *m = Peer{} } +func (m *Peer) String() string { return proto.CompactTextString(m) } +func (*Peer) ProtoMessage() {} +func (*Peer) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{18} +} + +func (m *Peer) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Peer.Unmarshal(m, b) +} +func (m *Peer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Peer.Marshal(b, m, deterministic) +} +func (m *Peer) XXX_Merge(src proto.Message) { + xxx_messageInfo_Peer.Merge(m, src) +} +func (m *Peer) XXX_Size() int { + return xxx_messageInfo_Peer.Size(m) +} +func (m *Peer) XXX_DiscardUnknown() { + xxx_messageInfo_Peer.DiscardUnknown(m) +} + +var xxx_messageInfo_Peer proto.InternalMessageInfo + +func (m *Peer) GetStateInfo() *gossip.Envelope { + if m != nil { + return m.StateInfo + } + return nil +} + +func (m *Peer) GetMembershipInfo() *gossip.Envelope { + if m != nil { + return m.MembershipInfo + } + return nil +} + +func (m *Peer) GetIdentity() []byte { + if m != nil { + return m.Identity + } + return nil +} + +// Error denotes that something went wrong and contains the error message +type Error struct { + Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Error) Reset() { *m = Error{} } +func (m *Error) String() string { return proto.CompactTextString(m) } +func (*Error) ProtoMessage() {} +func (*Error) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{19} +} + +func (m *Error) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Error.Unmarshal(m, b) +} +func (m *Error) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Error.Marshal(b, m, deterministic) +} +func (m *Error) XXX_Merge(src proto.Message) { + xxx_messageInfo_Error.Merge(m, src) +} +func (m *Error) XXX_Size() int { + return xxx_messageInfo_Error.Size(m) +} +func (m *Error) XXX_DiscardUnknown() { + xxx_messageInfo_Error.DiscardUnknown(m) +} + +var xxx_messageInfo_Error proto.InternalMessageInfo + +func (m *Error) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +// Endpoints is a list of Endpoint(s) +type Endpoints struct { + Endpoint []*Endpoint `protobuf:"bytes,1,rep,name=endpoint,proto3" json:"endpoint,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Endpoints) Reset() { *m = Endpoints{} } +func (m *Endpoints) String() string { return proto.CompactTextString(m) } +func (*Endpoints) ProtoMessage() {} +func (*Endpoints) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{20} +} + +func (m *Endpoints) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Endpoints.Unmarshal(m, b) +} +func (m *Endpoints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Endpoints.Marshal(b, m, deterministic) +} +func (m *Endpoints) XXX_Merge(src proto.Message) { + xxx_messageInfo_Endpoints.Merge(m, src) +} +func (m *Endpoints) XXX_Size() int { + return xxx_messageInfo_Endpoints.Size(m) +} +func (m *Endpoints) XXX_DiscardUnknown() { + xxx_messageInfo_Endpoints.DiscardUnknown(m) +} + +var xxx_messageInfo_Endpoints proto.InternalMessageInfo + +func (m *Endpoints) GetEndpoint() []*Endpoint { + if m != nil { + return m.Endpoint + } + return nil +} + +// Endpoint is a combination of a host and a port +type Endpoint struct { + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Endpoint) Reset() { *m = Endpoint{} } +func (m *Endpoint) String() string { return proto.CompactTextString(m) } +func (*Endpoint) ProtoMessage() {} +func (*Endpoint) Descriptor() ([]byte, []int) { + return fileDescriptor_ce69bf33982206ff, []int{21} +} + +func (m *Endpoint) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Endpoint.Unmarshal(m, b) +} +func (m *Endpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Endpoint.Marshal(b, m, deterministic) +} +func (m *Endpoint) XXX_Merge(src proto.Message) { + xxx_messageInfo_Endpoint.Merge(m, src) +} +func (m *Endpoint) XXX_Size() int { + return xxx_messageInfo_Endpoint.Size(m) +} +func (m *Endpoint) XXX_DiscardUnknown() { + xxx_messageInfo_Endpoint.DiscardUnknown(m) +} + +var xxx_messageInfo_Endpoint proto.InternalMessageInfo + +func (m *Endpoint) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +func (m *Endpoint) GetPort() uint32 { + if m != nil { + return m.Port + } + return 0 +} + +func init() { + proto.RegisterType((*SignedRequest)(nil), "discovery.SignedRequest") + proto.RegisterType((*Request)(nil), "discovery.Request") + proto.RegisterType((*Response)(nil), "discovery.Response") + proto.RegisterType((*AuthInfo)(nil), "discovery.AuthInfo") + proto.RegisterType((*Query)(nil), "discovery.Query") + proto.RegisterType((*QueryResult)(nil), "discovery.QueryResult") + proto.RegisterType((*ConfigQuery)(nil), "discovery.ConfigQuery") + proto.RegisterType((*ConfigResult)(nil), "discovery.ConfigResult") + proto.RegisterMapType((map[string]*msp.FabricMSPConfig)(nil), "discovery.ConfigResult.MspsEntry") + proto.RegisterMapType((map[string]*Endpoints)(nil), "discovery.ConfigResult.OrderersEntry") + proto.RegisterType((*PeerMembershipQuery)(nil), "discovery.PeerMembershipQuery") + proto.RegisterType((*PeerMembershipResult)(nil), "discovery.PeerMembershipResult") + proto.RegisterMapType((map[string]*Peers)(nil), "discovery.PeerMembershipResult.PeersByOrgEntry") + proto.RegisterType((*ChaincodeQuery)(nil), "discovery.ChaincodeQuery") + proto.RegisterType((*ChaincodeInterest)(nil), "discovery.ChaincodeInterest") + proto.RegisterType((*ChaincodeCall)(nil), "discovery.ChaincodeCall") + proto.RegisterType((*ChaincodeQueryResult)(nil), "discovery.ChaincodeQueryResult") + proto.RegisterType((*LocalPeerQuery)(nil), "discovery.LocalPeerQuery") + proto.RegisterType((*EndorsementDescriptor)(nil), "discovery.EndorsementDescriptor") + proto.RegisterMapType((map[string]*Peers)(nil), "discovery.EndorsementDescriptor.EndorsersByGroupsEntry") + proto.RegisterType((*Layout)(nil), "discovery.Layout") + proto.RegisterMapType((map[string]uint32)(nil), "discovery.Layout.QuantitiesByGroupEntry") + proto.RegisterType((*Peers)(nil), "discovery.Peers") + proto.RegisterType((*Peer)(nil), "discovery.Peer") + proto.RegisterType((*Error)(nil), "discovery.Error") + proto.RegisterType((*Endpoints)(nil), "discovery.Endpoints") + proto.RegisterType((*Endpoint)(nil), "discovery.Endpoint") +} + +func init() { proto.RegisterFile("discovery/protocol.proto", fileDescriptor_ce69bf33982206ff) } + +var fileDescriptor_ce69bf33982206ff = []byte{ + // 1145 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x5b, 0x6f, 0x1b, 0xc5, + 0x17, 0x8f, 0x9d, 0x38, 0xb6, 0x8f, 0xe3, 0x5c, 0x26, 0xfe, 0xf7, 0x6f, 0xac, 0x8a, 0xb6, 0x2b, + 0x15, 0x42, 0x51, 0x6d, 0x48, 0xb9, 0xb4, 0x49, 0x04, 0x6a, 0x2e, 0x6d, 0x22, 0x9a, 0x26, 0x99, + 0x22, 0x84, 0x78, 0xb1, 0x36, 0xeb, 0x93, 0xf5, 0x8a, 0xf5, 0xce, 0x66, 0x66, 0x36, 0xd2, 0x3e, + 0xf3, 0xce, 0x47, 0xe0, 0x85, 0x17, 0xc4, 0x47, 0xe0, 0xd3, 0xa1, 0x9d, 0xcb, 0x7a, 0xed, 0x6c, + 0x28, 0x12, 0x6f, 0x33, 0xe7, 0x9c, 0xdf, 0xef, 0x5c, 0xe7, 0x02, 0xdd, 0x51, 0x20, 0x3c, 0x76, + 0x83, 0x3c, 0x1d, 0xc4, 0x9c, 0x49, 0xe6, 0xb1, 0xb0, 0xaf, 0x16, 0xa4, 0x99, 0x6b, 0x7a, 0x1d, + 0x9f, 0x09, 0x11, 0xc4, 0x83, 0x09, 0x0a, 0xe1, 0xfa, 0xa8, 0x0d, 0x7a, 0x9d, 0x89, 0x88, 0x07, + 0x13, 0x11, 0x0f, 0x3d, 0x16, 0x5d, 0x05, 0xbe, 0x96, 0x3a, 0xaf, 0xa1, 0xfd, 0x2e, 0xf0, 0x23, + 0x1c, 0x51, 0xbc, 0x4e, 0x50, 0x48, 0xd2, 0x85, 0x7a, 0xec, 0xa6, 0x21, 0x73, 0x47, 0xdd, 0xca, + 0xc3, 0xca, 0xd6, 0x0a, 0xb5, 0x5b, 0x72, 0x1f, 0x9a, 0x22, 0xf0, 0x23, 0x57, 0x26, 0x1c, 0xbb, + 0x55, 0xa5, 0x9b, 0x0a, 0x1c, 0x0e, 0x75, 0x4b, 0xb1, 0x0b, 0xab, 0x6e, 0x22, 0xc7, 0x18, 0xc9, + 0xc0, 0x73, 0x65, 0xc0, 0x22, 0xc5, 0xd4, 0xda, 0xde, 0xec, 0xe7, 0x31, 0xf6, 0x5f, 0x26, 0x72, + 0x7c, 0x12, 0x5d, 0x31, 0x3a, 0x67, 0x4a, 0x9e, 0x40, 0xfd, 0x3a, 0x41, 0x1e, 0xa0, 0xe8, 0x56, + 0x1f, 0x2e, 0x6e, 0xb5, 0xb6, 0xd7, 0x0b, 0xa8, 0x8b, 0x04, 0x79, 0x4a, 0xad, 0x81, 0xb3, 0x07, + 0x0d, 0x8a, 0x22, 0x66, 0x91, 0x40, 0xf2, 0x19, 0xd4, 0x39, 0x8a, 0x24, 0x94, 0xa2, 0x5b, 0x51, + 0xb8, 0x7b, 0xb7, 0x70, 0x4a, 0x4d, 0xad, 0x99, 0x33, 0x82, 0x86, 0x8d, 0x82, 0x7c, 0x0c, 0x6b, + 0x5e, 0x18, 0x60, 0x24, 0x87, 0xc1, 0x28, 0x0b, 0x46, 0xa6, 0x26, 0xfb, 0x55, 0x2d, 0x3e, 0x31, + 0x52, 0x32, 0x80, 0x8e, 0x31, 0x94, 0xa1, 0x18, 0x7a, 0xc8, 0xe5, 0x70, 0xec, 0x8a, 0xb1, 0xa9, + 0xc7, 0x86, 0xd6, 0x7d, 0x1f, 0x8a, 0x03, 0xe4, 0xf2, 0xd8, 0x15, 0x63, 0xe7, 0xb7, 0x2a, 0xd4, + 0x94, 0xfb, 0xac, 0xb2, 0xde, 0xd8, 0x8d, 0x22, 0x0c, 0x15, 0x77, 0x93, 0xda, 0x2d, 0xd9, 0x85, + 0x15, 0xdd, 0x94, 0x61, 0x96, 0x59, 0xaa, 0xc8, 0x66, 0x13, 0x38, 0x50, 0x6a, 0xc5, 0x73, 0xbc, + 0x40, 0x5b, 0xde, 0x74, 0x4b, 0xbe, 0x05, 0x88, 0x11, 0xb9, 0x81, 0x2e, 0x2a, 0xe8, 0x87, 0x05, + 0xe8, 0x39, 0x22, 0x3f, 0xc5, 0xc9, 0x25, 0x72, 0x31, 0x0e, 0x62, 0x4b, 0xd1, 0xcc, 0x30, 0x9a, + 0xe0, 0x2b, 0x68, 0x78, 0x9e, 0x81, 0x2f, 0x29, 0xf8, 0x07, 0x45, 0xcf, 0x63, 0x37, 0x88, 0x3c, + 0x36, 0x42, 0x8b, 0xac, 0x7b, 0x9e, 0xc6, 0xed, 0x41, 0x2b, 0x64, 0x9e, 0x1b, 0x0e, 0x33, 0x2a, + 0xd1, 0xad, 0xdd, 0x82, 0xbe, 0xc9, 0xb4, 0xe7, 0xd6, 0xcf, 0xf1, 0x02, 0x85, 0xd0, 0x4a, 0xc4, + 0x7e, 0x1d, 0x6a, 0xca, 0xa5, 0xf3, 0x4b, 0x15, 0x5a, 0x85, 0xfe, 0x90, 0x2d, 0xa8, 0x21, 0xe7, + 0x8c, 0x9b, 0xa1, 0x29, 0xb6, 0xff, 0x28, 0x93, 0x1f, 0x2f, 0x50, 0x6d, 0x40, 0xbe, 0x81, 0xb6, + 0x29, 0x9b, 0x6e, 0xa9, 0xa9, 0xdb, 0xff, 0x6f, 0xd5, 0x4d, 0x33, 0x1f, 0x2f, 0x50, 0x53, 0x66, + 0xe3, 0xe9, 0x00, 0x56, 0x6c, 0xe2, 0x19, 0x83, 0xa9, 0xdd, 0x83, 0x3b, 0x93, 0xcf, 0x69, 0xc0, + 0x94, 0x80, 0xa2, 0x20, 0xbb, 0x50, 0x9f, 0xe8, 0xea, 0x9a, 0xe2, 0x3d, 0xb8, 0xb3, 0xf6, 0x39, + 0xde, 0x22, 0xf6, 0x1b, 0xb0, 0xac, 0x43, 0x77, 0xda, 0xd0, 0x2a, 0xf4, 0xd8, 0xf9, 0xb3, 0x0a, + 0x2b, 0xc5, 0xd8, 0xc9, 0x97, 0xb0, 0x34, 0x11, 0xb1, 0x9d, 0xed, 0x47, 0x77, 0xa4, 0xd8, 0x3f, + 0x15, 0xb1, 0x38, 0x8a, 0x24, 0x4f, 0xa9, 0x32, 0x27, 0x2f, 0xa1, 0xc1, 0xf8, 0x08, 0x79, 0x16, + 0x9e, 0x3e, 0x4e, 0x8f, 0xef, 0x82, 0x9e, 0x19, 0x3b, 0x0d, 0xcf, 0x61, 0xbd, 0x53, 0x68, 0xe6, + 0xac, 0x64, 0x1d, 0x16, 0x7f, 0xc6, 0xd4, 0xcc, 0x6f, 0xb6, 0x24, 0x4f, 0xa0, 0x76, 0xe3, 0x86, + 0x09, 0x9a, 0xe2, 0x77, 0xfa, 0x13, 0x11, 0xf7, 0x5f, 0xb9, 0x97, 0x3c, 0xf0, 0x4e, 0xdf, 0x9d, + 0x1b, 0x0f, 0xda, 0x64, 0xa7, 0xfa, 0xbc, 0xd2, 0xbb, 0x80, 0xf6, 0x8c, 0xa7, 0x7f, 0x43, 0x59, + 0x98, 0x80, 0x68, 0x14, 0xb3, 0x20, 0x92, 0xa2, 0x40, 0xe9, 0x7c, 0x07, 0x9b, 0x25, 0x43, 0x4e, + 0xbe, 0x80, 0xe5, 0xab, 0x20, 0x94, 0x68, 0x27, 0xe9, 0x7e, 0x59, 0x63, 0x4f, 0x22, 0x89, 0x1c, + 0x85, 0xa4, 0xc6, 0xd6, 0xf9, 0xab, 0x02, 0x9d, 0xb2, 0xb6, 0x91, 0x0b, 0x58, 0x51, 0x83, 0x3e, + 0xbc, 0x4c, 0x87, 0x8c, 0xfb, 0xa6, 0x13, 0x83, 0xf7, 0x74, 0xbb, 0xaf, 0xa7, 0x3d, 0x3d, 0xe3, + 0xbe, 0x2e, 0xac, 0x3a, 0xac, 0x5a, 0xd0, 0x3b, 0x83, 0xb5, 0x39, 0x75, 0x49, 0x35, 0x3e, 0x9a, + 0xad, 0xc6, 0xfa, 0x9c, 0xc3, 0x99, 0x4a, 0xbc, 0x81, 0xd5, 0xd9, 0x91, 0x25, 0x3b, 0xd0, 0x0c, + 0x4c, 0x8a, 0x76, 0x78, 0xfe, 0xb9, 0x0e, 0x53, 0x73, 0xe7, 0x14, 0x36, 0x6e, 0xe9, 0xc9, 0x73, + 0x00, 0xcf, 0x0a, 0x2d, 0x63, 0xb7, 0x8c, 0xf1, 0xc0, 0x0d, 0x43, 0x5a, 0xb0, 0x75, 0xde, 0x42, + 0x7b, 0x46, 0x49, 0x08, 0x2c, 0x45, 0xee, 0x04, 0x4d, 0xb2, 0x6a, 0x4d, 0x3e, 0x81, 0x75, 0x8f, + 0x85, 0x21, 0x7a, 0xd9, 0x63, 0x30, 0xcc, 0x44, 0x7a, 0x70, 0x9b, 0x74, 0x6d, 0x2a, 0x7f, 0x9b, + 0x89, 0x1d, 0x0a, 0x9d, 0xb2, 0xf3, 0x49, 0x76, 0xa0, 0xee, 0xb1, 0x48, 0x62, 0x24, 0x4d, 0x78, + 0x0f, 0x67, 0x07, 0x88, 0x71, 0x81, 0x13, 0x8c, 0xe4, 0x21, 0x0a, 0x8f, 0x07, 0xb1, 0x64, 0x9c, + 0x5a, 0x80, 0xb3, 0x0e, 0xab, 0xb3, 0xb7, 0x96, 0xf3, 0x7b, 0x15, 0xfe, 0x57, 0x0a, 0xca, 0xde, + 0xc3, 0x3c, 0x3b, 0x93, 0xc3, 0x54, 0x40, 0x7c, 0xd8, 0x44, 0x0d, 0xd3, 0x23, 0xe3, 0x73, 0x96, + 0xc4, 0xf6, 0x10, 0x7e, 0xfd, 0xbe, 0x88, 0xac, 0x34, 0x9b, 0x8d, 0xd7, 0x0a, 0xa9, 0xa7, 0x67, + 0x03, 0xe7, 0xe5, 0xe4, 0x53, 0xa8, 0x87, 0x6e, 0xca, 0x12, 0x99, 0x5d, 0x60, 0x19, 0xf9, 0x46, + 0xf1, 0x0a, 0x56, 0x1a, 0x6a, 0x2d, 0x7a, 0x3f, 0xc0, 0xbd, 0x72, 0xe6, 0xff, 0x38, 0x78, 0x7f, + 0x54, 0x60, 0x59, 0xfb, 0x22, 0x3f, 0xc2, 0xe6, 0x75, 0xe2, 0x66, 0xaf, 0x65, 0x80, 0xd3, 0xcc, + 0x4d, 0x2b, 0xb6, 0x6e, 0xc5, 0xd6, 0xbf, 0xc8, 0x8d, 0x4d, 0x40, 0x26, 0xd3, 0xeb, 0x79, 0x79, + 0xef, 0x10, 0xee, 0x95, 0x1b, 0x97, 0x04, 0xdf, 0x29, 0x06, 0xdf, 0x2e, 0x86, 0xda, 0x87, 0x9a, + 0x0a, 0x9f, 0x3c, 0x86, 0x9a, 0x7e, 0xb9, 0x74, 0x68, 0x6b, 0x73, 0xf9, 0x51, 0xad, 0x75, 0x7e, + 0xad, 0xc0, 0x52, 0xb6, 0x27, 0x03, 0x00, 0x21, 0x5d, 0x89, 0xc3, 0x20, 0xba, 0x62, 0xf9, 0xeb, + 0xa4, 0xff, 0x5a, 0xfd, 0xa3, 0xe8, 0x06, 0x43, 0x16, 0x23, 0x6d, 0x2a, 0x1b, 0xf5, 0xa9, 0x78, + 0x01, 0x6b, 0x93, 0xfc, 0x3a, 0xd0, 0xa8, 0xea, 0x1d, 0xa8, 0xd5, 0xa9, 0xa1, 0x82, 0xf6, 0xa0, + 0x91, 0x7f, 0x44, 0x16, 0xd5, 0xd7, 0x22, 0xdf, 0x3b, 0x8f, 0xa0, 0xa6, 0x1e, 0x42, 0xf5, 0xa1, + 0xc8, 0x07, 0x5d, 0x7f, 0x28, 0xcc, 0x18, 0xef, 0x41, 0x33, 0xbf, 0x29, 0xc9, 0x00, 0x1a, 0x68, + 0x36, 0x26, 0xd5, 0xcd, 0x92, 0x1b, 0x95, 0xe6, 0x46, 0xce, 0x36, 0x34, 0xac, 0x34, 0x3b, 0xa3, + 0x63, 0x26, 0xac, 0x03, 0xb5, 0xce, 0x64, 0x31, 0xe3, 0xd2, 0x94, 0x56, 0xad, 0xb7, 0x5f, 0x41, + 0xf3, 0xd0, 0x72, 0x92, 0x17, 0xd0, 0xb0, 0x1b, 0x52, 0xbc, 0x1b, 0x66, 0x7e, 0x9a, 0xbd, 0x62, + 0x14, 0xf6, 0x1b, 0xb7, 0xff, 0xec, 0xa7, 0xcf, 0xfd, 0x40, 0x8e, 0x93, 0xcb, 0xbe, 0xc7, 0x26, + 0x83, 0x71, 0x1a, 0x23, 0x0f, 0x71, 0xe4, 0x23, 0x1f, 0x5c, 0xa9, 0x37, 0xe5, 0xa9, 0xfa, 0xb6, + 0x8a, 0xa7, 0x3e, 0x1b, 0xe4, 0xe8, 0xcb, 0x65, 0x25, 0x7c, 0xf6, 0x77, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x3c, 0x96, 0xb7, 0xa5, 0x1e, 0x0b, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// DiscoveryClient is the client API for Discovery service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type DiscoveryClient interface { + // Discover receives a signed request, and returns a response. + Discover(ctx context.Context, in *SignedRequest, opts ...grpc.CallOption) (*Response, error) +} + +type discoveryClient struct { + cc *grpc.ClientConn +} + +func NewDiscoveryClient(cc *grpc.ClientConn) DiscoveryClient { + return &discoveryClient{cc} +} + +func (c *discoveryClient) Discover(ctx context.Context, in *SignedRequest, opts ...grpc.CallOption) (*Response, error) { + out := new(Response) + err := c.cc.Invoke(ctx, "/discovery.Discovery/Discover", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DiscoveryServer is the server API for Discovery service. +type DiscoveryServer interface { + // Discover receives a signed request, and returns a response. + Discover(context.Context, *SignedRequest) (*Response, error) +} + +// UnimplementedDiscoveryServer can be embedded to have forward compatible implementations. +type UnimplementedDiscoveryServer struct { +} + +func (*UnimplementedDiscoveryServer) Discover(ctx context.Context, req *SignedRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method Discover not implemented") +} + +func RegisterDiscoveryServer(s *grpc.Server, srv DiscoveryServer) { + s.RegisterService(&_Discovery_serviceDesc, srv) +} + +func _Discovery_Discover_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SignedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DiscoveryServer).Discover(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/discovery.Discovery/Discover", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DiscoveryServer).Discover(ctx, req.(*SignedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Discovery_serviceDesc = grpc.ServiceDesc{ + ServiceName: "discovery.Discovery", + HandlerType: (*DiscoveryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Discover", + Handler: _Discovery_Discover_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "discovery/protocol.proto", +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..d7d279d --- /dev/null +++ b/go.mod @@ -0,0 +1,8 @@ +module github.com/hyperledger/fabric-protos-go + +go 1.12 + +require ( + github.com/golang/protobuf v1.3.2 + google.golang.org/grpc v1.23.0 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..4618af7 --- /dev/null +++ b/go.sum @@ -0,0 +1,28 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/grpc v1.23.0 h1:AzbTB6ux+okLTzP8Ru1Xs41C303zdcfEht7MQnYJt5A= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/gossip/message.pb.go b/gossip/message.pb.go new file mode 100644 index 0000000..30829bf --- /dev/null +++ b/gossip/message.pb.go @@ -0,0 +1,2540 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: gossip/message.proto + +package gossip + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type PullMsgType int32 + +const ( + PullMsgType_UNDEFINED PullMsgType = 0 + PullMsgType_BLOCK_MSG PullMsgType = 1 + PullMsgType_IDENTITY_MSG PullMsgType = 2 +) + +var PullMsgType_name = map[int32]string{ + 0: "UNDEFINED", + 1: "BLOCK_MSG", + 2: "IDENTITY_MSG", +} + +var PullMsgType_value = map[string]int32{ + "UNDEFINED": 0, + "BLOCK_MSG": 1, + "IDENTITY_MSG": 2, +} + +func (x PullMsgType) String() string { + return proto.EnumName(PullMsgType_name, int32(x)) +} + +func (PullMsgType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{0} +} + +type GossipMessage_Tag int32 + +const ( + GossipMessage_UNDEFINED GossipMessage_Tag = 0 + GossipMessage_EMPTY GossipMessage_Tag = 1 + GossipMessage_ORG_ONLY GossipMessage_Tag = 2 + GossipMessage_CHAN_ONLY GossipMessage_Tag = 3 + GossipMessage_CHAN_AND_ORG GossipMessage_Tag = 4 + GossipMessage_CHAN_OR_ORG GossipMessage_Tag = 5 +) + +var GossipMessage_Tag_name = map[int32]string{ + 0: "UNDEFINED", + 1: "EMPTY", + 2: "ORG_ONLY", + 3: "CHAN_ONLY", + 4: "CHAN_AND_ORG", + 5: "CHAN_OR_ORG", +} + +var GossipMessage_Tag_value = map[string]int32{ + "UNDEFINED": 0, + "EMPTY": 1, + "ORG_ONLY": 2, + "CHAN_ONLY": 3, + "CHAN_AND_ORG": 4, + "CHAN_OR_ORG": 5, +} + +func (x GossipMessage_Tag) String() string { + return proto.EnumName(GossipMessage_Tag_name, int32(x)) +} + +func (GossipMessage_Tag) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{3, 0} +} + +// Envelope contains a marshalled +// GossipMessage and a signature over it. +// It may also contain a SecretEnvelope +// which is a marshalled Secret +type Envelope struct { + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + SecretEnvelope *SecretEnvelope `protobuf:"bytes,3,opt,name=secret_envelope,json=secretEnvelope,proto3" json:"secret_envelope,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Envelope) Reset() { *m = Envelope{} } +func (m *Envelope) String() string { return proto.CompactTextString(m) } +func (*Envelope) ProtoMessage() {} +func (*Envelope) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{0} +} + +func (m *Envelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Envelope.Unmarshal(m, b) +} +func (m *Envelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Envelope.Marshal(b, m, deterministic) +} +func (m *Envelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_Envelope.Merge(m, src) +} +func (m *Envelope) XXX_Size() int { + return xxx_messageInfo_Envelope.Size(m) +} +func (m *Envelope) XXX_DiscardUnknown() { + xxx_messageInfo_Envelope.DiscardUnknown(m) +} + +var xxx_messageInfo_Envelope proto.InternalMessageInfo + +func (m *Envelope) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *Envelope) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +func (m *Envelope) GetSecretEnvelope() *SecretEnvelope { + if m != nil { + return m.SecretEnvelope + } + return nil +} + +// SecretEnvelope is a marshalled Secret +// and a signature over it. +// The signature should be validated by the peer +// that signed the Envelope the SecretEnvelope +// came with +type SecretEnvelope struct { + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SecretEnvelope) Reset() { *m = SecretEnvelope{} } +func (m *SecretEnvelope) String() string { return proto.CompactTextString(m) } +func (*SecretEnvelope) ProtoMessage() {} +func (*SecretEnvelope) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{1} +} + +func (m *SecretEnvelope) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SecretEnvelope.Unmarshal(m, b) +} +func (m *SecretEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SecretEnvelope.Marshal(b, m, deterministic) +} +func (m *SecretEnvelope) XXX_Merge(src proto.Message) { + xxx_messageInfo_SecretEnvelope.Merge(m, src) +} +func (m *SecretEnvelope) XXX_Size() int { + return xxx_messageInfo_SecretEnvelope.Size(m) +} +func (m *SecretEnvelope) XXX_DiscardUnknown() { + xxx_messageInfo_SecretEnvelope.DiscardUnknown(m) +} + +var xxx_messageInfo_SecretEnvelope proto.InternalMessageInfo + +func (m *SecretEnvelope) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *SecretEnvelope) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +// Secret is an entity that might be omitted +// from an Envelope when the remote peer that is receiving +// the Envelope shouldn't know the secret's content. +type Secret struct { + // Types that are valid to be assigned to Content: + // *Secret_InternalEndpoint + Content isSecret_Content `protobuf_oneof:"content"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Secret) Reset() { *m = Secret{} } +func (m *Secret) String() string { return proto.CompactTextString(m) } +func (*Secret) ProtoMessage() {} +func (*Secret) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{2} +} + +func (m *Secret) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Secret.Unmarshal(m, b) +} +func (m *Secret) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Secret.Marshal(b, m, deterministic) +} +func (m *Secret) XXX_Merge(src proto.Message) { + xxx_messageInfo_Secret.Merge(m, src) +} +func (m *Secret) XXX_Size() int { + return xxx_messageInfo_Secret.Size(m) +} +func (m *Secret) XXX_DiscardUnknown() { + xxx_messageInfo_Secret.DiscardUnknown(m) +} + +var xxx_messageInfo_Secret proto.InternalMessageInfo + +type isSecret_Content interface { + isSecret_Content() +} + +type Secret_InternalEndpoint struct { + InternalEndpoint string `protobuf:"bytes,1,opt,name=internalEndpoint,proto3,oneof"` +} + +func (*Secret_InternalEndpoint) isSecret_Content() {} + +func (m *Secret) GetContent() isSecret_Content { + if m != nil { + return m.Content + } + return nil +} + +func (m *Secret) GetInternalEndpoint() string { + if x, ok := m.GetContent().(*Secret_InternalEndpoint); ok { + return x.InternalEndpoint + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Secret) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Secret_InternalEndpoint)(nil), + } +} + +// GossipMessage defines the message sent in a gossip network +type GossipMessage struct { + // used mainly for testing, but will might be used in the future + // for ensuring message delivery by acking + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + // The channel of the message. + // Some GossipMessages may set this to nil, because + // they are cross-channels but some may not + Channel []byte `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"` + // determines to which peers it is allowed + // to forward the message + Tag GossipMessage_Tag `protobuf:"varint,3,opt,name=tag,proto3,enum=gossip.GossipMessage_Tag" json:"tag,omitempty"` + // Types that are valid to be assigned to Content: + // *GossipMessage_AliveMsg + // *GossipMessage_MemReq + // *GossipMessage_MemRes + // *GossipMessage_DataMsg + // *GossipMessage_Hello + // *GossipMessage_DataDig + // *GossipMessage_DataReq + // *GossipMessage_DataUpdate + // *GossipMessage_Empty + // *GossipMessage_Conn + // *GossipMessage_StateInfo + // *GossipMessage_StateSnapshot + // *GossipMessage_StateInfoPullReq + // *GossipMessage_StateRequest + // *GossipMessage_StateResponse + // *GossipMessage_LeadershipMsg + // *GossipMessage_PeerIdentity + // *GossipMessage_Ack + // *GossipMessage_PrivateReq + // *GossipMessage_PrivateRes + // *GossipMessage_PrivateData + Content isGossipMessage_Content `protobuf_oneof:"content"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GossipMessage) Reset() { *m = GossipMessage{} } +func (m *GossipMessage) String() string { return proto.CompactTextString(m) } +func (*GossipMessage) ProtoMessage() {} +func (*GossipMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{3} +} + +func (m *GossipMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GossipMessage.Unmarshal(m, b) +} +func (m *GossipMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GossipMessage.Marshal(b, m, deterministic) +} +func (m *GossipMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_GossipMessage.Merge(m, src) +} +func (m *GossipMessage) XXX_Size() int { + return xxx_messageInfo_GossipMessage.Size(m) +} +func (m *GossipMessage) XXX_DiscardUnknown() { + xxx_messageInfo_GossipMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_GossipMessage proto.InternalMessageInfo + +func (m *GossipMessage) GetNonce() uint64 { + if m != nil { + return m.Nonce + } + return 0 +} + +func (m *GossipMessage) GetChannel() []byte { + if m != nil { + return m.Channel + } + return nil +} + +func (m *GossipMessage) GetTag() GossipMessage_Tag { + if m != nil { + return m.Tag + } + return GossipMessage_UNDEFINED +} + +type isGossipMessage_Content interface { + isGossipMessage_Content() +} + +type GossipMessage_AliveMsg struct { + AliveMsg *AliveMessage `protobuf:"bytes,5,opt,name=alive_msg,json=aliveMsg,proto3,oneof"` +} + +type GossipMessage_MemReq struct { + MemReq *MembershipRequest `protobuf:"bytes,6,opt,name=mem_req,json=memReq,proto3,oneof"` +} + +type GossipMessage_MemRes struct { + MemRes *MembershipResponse `protobuf:"bytes,7,opt,name=mem_res,json=memRes,proto3,oneof"` +} + +type GossipMessage_DataMsg struct { + DataMsg *DataMessage `protobuf:"bytes,8,opt,name=data_msg,json=dataMsg,proto3,oneof"` +} + +type GossipMessage_Hello struct { + Hello *GossipHello `protobuf:"bytes,9,opt,name=hello,proto3,oneof"` +} + +type GossipMessage_DataDig struct { + DataDig *DataDigest `protobuf:"bytes,10,opt,name=data_dig,json=dataDig,proto3,oneof"` +} + +type GossipMessage_DataReq struct { + DataReq *DataRequest `protobuf:"bytes,11,opt,name=data_req,json=dataReq,proto3,oneof"` +} + +type GossipMessage_DataUpdate struct { + DataUpdate *DataUpdate `protobuf:"bytes,12,opt,name=data_update,json=dataUpdate,proto3,oneof"` +} + +type GossipMessage_Empty struct { + Empty *Empty `protobuf:"bytes,13,opt,name=empty,proto3,oneof"` +} + +type GossipMessage_Conn struct { + Conn *ConnEstablish `protobuf:"bytes,14,opt,name=conn,proto3,oneof"` +} + +type GossipMessage_StateInfo struct { + StateInfo *StateInfo `protobuf:"bytes,15,opt,name=state_info,json=stateInfo,proto3,oneof"` +} + +type GossipMessage_StateSnapshot struct { + StateSnapshot *StateInfoSnapshot `protobuf:"bytes,16,opt,name=state_snapshot,json=stateSnapshot,proto3,oneof"` +} + +type GossipMessage_StateInfoPullReq struct { + StateInfoPullReq *StateInfoPullRequest `protobuf:"bytes,17,opt,name=state_info_pull_req,json=stateInfoPullReq,proto3,oneof"` +} + +type GossipMessage_StateRequest struct { + StateRequest *RemoteStateRequest `protobuf:"bytes,18,opt,name=state_request,json=stateRequest,proto3,oneof"` +} + +type GossipMessage_StateResponse struct { + StateResponse *RemoteStateResponse `protobuf:"bytes,19,opt,name=state_response,json=stateResponse,proto3,oneof"` +} + +type GossipMessage_LeadershipMsg struct { + LeadershipMsg *LeadershipMessage `protobuf:"bytes,20,opt,name=leadership_msg,json=leadershipMsg,proto3,oneof"` +} + +type GossipMessage_PeerIdentity struct { + PeerIdentity *PeerIdentity `protobuf:"bytes,21,opt,name=peer_identity,json=peerIdentity,proto3,oneof"` +} + +type GossipMessage_Ack struct { + Ack *Acknowledgement `protobuf:"bytes,22,opt,name=ack,proto3,oneof"` +} + +type GossipMessage_PrivateReq struct { + PrivateReq *RemotePvtDataRequest `protobuf:"bytes,23,opt,name=privateReq,proto3,oneof"` +} + +type GossipMessage_PrivateRes struct { + PrivateRes *RemotePvtDataResponse `protobuf:"bytes,24,opt,name=privateRes,proto3,oneof"` +} + +type GossipMessage_PrivateData struct { + PrivateData *PrivateDataMessage `protobuf:"bytes,25,opt,name=private_data,json=privateData,proto3,oneof"` +} + +func (*GossipMessage_AliveMsg) isGossipMessage_Content() {} + +func (*GossipMessage_MemReq) isGossipMessage_Content() {} + +func (*GossipMessage_MemRes) isGossipMessage_Content() {} + +func (*GossipMessage_DataMsg) isGossipMessage_Content() {} + +func (*GossipMessage_Hello) isGossipMessage_Content() {} + +func (*GossipMessage_DataDig) isGossipMessage_Content() {} + +func (*GossipMessage_DataReq) isGossipMessage_Content() {} + +func (*GossipMessage_DataUpdate) isGossipMessage_Content() {} + +func (*GossipMessage_Empty) isGossipMessage_Content() {} + +func (*GossipMessage_Conn) isGossipMessage_Content() {} + +func (*GossipMessage_StateInfo) isGossipMessage_Content() {} + +func (*GossipMessage_StateSnapshot) isGossipMessage_Content() {} + +func (*GossipMessage_StateInfoPullReq) isGossipMessage_Content() {} + +func (*GossipMessage_StateRequest) isGossipMessage_Content() {} + +func (*GossipMessage_StateResponse) isGossipMessage_Content() {} + +func (*GossipMessage_LeadershipMsg) isGossipMessage_Content() {} + +func (*GossipMessage_PeerIdentity) isGossipMessage_Content() {} + +func (*GossipMessage_Ack) isGossipMessage_Content() {} + +func (*GossipMessage_PrivateReq) isGossipMessage_Content() {} + +func (*GossipMessage_PrivateRes) isGossipMessage_Content() {} + +func (*GossipMessage_PrivateData) isGossipMessage_Content() {} + +func (m *GossipMessage) GetContent() isGossipMessage_Content { + if m != nil { + return m.Content + } + return nil +} + +func (m *GossipMessage) GetAliveMsg() *AliveMessage { + if x, ok := m.GetContent().(*GossipMessage_AliveMsg); ok { + return x.AliveMsg + } + return nil +} + +func (m *GossipMessage) GetMemReq() *MembershipRequest { + if x, ok := m.GetContent().(*GossipMessage_MemReq); ok { + return x.MemReq + } + return nil +} + +func (m *GossipMessage) GetMemRes() *MembershipResponse { + if x, ok := m.GetContent().(*GossipMessage_MemRes); ok { + return x.MemRes + } + return nil +} + +func (m *GossipMessage) GetDataMsg() *DataMessage { + if x, ok := m.GetContent().(*GossipMessage_DataMsg); ok { + return x.DataMsg + } + return nil +} + +func (m *GossipMessage) GetHello() *GossipHello { + if x, ok := m.GetContent().(*GossipMessage_Hello); ok { + return x.Hello + } + return nil +} + +func (m *GossipMessage) GetDataDig() *DataDigest { + if x, ok := m.GetContent().(*GossipMessage_DataDig); ok { + return x.DataDig + } + return nil +} + +func (m *GossipMessage) GetDataReq() *DataRequest { + if x, ok := m.GetContent().(*GossipMessage_DataReq); ok { + return x.DataReq + } + return nil +} + +func (m *GossipMessage) GetDataUpdate() *DataUpdate { + if x, ok := m.GetContent().(*GossipMessage_DataUpdate); ok { + return x.DataUpdate + } + return nil +} + +func (m *GossipMessage) GetEmpty() *Empty { + if x, ok := m.GetContent().(*GossipMessage_Empty); ok { + return x.Empty + } + return nil +} + +func (m *GossipMessage) GetConn() *ConnEstablish { + if x, ok := m.GetContent().(*GossipMessage_Conn); ok { + return x.Conn + } + return nil +} + +func (m *GossipMessage) GetStateInfo() *StateInfo { + if x, ok := m.GetContent().(*GossipMessage_StateInfo); ok { + return x.StateInfo + } + return nil +} + +func (m *GossipMessage) GetStateSnapshot() *StateInfoSnapshot { + if x, ok := m.GetContent().(*GossipMessage_StateSnapshot); ok { + return x.StateSnapshot + } + return nil +} + +func (m *GossipMessage) GetStateInfoPullReq() *StateInfoPullRequest { + if x, ok := m.GetContent().(*GossipMessage_StateInfoPullReq); ok { + return x.StateInfoPullReq + } + return nil +} + +func (m *GossipMessage) GetStateRequest() *RemoteStateRequest { + if x, ok := m.GetContent().(*GossipMessage_StateRequest); ok { + return x.StateRequest + } + return nil +} + +func (m *GossipMessage) GetStateResponse() *RemoteStateResponse { + if x, ok := m.GetContent().(*GossipMessage_StateResponse); ok { + return x.StateResponse + } + return nil +} + +func (m *GossipMessage) GetLeadershipMsg() *LeadershipMessage { + if x, ok := m.GetContent().(*GossipMessage_LeadershipMsg); ok { + return x.LeadershipMsg + } + return nil +} + +func (m *GossipMessage) GetPeerIdentity() *PeerIdentity { + if x, ok := m.GetContent().(*GossipMessage_PeerIdentity); ok { + return x.PeerIdentity + } + return nil +} + +func (m *GossipMessage) GetAck() *Acknowledgement { + if x, ok := m.GetContent().(*GossipMessage_Ack); ok { + return x.Ack + } + return nil +} + +func (m *GossipMessage) GetPrivateReq() *RemotePvtDataRequest { + if x, ok := m.GetContent().(*GossipMessage_PrivateReq); ok { + return x.PrivateReq + } + return nil +} + +func (m *GossipMessage) GetPrivateRes() *RemotePvtDataResponse { + if x, ok := m.GetContent().(*GossipMessage_PrivateRes); ok { + return x.PrivateRes + } + return nil +} + +func (m *GossipMessage) GetPrivateData() *PrivateDataMessage { + if x, ok := m.GetContent().(*GossipMessage_PrivateData); ok { + return x.PrivateData + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*GossipMessage) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*GossipMessage_AliveMsg)(nil), + (*GossipMessage_MemReq)(nil), + (*GossipMessage_MemRes)(nil), + (*GossipMessage_DataMsg)(nil), + (*GossipMessage_Hello)(nil), + (*GossipMessage_DataDig)(nil), + (*GossipMessage_DataReq)(nil), + (*GossipMessage_DataUpdate)(nil), + (*GossipMessage_Empty)(nil), + (*GossipMessage_Conn)(nil), + (*GossipMessage_StateInfo)(nil), + (*GossipMessage_StateSnapshot)(nil), + (*GossipMessage_StateInfoPullReq)(nil), + (*GossipMessage_StateRequest)(nil), + (*GossipMessage_StateResponse)(nil), + (*GossipMessage_LeadershipMsg)(nil), + (*GossipMessage_PeerIdentity)(nil), + (*GossipMessage_Ack)(nil), + (*GossipMessage_PrivateReq)(nil), + (*GossipMessage_PrivateRes)(nil), + (*GossipMessage_PrivateData)(nil), + } +} + +// StateInfo is used for a peer to relay its state information +// to other peers +type StateInfo struct { + Timestamp *PeerTime `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + PkiId []byte `protobuf:"bytes,3,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"` + // channel_MAC is an authentication code that proves + // that the peer that sent this message knows + // the name of the channel. + Channel_MAC []byte `protobuf:"bytes,4,opt,name=channel_MAC,json=channelMAC,proto3" json:"channel_MAC,omitempty"` + Properties *Properties `protobuf:"bytes,5,opt,name=properties,proto3" json:"properties,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateInfo) Reset() { *m = StateInfo{} } +func (m *StateInfo) String() string { return proto.CompactTextString(m) } +func (*StateInfo) ProtoMessage() {} +func (*StateInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{4} +} + +func (m *StateInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateInfo.Unmarshal(m, b) +} +func (m *StateInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateInfo.Marshal(b, m, deterministic) +} +func (m *StateInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateInfo.Merge(m, src) +} +func (m *StateInfo) XXX_Size() int { + return xxx_messageInfo_StateInfo.Size(m) +} +func (m *StateInfo) XXX_DiscardUnknown() { + xxx_messageInfo_StateInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_StateInfo proto.InternalMessageInfo + +func (m *StateInfo) GetTimestamp() *PeerTime { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *StateInfo) GetPkiId() []byte { + if m != nil { + return m.PkiId + } + return nil +} + +func (m *StateInfo) GetChannel_MAC() []byte { + if m != nil { + return m.Channel_MAC + } + return nil +} + +func (m *StateInfo) GetProperties() *Properties { + if m != nil { + return m.Properties + } + return nil +} + +type Properties struct { + LedgerHeight uint64 `protobuf:"varint,1,opt,name=ledger_height,json=ledgerHeight,proto3" json:"ledger_height,omitempty"` + LeftChannel bool `protobuf:"varint,2,opt,name=left_channel,json=leftChannel,proto3" json:"left_channel,omitempty"` + Chaincodes []*Chaincode `protobuf:"bytes,3,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Properties) Reset() { *m = Properties{} } +func (m *Properties) String() string { return proto.CompactTextString(m) } +func (*Properties) ProtoMessage() {} +func (*Properties) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{5} +} + +func (m *Properties) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Properties.Unmarshal(m, b) +} +func (m *Properties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Properties.Marshal(b, m, deterministic) +} +func (m *Properties) XXX_Merge(src proto.Message) { + xxx_messageInfo_Properties.Merge(m, src) +} +func (m *Properties) XXX_Size() int { + return xxx_messageInfo_Properties.Size(m) +} +func (m *Properties) XXX_DiscardUnknown() { + xxx_messageInfo_Properties.DiscardUnknown(m) +} + +var xxx_messageInfo_Properties proto.InternalMessageInfo + +func (m *Properties) GetLedgerHeight() uint64 { + if m != nil { + return m.LedgerHeight + } + return 0 +} + +func (m *Properties) GetLeftChannel() bool { + if m != nil { + return m.LeftChannel + } + return false +} + +func (m *Properties) GetChaincodes() []*Chaincode { + if m != nil { + return m.Chaincodes + } + return nil +} + +// StateInfoSnapshot is an aggregation of StateInfo messages +type StateInfoSnapshot struct { + Elements []*Envelope `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateInfoSnapshot) Reset() { *m = StateInfoSnapshot{} } +func (m *StateInfoSnapshot) String() string { return proto.CompactTextString(m) } +func (*StateInfoSnapshot) ProtoMessage() {} +func (*StateInfoSnapshot) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{6} +} + +func (m *StateInfoSnapshot) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateInfoSnapshot.Unmarshal(m, b) +} +func (m *StateInfoSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateInfoSnapshot.Marshal(b, m, deterministic) +} +func (m *StateInfoSnapshot) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateInfoSnapshot.Merge(m, src) +} +func (m *StateInfoSnapshot) XXX_Size() int { + return xxx_messageInfo_StateInfoSnapshot.Size(m) +} +func (m *StateInfoSnapshot) XXX_DiscardUnknown() { + xxx_messageInfo_StateInfoSnapshot.DiscardUnknown(m) +} + +var xxx_messageInfo_StateInfoSnapshot proto.InternalMessageInfo + +func (m *StateInfoSnapshot) GetElements() []*Envelope { + if m != nil { + return m.Elements + } + return nil +} + +// StateInfoPullRequest is used to fetch a StateInfoSnapshot +// from a remote peer +type StateInfoPullRequest struct { + // channel_MAC is an authentication code that proves + // that the peer that sent this message knows + // the name of the channel. + Channel_MAC []byte `protobuf:"bytes,1,opt,name=channel_MAC,json=channelMAC,proto3" json:"channel_MAC,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateInfoPullRequest) Reset() { *m = StateInfoPullRequest{} } +func (m *StateInfoPullRequest) String() string { return proto.CompactTextString(m) } +func (*StateInfoPullRequest) ProtoMessage() {} +func (*StateInfoPullRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{7} +} + +func (m *StateInfoPullRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateInfoPullRequest.Unmarshal(m, b) +} +func (m *StateInfoPullRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateInfoPullRequest.Marshal(b, m, deterministic) +} +func (m *StateInfoPullRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateInfoPullRequest.Merge(m, src) +} +func (m *StateInfoPullRequest) XXX_Size() int { + return xxx_messageInfo_StateInfoPullRequest.Size(m) +} +func (m *StateInfoPullRequest) XXX_DiscardUnknown() { + xxx_messageInfo_StateInfoPullRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_StateInfoPullRequest proto.InternalMessageInfo + +func (m *StateInfoPullRequest) GetChannel_MAC() []byte { + if m != nil { + return m.Channel_MAC + } + return nil +} + +// ConnEstablish is the message used for the gossip handshake +// Whenever a peer connects to another peer, it handshakes +// with it by sending this message that proves its identity +type ConnEstablish struct { + PkiId []byte `protobuf:"bytes,1,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"` + Identity []byte `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + TlsCertHash []byte `protobuf:"bytes,3,opt,name=tls_cert_hash,json=tlsCertHash,proto3" json:"tls_cert_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConnEstablish) Reset() { *m = ConnEstablish{} } +func (m *ConnEstablish) String() string { return proto.CompactTextString(m) } +func (*ConnEstablish) ProtoMessage() {} +func (*ConnEstablish) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{8} +} + +func (m *ConnEstablish) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConnEstablish.Unmarshal(m, b) +} +func (m *ConnEstablish) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConnEstablish.Marshal(b, m, deterministic) +} +func (m *ConnEstablish) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConnEstablish.Merge(m, src) +} +func (m *ConnEstablish) XXX_Size() int { + return xxx_messageInfo_ConnEstablish.Size(m) +} +func (m *ConnEstablish) XXX_DiscardUnknown() { + xxx_messageInfo_ConnEstablish.DiscardUnknown(m) +} + +var xxx_messageInfo_ConnEstablish proto.InternalMessageInfo + +func (m *ConnEstablish) GetPkiId() []byte { + if m != nil { + return m.PkiId + } + return nil +} + +func (m *ConnEstablish) GetIdentity() []byte { + if m != nil { + return m.Identity + } + return nil +} + +func (m *ConnEstablish) GetTlsCertHash() []byte { + if m != nil { + return m.TlsCertHash + } + return nil +} + +// PeerIdentity defines the identity of the peer +// Used to make other peers learn of the identity +// of a certain peer +type PeerIdentity struct { + PkiId []byte `protobuf:"bytes,1,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"` + Cert []byte `protobuf:"bytes,2,opt,name=cert,proto3" json:"cert,omitempty"` + Metadata []byte `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PeerIdentity) Reset() { *m = PeerIdentity{} } +func (m *PeerIdentity) String() string { return proto.CompactTextString(m) } +func (*PeerIdentity) ProtoMessage() {} +func (*PeerIdentity) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{9} +} + +func (m *PeerIdentity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PeerIdentity.Unmarshal(m, b) +} +func (m *PeerIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PeerIdentity.Marshal(b, m, deterministic) +} +func (m *PeerIdentity) XXX_Merge(src proto.Message) { + xxx_messageInfo_PeerIdentity.Merge(m, src) +} +func (m *PeerIdentity) XXX_Size() int { + return xxx_messageInfo_PeerIdentity.Size(m) +} +func (m *PeerIdentity) XXX_DiscardUnknown() { + xxx_messageInfo_PeerIdentity.DiscardUnknown(m) +} + +var xxx_messageInfo_PeerIdentity proto.InternalMessageInfo + +func (m *PeerIdentity) GetPkiId() []byte { + if m != nil { + return m.PkiId + } + return nil +} + +func (m *PeerIdentity) GetCert() []byte { + if m != nil { + return m.Cert + } + return nil +} + +func (m *PeerIdentity) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// DataRequest is a message used for a peer to request +// certain data blocks from a remote peer +type DataRequest struct { + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + Digests [][]byte `protobuf:"bytes,2,rep,name=digests,proto3" json:"digests,omitempty"` + MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DataRequest) Reset() { *m = DataRequest{} } +func (m *DataRequest) String() string { return proto.CompactTextString(m) } +func (*DataRequest) ProtoMessage() {} +func (*DataRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{10} +} + +func (m *DataRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DataRequest.Unmarshal(m, b) +} +func (m *DataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DataRequest.Marshal(b, m, deterministic) +} +func (m *DataRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DataRequest.Merge(m, src) +} +func (m *DataRequest) XXX_Size() int { + return xxx_messageInfo_DataRequest.Size(m) +} +func (m *DataRequest) XXX_DiscardUnknown() { + xxx_messageInfo_DataRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_DataRequest proto.InternalMessageInfo + +func (m *DataRequest) GetNonce() uint64 { + if m != nil { + return m.Nonce + } + return 0 +} + +func (m *DataRequest) GetDigests() [][]byte { + if m != nil { + return m.Digests + } + return nil +} + +func (m *DataRequest) GetMsgType() PullMsgType { + if m != nil { + return m.MsgType + } + return PullMsgType_UNDEFINED +} + +// GossipHello is the message that is used for the peer to initiate +// a pull round with another peer +type GossipHello struct { + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + Metadata []byte `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GossipHello) Reset() { *m = GossipHello{} } +func (m *GossipHello) String() string { return proto.CompactTextString(m) } +func (*GossipHello) ProtoMessage() {} +func (*GossipHello) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{11} +} + +func (m *GossipHello) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GossipHello.Unmarshal(m, b) +} +func (m *GossipHello) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GossipHello.Marshal(b, m, deterministic) +} +func (m *GossipHello) XXX_Merge(src proto.Message) { + xxx_messageInfo_GossipHello.Merge(m, src) +} +func (m *GossipHello) XXX_Size() int { + return xxx_messageInfo_GossipHello.Size(m) +} +func (m *GossipHello) XXX_DiscardUnknown() { + xxx_messageInfo_GossipHello.DiscardUnknown(m) +} + +var xxx_messageInfo_GossipHello proto.InternalMessageInfo + +func (m *GossipHello) GetNonce() uint64 { + if m != nil { + return m.Nonce + } + return 0 +} + +func (m *GossipHello) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +func (m *GossipHello) GetMsgType() PullMsgType { + if m != nil { + return m.MsgType + } + return PullMsgType_UNDEFINED +} + +// DataUpdate is the final message in the pull phase +// sent from the receiver to the initiator +type DataUpdate struct { + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + Data []*Envelope `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` + MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DataUpdate) Reset() { *m = DataUpdate{} } +func (m *DataUpdate) String() string { return proto.CompactTextString(m) } +func (*DataUpdate) ProtoMessage() {} +func (*DataUpdate) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{12} +} + +func (m *DataUpdate) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DataUpdate.Unmarshal(m, b) +} +func (m *DataUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DataUpdate.Marshal(b, m, deterministic) +} +func (m *DataUpdate) XXX_Merge(src proto.Message) { + xxx_messageInfo_DataUpdate.Merge(m, src) +} +func (m *DataUpdate) XXX_Size() int { + return xxx_messageInfo_DataUpdate.Size(m) +} +func (m *DataUpdate) XXX_DiscardUnknown() { + xxx_messageInfo_DataUpdate.DiscardUnknown(m) +} + +var xxx_messageInfo_DataUpdate proto.InternalMessageInfo + +func (m *DataUpdate) GetNonce() uint64 { + if m != nil { + return m.Nonce + } + return 0 +} + +func (m *DataUpdate) GetData() []*Envelope { + if m != nil { + return m.Data + } + return nil +} + +func (m *DataUpdate) GetMsgType() PullMsgType { + if m != nil { + return m.MsgType + } + return PullMsgType_UNDEFINED +} + +// DataDigest is the message sent from the receiver peer +// to the initator peer and contains the data items it has +type DataDigest struct { + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + Digests [][]byte `protobuf:"bytes,2,rep,name=digests,proto3" json:"digests,omitempty"` + MsgType PullMsgType `protobuf:"varint,3,opt,name=msg_type,json=msgType,proto3,enum=gossip.PullMsgType" json:"msg_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DataDigest) Reset() { *m = DataDigest{} } +func (m *DataDigest) String() string { return proto.CompactTextString(m) } +func (*DataDigest) ProtoMessage() {} +func (*DataDigest) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{13} +} + +func (m *DataDigest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DataDigest.Unmarshal(m, b) +} +func (m *DataDigest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DataDigest.Marshal(b, m, deterministic) +} +func (m *DataDigest) XXX_Merge(src proto.Message) { + xxx_messageInfo_DataDigest.Merge(m, src) +} +func (m *DataDigest) XXX_Size() int { + return xxx_messageInfo_DataDigest.Size(m) +} +func (m *DataDigest) XXX_DiscardUnknown() { + xxx_messageInfo_DataDigest.DiscardUnknown(m) +} + +var xxx_messageInfo_DataDigest proto.InternalMessageInfo + +func (m *DataDigest) GetNonce() uint64 { + if m != nil { + return m.Nonce + } + return 0 +} + +func (m *DataDigest) GetDigests() [][]byte { + if m != nil { + return m.Digests + } + return nil +} + +func (m *DataDigest) GetMsgType() PullMsgType { + if m != nil { + return m.MsgType + } + return PullMsgType_UNDEFINED +} + +// DataMessage is the message that contains a block +type DataMessage struct { + Payload *Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DataMessage) Reset() { *m = DataMessage{} } +func (m *DataMessage) String() string { return proto.CompactTextString(m) } +func (*DataMessage) ProtoMessage() {} +func (*DataMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{14} +} + +func (m *DataMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DataMessage.Unmarshal(m, b) +} +func (m *DataMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DataMessage.Marshal(b, m, deterministic) +} +func (m *DataMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_DataMessage.Merge(m, src) +} +func (m *DataMessage) XXX_Size() int { + return xxx_messageInfo_DataMessage.Size(m) +} +func (m *DataMessage) XXX_DiscardUnknown() { + xxx_messageInfo_DataMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_DataMessage proto.InternalMessageInfo + +func (m *DataMessage) GetPayload() *Payload { + if m != nil { + return m.Payload + } + return nil +} + +// PrivateDataMessage message which includes private +// data information to distributed once transaction +// has been endorsed +type PrivateDataMessage struct { + Payload *PrivatePayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PrivateDataMessage) Reset() { *m = PrivateDataMessage{} } +func (m *PrivateDataMessage) String() string { return proto.CompactTextString(m) } +func (*PrivateDataMessage) ProtoMessage() {} +func (*PrivateDataMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{15} +} + +func (m *PrivateDataMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PrivateDataMessage.Unmarshal(m, b) +} +func (m *PrivateDataMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PrivateDataMessage.Marshal(b, m, deterministic) +} +func (m *PrivateDataMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_PrivateDataMessage.Merge(m, src) +} +func (m *PrivateDataMessage) XXX_Size() int { + return xxx_messageInfo_PrivateDataMessage.Size(m) +} +func (m *PrivateDataMessage) XXX_DiscardUnknown() { + xxx_messageInfo_PrivateDataMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_PrivateDataMessage proto.InternalMessageInfo + +func (m *PrivateDataMessage) GetPayload() *PrivatePayload { + if m != nil { + return m.Payload + } + return nil +} + +// Payload contains a block +type Payload struct { + SeqNum uint64 `protobuf:"varint,1,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + PrivateData [][]byte `protobuf:"bytes,3,rep,name=private_data,json=privateData,proto3" json:"private_data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Payload) Reset() { *m = Payload{} } +func (m *Payload) String() string { return proto.CompactTextString(m) } +func (*Payload) ProtoMessage() {} +func (*Payload) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{16} +} + +func (m *Payload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Payload.Unmarshal(m, b) +} +func (m *Payload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Payload.Marshal(b, m, deterministic) +} +func (m *Payload) XXX_Merge(src proto.Message) { + xxx_messageInfo_Payload.Merge(m, src) +} +func (m *Payload) XXX_Size() int { + return xxx_messageInfo_Payload.Size(m) +} +func (m *Payload) XXX_DiscardUnknown() { + xxx_messageInfo_Payload.DiscardUnknown(m) +} + +var xxx_messageInfo_Payload proto.InternalMessageInfo + +func (m *Payload) GetSeqNum() uint64 { + if m != nil { + return m.SeqNum + } + return 0 +} + +func (m *Payload) GetData() []byte { + if m != nil { + return m.Data + } + return nil +} + +func (m *Payload) GetPrivateData() [][]byte { + if m != nil { + return m.PrivateData + } + return nil +} + +// PrivatePayload payload to encapsulate private +// data with collection name to enable routing +// based on collection partitioning +type PrivatePayload struct { + CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + TxId string `protobuf:"bytes,3,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + PrivateRwset []byte `protobuf:"bytes,4,opt,name=private_rwset,json=privateRwset,proto3" json:"private_rwset,omitempty"` + PrivateSimHeight uint64 `protobuf:"varint,5,opt,name=private_sim_height,json=privateSimHeight,proto3" json:"private_sim_height,omitempty"` + CollectionConfigs *common.CollectionConfigPackage `protobuf:"bytes,6,opt,name=collection_configs,json=collectionConfigs,proto3" json:"collection_configs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PrivatePayload) Reset() { *m = PrivatePayload{} } +func (m *PrivatePayload) String() string { return proto.CompactTextString(m) } +func (*PrivatePayload) ProtoMessage() {} +func (*PrivatePayload) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{17} +} + +func (m *PrivatePayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PrivatePayload.Unmarshal(m, b) +} +func (m *PrivatePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PrivatePayload.Marshal(b, m, deterministic) +} +func (m *PrivatePayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_PrivatePayload.Merge(m, src) +} +func (m *PrivatePayload) XXX_Size() int { + return xxx_messageInfo_PrivatePayload.Size(m) +} +func (m *PrivatePayload) XXX_DiscardUnknown() { + xxx_messageInfo_PrivatePayload.DiscardUnknown(m) +} + +var xxx_messageInfo_PrivatePayload proto.InternalMessageInfo + +func (m *PrivatePayload) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *PrivatePayload) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *PrivatePayload) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *PrivatePayload) GetPrivateRwset() []byte { + if m != nil { + return m.PrivateRwset + } + return nil +} + +func (m *PrivatePayload) GetPrivateSimHeight() uint64 { + if m != nil { + return m.PrivateSimHeight + } + return 0 +} + +func (m *PrivatePayload) GetCollectionConfigs() *common.CollectionConfigPackage { + if m != nil { + return m.CollectionConfigs + } + return nil +} + +// AliveMessage is sent to inform remote peers +// of a peer's existence and activity +type AliveMessage struct { + Membership *Member `protobuf:"bytes,1,opt,name=membership,proto3" json:"membership,omitempty"` + Timestamp *PeerTime `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Identity []byte `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AliveMessage) Reset() { *m = AliveMessage{} } +func (m *AliveMessage) String() string { return proto.CompactTextString(m) } +func (*AliveMessage) ProtoMessage() {} +func (*AliveMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{18} +} + +func (m *AliveMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AliveMessage.Unmarshal(m, b) +} +func (m *AliveMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AliveMessage.Marshal(b, m, deterministic) +} +func (m *AliveMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_AliveMessage.Merge(m, src) +} +func (m *AliveMessage) XXX_Size() int { + return xxx_messageInfo_AliveMessage.Size(m) +} +func (m *AliveMessage) XXX_DiscardUnknown() { + xxx_messageInfo_AliveMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_AliveMessage proto.InternalMessageInfo + +func (m *AliveMessage) GetMembership() *Member { + if m != nil { + return m.Membership + } + return nil +} + +func (m *AliveMessage) GetTimestamp() *PeerTime { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *AliveMessage) GetIdentity() []byte { + if m != nil { + return m.Identity + } + return nil +} + +// Leadership Message is sent during leader election to inform +// remote peers about intent of peer to proclaim itself as leader +type LeadershipMessage struct { + PkiId []byte `protobuf:"bytes,1,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"` + Timestamp *PeerTime `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + IsDeclaration bool `protobuf:"varint,3,opt,name=is_declaration,json=isDeclaration,proto3" json:"is_declaration,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LeadershipMessage) Reset() { *m = LeadershipMessage{} } +func (m *LeadershipMessage) String() string { return proto.CompactTextString(m) } +func (*LeadershipMessage) ProtoMessage() {} +func (*LeadershipMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{19} +} + +func (m *LeadershipMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LeadershipMessage.Unmarshal(m, b) +} +func (m *LeadershipMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LeadershipMessage.Marshal(b, m, deterministic) +} +func (m *LeadershipMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_LeadershipMessage.Merge(m, src) +} +func (m *LeadershipMessage) XXX_Size() int { + return xxx_messageInfo_LeadershipMessage.Size(m) +} +func (m *LeadershipMessage) XXX_DiscardUnknown() { + xxx_messageInfo_LeadershipMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_LeadershipMessage proto.InternalMessageInfo + +func (m *LeadershipMessage) GetPkiId() []byte { + if m != nil { + return m.PkiId + } + return nil +} + +func (m *LeadershipMessage) GetTimestamp() *PeerTime { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *LeadershipMessage) GetIsDeclaration() bool { + if m != nil { + return m.IsDeclaration + } + return false +} + +// PeerTime defines the logical time of a peer's life +type PeerTime struct { + IncNum uint64 `protobuf:"varint,1,opt,name=inc_num,json=incNum,proto3" json:"inc_num,omitempty"` + SeqNum uint64 `protobuf:"varint,2,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PeerTime) Reset() { *m = PeerTime{} } +func (m *PeerTime) String() string { return proto.CompactTextString(m) } +func (*PeerTime) ProtoMessage() {} +func (*PeerTime) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{20} +} + +func (m *PeerTime) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PeerTime.Unmarshal(m, b) +} +func (m *PeerTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PeerTime.Marshal(b, m, deterministic) +} +func (m *PeerTime) XXX_Merge(src proto.Message) { + xxx_messageInfo_PeerTime.Merge(m, src) +} +func (m *PeerTime) XXX_Size() int { + return xxx_messageInfo_PeerTime.Size(m) +} +func (m *PeerTime) XXX_DiscardUnknown() { + xxx_messageInfo_PeerTime.DiscardUnknown(m) +} + +var xxx_messageInfo_PeerTime proto.InternalMessageInfo + +func (m *PeerTime) GetIncNum() uint64 { + if m != nil { + return m.IncNum + } + return 0 +} + +func (m *PeerTime) GetSeqNum() uint64 { + if m != nil { + return m.SeqNum + } + return 0 +} + +// MembershipRequest is used to ask membership information +// from a remote peer +type MembershipRequest struct { + SelfInformation *Envelope `protobuf:"bytes,1,opt,name=self_information,json=selfInformation,proto3" json:"self_information,omitempty"` + Known [][]byte `protobuf:"bytes,2,rep,name=known,proto3" json:"known,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MembershipRequest) Reset() { *m = MembershipRequest{} } +func (m *MembershipRequest) String() string { return proto.CompactTextString(m) } +func (*MembershipRequest) ProtoMessage() {} +func (*MembershipRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{21} +} + +func (m *MembershipRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MembershipRequest.Unmarshal(m, b) +} +func (m *MembershipRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MembershipRequest.Marshal(b, m, deterministic) +} +func (m *MembershipRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_MembershipRequest.Merge(m, src) +} +func (m *MembershipRequest) XXX_Size() int { + return xxx_messageInfo_MembershipRequest.Size(m) +} +func (m *MembershipRequest) XXX_DiscardUnknown() { + xxx_messageInfo_MembershipRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_MembershipRequest proto.InternalMessageInfo + +func (m *MembershipRequest) GetSelfInformation() *Envelope { + if m != nil { + return m.SelfInformation + } + return nil +} + +func (m *MembershipRequest) GetKnown() [][]byte { + if m != nil { + return m.Known + } + return nil +} + +// MembershipResponse is used for replying to MembershipRequests +type MembershipResponse struct { + Alive []*Envelope `protobuf:"bytes,1,rep,name=alive,proto3" json:"alive,omitempty"` + Dead []*Envelope `protobuf:"bytes,2,rep,name=dead,proto3" json:"dead,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MembershipResponse) Reset() { *m = MembershipResponse{} } +func (m *MembershipResponse) String() string { return proto.CompactTextString(m) } +func (*MembershipResponse) ProtoMessage() {} +func (*MembershipResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{22} +} + +func (m *MembershipResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MembershipResponse.Unmarshal(m, b) +} +func (m *MembershipResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MembershipResponse.Marshal(b, m, deterministic) +} +func (m *MembershipResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MembershipResponse.Merge(m, src) +} +func (m *MembershipResponse) XXX_Size() int { + return xxx_messageInfo_MembershipResponse.Size(m) +} +func (m *MembershipResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MembershipResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MembershipResponse proto.InternalMessageInfo + +func (m *MembershipResponse) GetAlive() []*Envelope { + if m != nil { + return m.Alive + } + return nil +} + +func (m *MembershipResponse) GetDead() []*Envelope { + if m != nil { + return m.Dead + } + return nil +} + +// Member holds membership-related information +// about a peer +type Member struct { + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + Metadata []byte `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + PkiId []byte `protobuf:"bytes,3,opt,name=pki_id,json=pkiId,proto3" json:"pki_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Member) Reset() { *m = Member{} } +func (m *Member) String() string { return proto.CompactTextString(m) } +func (*Member) ProtoMessage() {} +func (*Member) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{23} +} + +func (m *Member) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Member.Unmarshal(m, b) +} +func (m *Member) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Member.Marshal(b, m, deterministic) +} +func (m *Member) XXX_Merge(src proto.Message) { + xxx_messageInfo_Member.Merge(m, src) +} +func (m *Member) XXX_Size() int { + return xxx_messageInfo_Member.Size(m) +} +func (m *Member) XXX_DiscardUnknown() { + xxx_messageInfo_Member.DiscardUnknown(m) +} + +var xxx_messageInfo_Member proto.InternalMessageInfo + +func (m *Member) GetEndpoint() string { + if m != nil { + return m.Endpoint + } + return "" +} + +func (m *Member) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +func (m *Member) GetPkiId() []byte { + if m != nil { + return m.PkiId + } + return nil +} + +// Empty is used for pinging and in tests +type Empty struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Empty) Reset() { *m = Empty{} } +func (m *Empty) String() string { return proto.CompactTextString(m) } +func (*Empty) ProtoMessage() {} +func (*Empty) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{24} +} + +func (m *Empty) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Empty.Unmarshal(m, b) +} +func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Empty.Marshal(b, m, deterministic) +} +func (m *Empty) XXX_Merge(src proto.Message) { + xxx_messageInfo_Empty.Merge(m, src) +} +func (m *Empty) XXX_Size() int { + return xxx_messageInfo_Empty.Size(m) +} +func (m *Empty) XXX_DiscardUnknown() { + xxx_messageInfo_Empty.DiscardUnknown(m) +} + +var xxx_messageInfo_Empty proto.InternalMessageInfo + +// RemoteStateRequest is used to ask a set of blocks +// from a remote peer +type RemoteStateRequest struct { + StartSeqNum uint64 `protobuf:"varint,1,opt,name=start_seq_num,json=startSeqNum,proto3" json:"start_seq_num,omitempty"` + EndSeqNum uint64 `protobuf:"varint,2,opt,name=end_seq_num,json=endSeqNum,proto3" json:"end_seq_num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoteStateRequest) Reset() { *m = RemoteStateRequest{} } +func (m *RemoteStateRequest) String() string { return proto.CompactTextString(m) } +func (*RemoteStateRequest) ProtoMessage() {} +func (*RemoteStateRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{25} +} + +func (m *RemoteStateRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoteStateRequest.Unmarshal(m, b) +} +func (m *RemoteStateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoteStateRequest.Marshal(b, m, deterministic) +} +func (m *RemoteStateRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoteStateRequest.Merge(m, src) +} +func (m *RemoteStateRequest) XXX_Size() int { + return xxx_messageInfo_RemoteStateRequest.Size(m) +} +func (m *RemoteStateRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RemoteStateRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoteStateRequest proto.InternalMessageInfo + +func (m *RemoteStateRequest) GetStartSeqNum() uint64 { + if m != nil { + return m.StartSeqNum + } + return 0 +} + +func (m *RemoteStateRequest) GetEndSeqNum() uint64 { + if m != nil { + return m.EndSeqNum + } + return 0 +} + +// RemoteStateResponse is used to send a set of blocks +// to a remote peer +type RemoteStateResponse struct { + Payloads []*Payload `protobuf:"bytes,1,rep,name=payloads,proto3" json:"payloads,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoteStateResponse) Reset() { *m = RemoteStateResponse{} } +func (m *RemoteStateResponse) String() string { return proto.CompactTextString(m) } +func (*RemoteStateResponse) ProtoMessage() {} +func (*RemoteStateResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{26} +} + +func (m *RemoteStateResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoteStateResponse.Unmarshal(m, b) +} +func (m *RemoteStateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoteStateResponse.Marshal(b, m, deterministic) +} +func (m *RemoteStateResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoteStateResponse.Merge(m, src) +} +func (m *RemoteStateResponse) XXX_Size() int { + return xxx_messageInfo_RemoteStateResponse.Size(m) +} +func (m *RemoteStateResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RemoteStateResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoteStateResponse proto.InternalMessageInfo + +func (m *RemoteStateResponse) GetPayloads() []*Payload { + if m != nil { + return m.Payloads + } + return nil +} + +// RemotePrivateDataRequest message used to request +// missing private rwset +type RemotePvtDataRequest struct { + Digests []*PvtDataDigest `protobuf:"bytes,1,rep,name=digests,proto3" json:"digests,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemotePvtDataRequest) Reset() { *m = RemotePvtDataRequest{} } +func (m *RemotePvtDataRequest) String() string { return proto.CompactTextString(m) } +func (*RemotePvtDataRequest) ProtoMessage() {} +func (*RemotePvtDataRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{27} +} + +func (m *RemotePvtDataRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemotePvtDataRequest.Unmarshal(m, b) +} +func (m *RemotePvtDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemotePvtDataRequest.Marshal(b, m, deterministic) +} +func (m *RemotePvtDataRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemotePvtDataRequest.Merge(m, src) +} +func (m *RemotePvtDataRequest) XXX_Size() int { + return xxx_messageInfo_RemotePvtDataRequest.Size(m) +} +func (m *RemotePvtDataRequest) XXX_DiscardUnknown() { + xxx_messageInfo_RemotePvtDataRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_RemotePvtDataRequest proto.InternalMessageInfo + +func (m *RemotePvtDataRequest) GetDigests() []*PvtDataDigest { + if m != nil { + return m.Digests + } + return nil +} + +// PvtDataDigest defines a digest of private data +type PvtDataDigest struct { + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + BlockSeq uint64 `protobuf:"varint,4,opt,name=block_seq,json=blockSeq,proto3" json:"block_seq,omitempty"` + SeqInBlock uint64 `protobuf:"varint,5,opt,name=seq_in_block,json=seqInBlock,proto3" json:"seq_in_block,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PvtDataDigest) Reset() { *m = PvtDataDigest{} } +func (m *PvtDataDigest) String() string { return proto.CompactTextString(m) } +func (*PvtDataDigest) ProtoMessage() {} +func (*PvtDataDigest) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{28} +} + +func (m *PvtDataDigest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PvtDataDigest.Unmarshal(m, b) +} +func (m *PvtDataDigest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PvtDataDigest.Marshal(b, m, deterministic) +} +func (m *PvtDataDigest) XXX_Merge(src proto.Message) { + xxx_messageInfo_PvtDataDigest.Merge(m, src) +} +func (m *PvtDataDigest) XXX_Size() int { + return xxx_messageInfo_PvtDataDigest.Size(m) +} +func (m *PvtDataDigest) XXX_DiscardUnknown() { + xxx_messageInfo_PvtDataDigest.DiscardUnknown(m) +} + +var xxx_messageInfo_PvtDataDigest proto.InternalMessageInfo + +func (m *PvtDataDigest) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *PvtDataDigest) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *PvtDataDigest) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *PvtDataDigest) GetBlockSeq() uint64 { + if m != nil { + return m.BlockSeq + } + return 0 +} + +func (m *PvtDataDigest) GetSeqInBlock() uint64 { + if m != nil { + return m.SeqInBlock + } + return 0 +} + +// RemotePrivateData message to response on private +// data replication request +type RemotePvtDataResponse struct { + Elements []*PvtDataElement `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemotePvtDataResponse) Reset() { *m = RemotePvtDataResponse{} } +func (m *RemotePvtDataResponse) String() string { return proto.CompactTextString(m) } +func (*RemotePvtDataResponse) ProtoMessage() {} +func (*RemotePvtDataResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{29} +} + +func (m *RemotePvtDataResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemotePvtDataResponse.Unmarshal(m, b) +} +func (m *RemotePvtDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemotePvtDataResponse.Marshal(b, m, deterministic) +} +func (m *RemotePvtDataResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemotePvtDataResponse.Merge(m, src) +} +func (m *RemotePvtDataResponse) XXX_Size() int { + return xxx_messageInfo_RemotePvtDataResponse.Size(m) +} +func (m *RemotePvtDataResponse) XXX_DiscardUnknown() { + xxx_messageInfo_RemotePvtDataResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_RemotePvtDataResponse proto.InternalMessageInfo + +func (m *RemotePvtDataResponse) GetElements() []*PvtDataElement { + if m != nil { + return m.Elements + } + return nil +} + +type PvtDataElement struct { + Digest *PvtDataDigest `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` + // the payload is a marshaled kvrwset.KVRWSet + Payload [][]byte `protobuf:"bytes,2,rep,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PvtDataElement) Reset() { *m = PvtDataElement{} } +func (m *PvtDataElement) String() string { return proto.CompactTextString(m) } +func (*PvtDataElement) ProtoMessage() {} +func (*PvtDataElement) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{30} +} + +func (m *PvtDataElement) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PvtDataElement.Unmarshal(m, b) +} +func (m *PvtDataElement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PvtDataElement.Marshal(b, m, deterministic) +} +func (m *PvtDataElement) XXX_Merge(src proto.Message) { + xxx_messageInfo_PvtDataElement.Merge(m, src) +} +func (m *PvtDataElement) XXX_Size() int { + return xxx_messageInfo_PvtDataElement.Size(m) +} +func (m *PvtDataElement) XXX_DiscardUnknown() { + xxx_messageInfo_PvtDataElement.DiscardUnknown(m) +} + +var xxx_messageInfo_PvtDataElement proto.InternalMessageInfo + +func (m *PvtDataElement) GetDigest() *PvtDataDigest { + if m != nil { + return m.Digest + } + return nil +} + +func (m *PvtDataElement) GetPayload() [][]byte { + if m != nil { + return m.Payload + } + return nil +} + +// PvtPayload augments private rwset data and tx index +// inside the block +type PvtDataPayload struct { + TxSeqInBlock uint64 `protobuf:"varint,1,opt,name=tx_seq_in_block,json=txSeqInBlock,proto3" json:"tx_seq_in_block,omitempty"` + // Encodes marhslaed bytes of rwset.TxPvtReadWriteSet + // defined in rwset.proto + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PvtDataPayload) Reset() { *m = PvtDataPayload{} } +func (m *PvtDataPayload) String() string { return proto.CompactTextString(m) } +func (*PvtDataPayload) ProtoMessage() {} +func (*PvtDataPayload) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{31} +} + +func (m *PvtDataPayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PvtDataPayload.Unmarshal(m, b) +} +func (m *PvtDataPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PvtDataPayload.Marshal(b, m, deterministic) +} +func (m *PvtDataPayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_PvtDataPayload.Merge(m, src) +} +func (m *PvtDataPayload) XXX_Size() int { + return xxx_messageInfo_PvtDataPayload.Size(m) +} +func (m *PvtDataPayload) XXX_DiscardUnknown() { + xxx_messageInfo_PvtDataPayload.DiscardUnknown(m) +} + +var xxx_messageInfo_PvtDataPayload proto.InternalMessageInfo + +func (m *PvtDataPayload) GetTxSeqInBlock() uint64 { + if m != nil { + return m.TxSeqInBlock + } + return 0 +} + +func (m *PvtDataPayload) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +type Acknowledgement struct { + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Acknowledgement) Reset() { *m = Acknowledgement{} } +func (m *Acknowledgement) String() string { return proto.CompactTextString(m) } +func (*Acknowledgement) ProtoMessage() {} +func (*Acknowledgement) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{32} +} + +func (m *Acknowledgement) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Acknowledgement.Unmarshal(m, b) +} +func (m *Acknowledgement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Acknowledgement.Marshal(b, m, deterministic) +} +func (m *Acknowledgement) XXX_Merge(src proto.Message) { + xxx_messageInfo_Acknowledgement.Merge(m, src) +} +func (m *Acknowledgement) XXX_Size() int { + return xxx_messageInfo_Acknowledgement.Size(m) +} +func (m *Acknowledgement) XXX_DiscardUnknown() { + xxx_messageInfo_Acknowledgement.DiscardUnknown(m) +} + +var xxx_messageInfo_Acknowledgement proto.InternalMessageInfo + +func (m *Acknowledgement) GetError() string { + if m != nil { + return m.Error + } + return "" +} + +// Chaincode represents a Chaincode that is installed +// on a peer +type Chaincode struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + Metadata []byte `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Chaincode) Reset() { *m = Chaincode{} } +func (m *Chaincode) String() string { return proto.CompactTextString(m) } +func (*Chaincode) ProtoMessage() {} +func (*Chaincode) Descriptor() ([]byte, []int) { + return fileDescriptor_24518b295636120e, []int{33} +} + +func (m *Chaincode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Chaincode.Unmarshal(m, b) +} +func (m *Chaincode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Chaincode.Marshal(b, m, deterministic) +} +func (m *Chaincode) XXX_Merge(src proto.Message) { + xxx_messageInfo_Chaincode.Merge(m, src) +} +func (m *Chaincode) XXX_Size() int { + return xxx_messageInfo_Chaincode.Size(m) +} +func (m *Chaincode) XXX_DiscardUnknown() { + xxx_messageInfo_Chaincode.DiscardUnknown(m) +} + +var xxx_messageInfo_Chaincode proto.InternalMessageInfo + +func (m *Chaincode) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Chaincode) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *Chaincode) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +func init() { + proto.RegisterEnum("gossip.PullMsgType", PullMsgType_name, PullMsgType_value) + proto.RegisterEnum("gossip.GossipMessage_Tag", GossipMessage_Tag_name, GossipMessage_Tag_value) + proto.RegisterType((*Envelope)(nil), "gossip.Envelope") + proto.RegisterType((*SecretEnvelope)(nil), "gossip.SecretEnvelope") + proto.RegisterType((*Secret)(nil), "gossip.Secret") + proto.RegisterType((*GossipMessage)(nil), "gossip.GossipMessage") + proto.RegisterType((*StateInfo)(nil), "gossip.StateInfo") + proto.RegisterType((*Properties)(nil), "gossip.Properties") + proto.RegisterType((*StateInfoSnapshot)(nil), "gossip.StateInfoSnapshot") + proto.RegisterType((*StateInfoPullRequest)(nil), "gossip.StateInfoPullRequest") + proto.RegisterType((*ConnEstablish)(nil), "gossip.ConnEstablish") + proto.RegisterType((*PeerIdentity)(nil), "gossip.PeerIdentity") + proto.RegisterType((*DataRequest)(nil), "gossip.DataRequest") + proto.RegisterType((*GossipHello)(nil), "gossip.GossipHello") + proto.RegisterType((*DataUpdate)(nil), "gossip.DataUpdate") + proto.RegisterType((*DataDigest)(nil), "gossip.DataDigest") + proto.RegisterType((*DataMessage)(nil), "gossip.DataMessage") + proto.RegisterType((*PrivateDataMessage)(nil), "gossip.PrivateDataMessage") + proto.RegisterType((*Payload)(nil), "gossip.Payload") + proto.RegisterType((*PrivatePayload)(nil), "gossip.PrivatePayload") + proto.RegisterType((*AliveMessage)(nil), "gossip.AliveMessage") + proto.RegisterType((*LeadershipMessage)(nil), "gossip.LeadershipMessage") + proto.RegisterType((*PeerTime)(nil), "gossip.PeerTime") + proto.RegisterType((*MembershipRequest)(nil), "gossip.MembershipRequest") + proto.RegisterType((*MembershipResponse)(nil), "gossip.MembershipResponse") + proto.RegisterType((*Member)(nil), "gossip.Member") + proto.RegisterType((*Empty)(nil), "gossip.Empty") + proto.RegisterType((*RemoteStateRequest)(nil), "gossip.RemoteStateRequest") + proto.RegisterType((*RemoteStateResponse)(nil), "gossip.RemoteStateResponse") + proto.RegisterType((*RemotePvtDataRequest)(nil), "gossip.RemotePvtDataRequest") + proto.RegisterType((*PvtDataDigest)(nil), "gossip.PvtDataDigest") + proto.RegisterType((*RemotePvtDataResponse)(nil), "gossip.RemotePvtDataResponse") + proto.RegisterType((*PvtDataElement)(nil), "gossip.PvtDataElement") + proto.RegisterType((*PvtDataPayload)(nil), "gossip.PvtDataPayload") + proto.RegisterType((*Acknowledgement)(nil), "gossip.Acknowledgement") + proto.RegisterType((*Chaincode)(nil), "gossip.Chaincode") +} + +func init() { proto.RegisterFile("gossip/message.proto", fileDescriptor_24518b295636120e) } + +var fileDescriptor_24518b295636120e = []byte{ + // 1872 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x5b, 0x6f, 0xe3, 0xc6, + 0x15, 0x36, 0x6d, 0x5d, 0x8f, 0x2e, 0x96, 0xc7, 0xde, 0x5d, 0xc6, 0x49, 0x13, 0x87, 0xed, 0x36, + 0xdb, 0xee, 0xae, 0xbc, 0x75, 0x7a, 0x03, 0xd2, 0x76, 0x61, 0x4b, 0x8a, 0x25, 0x64, 0xa5, 0x75, + 0x69, 0x2f, 0x5a, 0xf7, 0x85, 0x18, 0x93, 0x23, 0x8a, 0x30, 0x39, 0xa4, 0x39, 0x63, 0xc7, 0x7e, + 0x2c, 0xfa, 0x10, 0xa0, 0x2f, 0xfd, 0x0d, 0x7d, 0xea, 0xdf, 0x2c, 0x66, 0x86, 0x57, 0xc9, 0x36, + 0xb0, 0x01, 0xf2, 0xc6, 0x73, 0x9f, 0x39, 0x73, 0xe6, 0x3b, 0x67, 0x08, 0x3b, 0x6e, 0xc8, 0x98, + 0x17, 0xed, 0x07, 0x84, 0x31, 0xec, 0x92, 0x7e, 0x14, 0x87, 0x3c, 0x44, 0x35, 0xc5, 0xdd, 0x7d, + 0x66, 0x87, 0x41, 0x10, 0xd2, 0x7d, 0x3b, 0xf4, 0x7d, 0x62, 0x73, 0x2f, 0xa4, 0x4a, 0xc1, 0xf8, + 0x97, 0x06, 0x8d, 0x11, 0xbd, 0x21, 0x7e, 0x18, 0x11, 0xa4, 0x43, 0x3d, 0xc2, 0x77, 0x7e, 0x88, + 0x1d, 0x5d, 0xdb, 0xd3, 0x5e, 0xb4, 0xcd, 0x94, 0x44, 0x9f, 0x41, 0x93, 0x79, 0x2e, 0xc5, 0xfc, + 0x3a, 0x26, 0xfa, 0xba, 0x94, 0xe5, 0x0c, 0xf4, 0x16, 0x36, 0x19, 0xb1, 0x63, 0xc2, 0x2d, 0x92, + 0xb8, 0xd2, 0x37, 0xf6, 0xb4, 0x17, 0xad, 0x83, 0xa7, 0x7d, 0x15, 0xbf, 0x7f, 0x2a, 0xc5, 0x69, + 0x20, 0xb3, 0xcb, 0x4a, 0xb4, 0x31, 0x86, 0x6e, 0x59, 0xe3, 0xc7, 0x2e, 0xc5, 0x38, 0x84, 0x9a, + 0xf2, 0x84, 0x5e, 0x41, 0xcf, 0xa3, 0x9c, 0xc4, 0x14, 0xfb, 0x23, 0xea, 0x44, 0xa1, 0x47, 0xb9, + 0x74, 0xd5, 0x1c, 0xaf, 0x99, 0x2b, 0x92, 0xa3, 0x26, 0xd4, 0xed, 0x90, 0x72, 0x42, 0xb9, 0xf1, + 0x43, 0x0b, 0x3a, 0xc7, 0x72, 0xd9, 0x53, 0x95, 0x4b, 0xb4, 0x03, 0x55, 0x1a, 0x52, 0x9b, 0x48, + 0xfb, 0x8a, 0xa9, 0x08, 0xb1, 0x44, 0x7b, 0x81, 0x29, 0x25, 0x7e, 0xb2, 0x8c, 0x94, 0x44, 0x2f, + 0x61, 0x83, 0x63, 0x57, 0xe6, 0xa0, 0x7b, 0xf0, 0x49, 0x9a, 0x83, 0x92, 0xcf, 0xfe, 0x19, 0x76, + 0x4d, 0xa1, 0x85, 0xbe, 0x86, 0x26, 0xf6, 0xbd, 0x1b, 0x62, 0x05, 0xcc, 0xd5, 0xab, 0x32, 0x6d, + 0x3b, 0xa9, 0xc9, 0xa1, 0x10, 0x24, 0x16, 0xe3, 0x35, 0xb3, 0x21, 0x15, 0xa7, 0xcc, 0x45, 0xbf, + 0x85, 0x7a, 0x40, 0x02, 0x2b, 0x26, 0x57, 0x7a, 0x4d, 0x9a, 0x64, 0x51, 0xa6, 0x24, 0xb8, 0x20, + 0x31, 0x5b, 0x78, 0x91, 0x49, 0xae, 0xae, 0x09, 0xe3, 0xe3, 0x35, 0xb3, 0x16, 0x90, 0xc0, 0x24, + 0x57, 0xe8, 0x77, 0xa9, 0x15, 0xd3, 0xeb, 0xd2, 0x6a, 0xf7, 0x3e, 0x2b, 0x16, 0x85, 0x94, 0x91, + 0xcc, 0x8c, 0xa1, 0x37, 0xd0, 0x70, 0x30, 0xc7, 0x72, 0x81, 0x0d, 0x69, 0xb7, 0x9d, 0xda, 0x0d, + 0x31, 0xc7, 0xf9, 0xfa, 0xea, 0x42, 0x4d, 0x2c, 0xef, 0x25, 0x54, 0x17, 0xc4, 0xf7, 0x43, 0xbd, + 0x59, 0x56, 0x57, 0x29, 0x18, 0x0b, 0xd1, 0x78, 0xcd, 0x54, 0x3a, 0x68, 0x3f, 0x71, 0xef, 0x78, + 0xae, 0x0e, 0x52, 0x1f, 0x15, 0xdd, 0x0f, 0x3d, 0x57, 0xed, 0x42, 0x7a, 0x1f, 0x7a, 0x6e, 0xb6, + 0x1e, 0xb1, 0xfb, 0xd6, 0xea, 0x7a, 0xf2, 0x7d, 0x4b, 0x0b, 0xb5, 0xf1, 0x96, 0xb4, 0xb8, 0x8e, + 0x1c, 0xcc, 0x89, 0xde, 0x5e, 0x8d, 0xf2, 0x41, 0x4a, 0xc6, 0x6b, 0x26, 0x38, 0x19, 0x85, 0x9e, + 0x43, 0x95, 0x04, 0x11, 0xbf, 0xd3, 0x3b, 0xd2, 0xa0, 0x93, 0x1a, 0x8c, 0x04, 0x53, 0x6c, 0x40, + 0x4a, 0xd1, 0x4b, 0xa8, 0xd8, 0x21, 0xa5, 0x7a, 0x57, 0x6a, 0x3d, 0x49, 0xb5, 0x06, 0x21, 0xa5, + 0x23, 0xc6, 0xf1, 0x85, 0xef, 0xb1, 0xc5, 0x78, 0xcd, 0x94, 0x4a, 0xe8, 0x00, 0x80, 0x71, 0xcc, + 0x89, 0xe5, 0xd1, 0x79, 0xa8, 0x6f, 0x4a, 0x93, 0xad, 0xec, 0x9a, 0x08, 0xc9, 0x84, 0xce, 0x45, + 0x76, 0x9a, 0x2c, 0x25, 0xd0, 0x11, 0x74, 0x95, 0x0d, 0xa3, 0x38, 0x62, 0x8b, 0x90, 0xeb, 0xbd, + 0xf2, 0xa1, 0x67, 0x76, 0xa7, 0x89, 0xc2, 0x78, 0xcd, 0xec, 0x48, 0x93, 0x94, 0x81, 0xa6, 0xb0, + 0x9d, 0xc7, 0xb5, 0xa2, 0x6b, 0xdf, 0x97, 0xf9, 0xdb, 0x92, 0x8e, 0x3e, 0x5b, 0x71, 0x74, 0x72, + 0xed, 0xfb, 0x79, 0x22, 0x7b, 0x6c, 0x89, 0x8f, 0x0e, 0x41, 0xf9, 0x17, 0x4e, 0x84, 0x92, 0x8e, + 0xca, 0x05, 0x65, 0x92, 0x20, 0xe4, 0x44, 0xba, 0xcb, 0xdd, 0xb4, 0x59, 0x81, 0x46, 0xc3, 0x74, + 0x57, 0x71, 0x52, 0x72, 0xfa, 0xb6, 0xf4, 0xf1, 0xe9, 0xbd, 0x3e, 0xb2, 0xaa, 0xec, 0xb0, 0x22, + 0x43, 0xe4, 0xc6, 0x27, 0xd8, 0x51, 0xc5, 0x2b, 0x4b, 0x74, 0xa7, 0x9c, 0x9b, 0x77, 0x99, 0x34, + 0x2f, 0xd4, 0x4e, 0x6e, 0x22, 0xca, 0xf5, 0x1b, 0xe8, 0x44, 0x84, 0xc4, 0x96, 0xe7, 0x10, 0xca, + 0x3d, 0x7e, 0xa7, 0x3f, 0x29, 0x5f, 0xc3, 0x13, 0x42, 0xe2, 0x49, 0x22, 0x13, 0xdb, 0x88, 0x0a, + 0xb4, 0xb8, 0xec, 0xd8, 0xbe, 0xd4, 0x9f, 0x4a, 0x93, 0x67, 0xd9, 0xcd, 0xb5, 0x2f, 0x69, 0xf8, + 0xbd, 0x4f, 0x1c, 0x97, 0x04, 0x84, 0x8a, 0xcd, 0x0b, 0x2d, 0xf4, 0x17, 0x80, 0x28, 0xf6, 0x6e, + 0x54, 0x16, 0xf4, 0x67, 0xe5, 0xe4, 0xab, 0xfd, 0x9e, 0xdc, 0xf0, 0x72, 0x15, 0x17, 0x2c, 0xd0, + 0xdb, 0x82, 0x3d, 0xd3, 0x75, 0x69, 0xff, 0xb3, 0x07, 0xec, 0xb3, 0x8c, 0x15, 0x4c, 0xd0, 0x5b, + 0x68, 0x27, 0x94, 0x25, 0x0a, 0x5d, 0xff, 0xa4, 0x7c, 0x6c, 0x27, 0x4a, 0x56, 0xbe, 0xd6, 0xad, + 0x28, 0xe7, 0x1a, 0x16, 0x6c, 0x9c, 0x61, 0x17, 0x75, 0xa0, 0xf9, 0x61, 0x36, 0x1c, 0x7d, 0x3b, + 0x99, 0x8d, 0x86, 0xbd, 0x35, 0xd4, 0x84, 0xea, 0x68, 0x7a, 0x72, 0x76, 0xde, 0xd3, 0x50, 0x1b, + 0x1a, 0xef, 0xcd, 0x63, 0xeb, 0xfd, 0xec, 0xdd, 0x79, 0x6f, 0x5d, 0xe8, 0x0d, 0xc6, 0x87, 0x33, + 0x45, 0x6e, 0xa0, 0x1e, 0xb4, 0x25, 0x79, 0x38, 0x1b, 0x5a, 0xef, 0xcd, 0xe3, 0x5e, 0x05, 0x6d, + 0x42, 0x4b, 0x29, 0x98, 0x92, 0x51, 0x2d, 0x22, 0xf1, 0xff, 0x34, 0x68, 0x66, 0x15, 0x89, 0xfa, + 0xd0, 0xe4, 0x5e, 0x40, 0x18, 0xc7, 0x41, 0x24, 0x11, 0xb7, 0x75, 0xd0, 0x2b, 0x9e, 0xd0, 0x99, + 0x17, 0x10, 0x33, 0x57, 0x41, 0x4f, 0xa0, 0x16, 0x5d, 0x7a, 0x96, 0xe7, 0x48, 0x20, 0x6e, 0x9b, + 0xd5, 0xe8, 0xd2, 0x9b, 0x38, 0xe8, 0x0b, 0x68, 0x25, 0x38, 0x6d, 0x4d, 0x0f, 0x07, 0x7a, 0x45, + 0xca, 0x20, 0x61, 0x4d, 0x0f, 0x07, 0xe2, 0x86, 0x46, 0x71, 0x18, 0x91, 0x98, 0x7b, 0x84, 0x25, + 0x88, 0x8c, 0xf2, 0x04, 0xa5, 0x12, 0xb3, 0xa0, 0x65, 0xfc, 0xa0, 0x01, 0xe4, 0x22, 0xf4, 0x73, + 0xe8, 0xc8, 0xa3, 0x8f, 0xad, 0x05, 0xf1, 0xdc, 0x05, 0x4f, 0x1a, 0x47, 0x5b, 0x31, 0xc7, 0x92, + 0x87, 0xbe, 0x84, 0xb6, 0x4f, 0xe6, 0xdc, 0x2a, 0x36, 0x91, 0x86, 0xd9, 0x12, 0xbc, 0x41, 0xd2, + 0x48, 0x7e, 0x03, 0x62, 0x61, 0x1e, 0xb5, 0x43, 0x87, 0x30, 0x7d, 0x63, 0x6f, 0xa3, 0x08, 0x16, + 0x83, 0x54, 0x62, 0x16, 0x94, 0x8c, 0x43, 0xd8, 0x5a, 0x41, 0x03, 0xf4, 0x0a, 0x1a, 0xc4, 0x97, + 0x85, 0xc8, 0x74, 0x4d, 0x7a, 0xc9, 0x32, 0x97, 0xf5, 0xe4, 0x4c, 0xc3, 0xf8, 0x03, 0xec, 0xdc, + 0x87, 0x03, 0xcb, 0x99, 0xd3, 0x96, 0x33, 0x67, 0xcc, 0xa1, 0x53, 0x02, 0xbd, 0xc2, 0x11, 0x68, + 0xc5, 0x23, 0xd8, 0x85, 0x46, 0x76, 0xd5, 0x54, 0xeb, 0xcc, 0x68, 0x64, 0x40, 0x87, 0xfb, 0xcc, + 0xb2, 0x49, 0xcc, 0xad, 0x05, 0x66, 0x8b, 0xe4, 0xf0, 0x5a, 0xdc, 0x67, 0x03, 0x12, 0xf3, 0x31, + 0x66, 0x0b, 0xe3, 0x03, 0xb4, 0x8b, 0x57, 0xf2, 0xa1, 0x30, 0x08, 0x2a, 0xc2, 0x4d, 0x12, 0x42, + 0x7e, 0x8b, 0xd0, 0x01, 0xe1, 0x58, 0xd6, 0xbe, 0xf2, 0x9c, 0xd1, 0x46, 0x00, 0xad, 0xc2, 0xcd, + 0x7b, 0xb8, 0xeb, 0x3b, 0xb2, 0x23, 0x31, 0x7d, 0x7d, 0x6f, 0x43, 0x74, 0xfd, 0x84, 0x44, 0x7d, + 0x68, 0x04, 0xcc, 0xb5, 0xf8, 0x5d, 0x32, 0xfe, 0x74, 0xf3, 0xb6, 0x24, 0xb2, 0x38, 0x65, 0xee, + 0xd9, 0x5d, 0x44, 0xcc, 0x7a, 0xa0, 0x3e, 0x8c, 0x10, 0x5a, 0x85, 0x7e, 0xf8, 0x40, 0xb8, 0xe2, + 0x7a, 0xd7, 0xcb, 0xeb, 0xfd, 0xe8, 0x80, 0xb7, 0x00, 0x79, 0xab, 0x7b, 0x20, 0xde, 0x2f, 0xa0, + 0x92, 0xc4, 0xba, 0xbf, 0x4a, 0x2a, 0x3f, 0x2a, 0xb2, 0xaf, 0x22, 0xab, 0x56, 0xfe, 0x93, 0x27, + 0xf6, 0x8f, 0xea, 0x1c, 0xd3, 0xe9, 0xed, 0x57, 0xe5, 0x51, 0xb2, 0x75, 0xb0, 0x99, 0x59, 0x2b, + 0x76, 0x36, 0x5b, 0x1a, 0xdf, 0x02, 0x5a, 0x45, 0x40, 0xf4, 0x66, 0xd9, 0xc1, 0xd3, 0x25, 0xb8, + 0x5c, 0xf1, 0x73, 0x0e, 0xf5, 0x84, 0x87, 0x9e, 0x41, 0x9d, 0x91, 0x2b, 0x8b, 0x5e, 0x07, 0xc9, + 0x76, 0x6b, 0x8c, 0x5c, 0xcd, 0xae, 0x03, 0x51, 0x9d, 0x85, 0x53, 0x55, 0x79, 0xfd, 0x72, 0x09, + 0x9d, 0x37, 0x64, 0x22, 0x4a, 0xf8, 0xfb, 0x9f, 0x75, 0xe8, 0x96, 0xc3, 0xa2, 0xaf, 0x60, 0x33, + 0x9f, 0xeb, 0x2d, 0x8a, 0x03, 0x95, 0xd9, 0xa6, 0xd9, 0xcd, 0xd9, 0x33, 0x1c, 0x10, 0x31, 0x3a, + 0x0b, 0x29, 0x8b, 0xb0, 0xad, 0x46, 0xe7, 0xa6, 0x99, 0x33, 0xd0, 0x36, 0x54, 0xf9, 0x6d, 0x0a, + 0x97, 0x4d, 0xb3, 0xc2, 0x6f, 0x27, 0x8e, 0x40, 0xb2, 0x74, 0x45, 0xf1, 0xf7, 0x8c, 0xf0, 0x04, + 0x2f, 0xd3, 0x65, 0x9a, 0x82, 0x87, 0x5e, 0x01, 0x4a, 0x95, 0x98, 0x17, 0xa4, 0x98, 0x57, 0x95, + 0xdb, 0xed, 0x25, 0x92, 0x53, 0x2f, 0x48, 0x70, 0x6f, 0x06, 0xa8, 0xb0, 0x5c, 0x3b, 0xa4, 0x73, + 0xcf, 0x65, 0xc9, 0x18, 0xfb, 0x45, 0x5f, 0x3d, 0x54, 0xfa, 0x83, 0x4c, 0x63, 0x20, 0x15, 0x4e, + 0xb0, 0x7d, 0x89, 0x5d, 0x62, 0x6e, 0xd9, 0x4b, 0x02, 0x66, 0xfc, 0x5b, 0x83, 0x76, 0x71, 0x50, + 0x46, 0x7d, 0x80, 0x20, 0x9b, 0x67, 0x93, 0x23, 0xeb, 0x96, 0x27, 0x5d, 0xb3, 0xa0, 0xf1, 0xd1, + 0x8d, 0xa5, 0x08, 0x5f, 0x95, 0x32, 0x7c, 0x19, 0xff, 0xd4, 0x60, 0x6b, 0x65, 0xe2, 0x78, 0x08, + 0xa0, 0x3e, 0x36, 0xf0, 0x73, 0xe8, 0x7a, 0xcc, 0x72, 0x88, 0xed, 0xe3, 0x18, 0x8b, 0x14, 0xc8, + 0xa3, 0x6a, 0x98, 0x1d, 0x8f, 0x0d, 0x73, 0xa6, 0xf1, 0x27, 0x68, 0xa4, 0xd6, 0xa2, 0xfc, 0x3c, + 0x6a, 0x17, 0xcb, 0xcf, 0xa3, 0xb6, 0x28, 0xbf, 0x42, 0x5d, 0xae, 0x17, 0xeb, 0xd2, 0x98, 0xc3, + 0xd6, 0xca, 0x1b, 0x02, 0x7d, 0x03, 0x3d, 0x46, 0xfc, 0xb9, 0x1c, 0x1e, 0xe3, 0x40, 0xc5, 0xd6, + 0xca, 0x0b, 0xce, 0x20, 0x62, 0x53, 0x68, 0x4e, 0x72, 0x45, 0x71, 0xdf, 0xc5, 0x30, 0x44, 0x93, + 0x7b, 0xad, 0x08, 0xe3, 0x02, 0xd0, 0xea, 0xab, 0x03, 0xfd, 0x12, 0xaa, 0xf2, 0x91, 0xf3, 0x60, + 0x9b, 0x52, 0x62, 0x89, 0x53, 0x04, 0x3b, 0x8f, 0xe0, 0x14, 0xc1, 0x8e, 0xf1, 0x37, 0xa8, 0xa9, + 0x18, 0xe2, 0xcc, 0x48, 0xe9, 0x15, 0x68, 0x66, 0xf4, 0xa3, 0x18, 0x7b, 0xff, 0x10, 0x61, 0xd4, + 0xa1, 0x2a, 0x1f, 0x01, 0xc6, 0xdf, 0x01, 0xad, 0x8e, 0xba, 0xa2, 0x89, 0x31, 0x8e, 0x63, 0x6e, + 0x95, 0xaf, 0x7e, 0x4b, 0x32, 0x4f, 0xd5, 0xfd, 0xff, 0x1c, 0x5a, 0x84, 0x3a, 0x56, 0xf9, 0x10, + 0x9a, 0x84, 0x3a, 0x4a, 0x6e, 0x1c, 0xc1, 0xf6, 0x3d, 0x03, 0x30, 0x7a, 0x09, 0x8d, 0x04, 0x65, + 0xd2, 0x56, 0xbe, 0x02, 0x67, 0x99, 0x82, 0x71, 0x0c, 0x3b, 0xf7, 0x0d, 0x95, 0x68, 0x3f, 0xc7, + 0x5a, 0xe5, 0x23, 0x7b, 0xb4, 0x24, 0x8a, 0x0a, 0xa9, 0x33, 0x08, 0x36, 0xfe, 0xab, 0x41, 0xa7, + 0x24, 0xca, 0xd1, 0x42, 0x2b, 0xa0, 0xc5, 0xe3, 0x00, 0xf3, 0x39, 0x40, 0x7e, 0x7b, 0x13, 0x94, + 0x29, 0x70, 0xd0, 0xa7, 0xd0, 0xbc, 0xf0, 0x43, 0xfb, 0x52, 0xe4, 0x44, 0x5e, 0xac, 0x8a, 0xd9, + 0x90, 0x8c, 0x53, 0x72, 0x85, 0xf6, 0xa0, 0x2d, 0x52, 0xe5, 0x51, 0x4b, 0xb2, 0x12, 0x74, 0x01, + 0x46, 0xae, 0x26, 0xf4, 0x48, 0x70, 0x8c, 0xef, 0xe0, 0xc9, 0xbd, 0x13, 0x30, 0x3a, 0x58, 0x99, + 0x7e, 0x9e, 0x2e, 0x6d, 0x77, 0xa4, 0xc4, 0x85, 0x19, 0xe8, 0x1c, 0xba, 0x65, 0x19, 0x7a, 0x0d, + 0x35, 0x95, 0x8d, 0xa4, 0xf0, 0x1f, 0x48, 0x59, 0xa2, 0x54, 0xfc, 0x81, 0x91, 0xb4, 0xb3, 0xb4, + 0x39, 0xfc, 0x35, 0x73, 0x9d, 0x02, 0xf8, 0x73, 0xd8, 0xe4, 0xb7, 0x56, 0x69, 0x7b, 0xc9, 0xc0, + 0xc8, 0x6f, 0x4f, 0xb3, 0x0d, 0x96, 0x5d, 0x16, 0xff, 0x89, 0x18, 0x5f, 0xc1, 0xe6, 0xd2, 0x83, + 0x43, 0x5c, 0x3a, 0x12, 0xc7, 0x61, 0x9c, 0x9c, 0x8f, 0x22, 0x8c, 0x0f, 0xd0, 0xcc, 0xc6, 0x46, + 0xd1, 0x81, 0x0a, 0xcd, 0x42, 0x7e, 0x8b, 0x18, 0x37, 0x24, 0x66, 0xe2, 0x80, 0xd4, 0xf9, 0xa5, + 0xe4, 0x63, 0x93, 0xd3, 0xaf, 0xff, 0x0c, 0xad, 0x42, 0x27, 0x5e, 0x7e, 0x1c, 0x74, 0xa0, 0x79, + 0xf4, 0xee, 0xfd, 0xe0, 0x3b, 0x6b, 0x7a, 0x7a, 0xdc, 0xd3, 0xc4, 0x1b, 0x60, 0x32, 0x1c, 0xcd, + 0xce, 0x26, 0x67, 0xe7, 0x92, 0xb3, 0x7e, 0x30, 0x87, 0x9a, 0x9a, 0x84, 0xd0, 0xef, 0xa1, 0xad, + 0xbe, 0x4e, 0x79, 0x4c, 0x70, 0x80, 0x56, 0x2e, 0xf6, 0xee, 0x0a, 0xe7, 0x85, 0xf6, 0x46, 0x13, + 0x70, 0x70, 0xe2, 0x51, 0x17, 0x95, 0x9f, 0xe8, 0xbb, 0x65, 0xf2, 0xe8, 0xcd, 0x3f, 0xfa, 0xae, + 0xc7, 0x17, 0xd7, 0x17, 0xa2, 0xcb, 0xec, 0x2f, 0xee, 0x22, 0x12, 0xab, 0x89, 0x7c, 0x7f, 0x8e, + 0x2f, 0x62, 0xcf, 0x7e, 0x2d, 0xff, 0x89, 0xb1, 0xd7, 0x6e, 0xb8, 0xaf, 0xec, 0x2e, 0x6a, 0x92, + 0xf3, 0xf5, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x97, 0x91, 0x6a, 0xdb, 0x5e, 0x13, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// GossipClient is the client API for Gossip service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type GossipClient interface { + // GossipStream is the gRPC stream used for sending and receiving messages + GossipStream(ctx context.Context, opts ...grpc.CallOption) (Gossip_GossipStreamClient, error) + // Ping is used to probe a remote peer's aliveness + Ping(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) +} + +type gossipClient struct { + cc *grpc.ClientConn +} + +func NewGossipClient(cc *grpc.ClientConn) GossipClient { + return &gossipClient{cc} +} + +func (c *gossipClient) GossipStream(ctx context.Context, opts ...grpc.CallOption) (Gossip_GossipStreamClient, error) { + stream, err := c.cc.NewStream(ctx, &_Gossip_serviceDesc.Streams[0], "/gossip.Gossip/GossipStream", opts...) + if err != nil { + return nil, err + } + x := &gossipGossipStreamClient{stream} + return x, nil +} + +type Gossip_GossipStreamClient interface { + Send(*Envelope) error + Recv() (*Envelope, error) + grpc.ClientStream +} + +type gossipGossipStreamClient struct { + grpc.ClientStream +} + +func (x *gossipGossipStreamClient) Send(m *Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *gossipGossipStreamClient) Recv() (*Envelope, error) { + m := new(Envelope) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *gossipClient) Ping(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, "/gossip.Gossip/Ping", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// GossipServer is the server API for Gossip service. +type GossipServer interface { + // GossipStream is the gRPC stream used for sending and receiving messages + GossipStream(Gossip_GossipStreamServer) error + // Ping is used to probe a remote peer's aliveness + Ping(context.Context, *Empty) (*Empty, error) +} + +// UnimplementedGossipServer can be embedded to have forward compatible implementations. +type UnimplementedGossipServer struct { +} + +func (*UnimplementedGossipServer) GossipStream(srv Gossip_GossipStreamServer) error { + return status.Errorf(codes.Unimplemented, "method GossipStream not implemented") +} +func (*UnimplementedGossipServer) Ping(ctx context.Context, req *Empty) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") +} + +func RegisterGossipServer(s *grpc.Server, srv GossipServer) { + s.RegisterService(&_Gossip_serviceDesc, srv) +} + +func _Gossip_GossipStream_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(GossipServer).GossipStream(&gossipGossipStreamServer{stream}) +} + +type Gossip_GossipStreamServer interface { + Send(*Envelope) error + Recv() (*Envelope, error) + grpc.ServerStream +} + +type gossipGossipStreamServer struct { + grpc.ServerStream +} + +func (x *gossipGossipStreamServer) Send(m *Envelope) error { + return x.ServerStream.SendMsg(m) +} + +func (x *gossipGossipStreamServer) Recv() (*Envelope, error) { + m := new(Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Gossip_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GossipServer).Ping(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/gossip.Gossip/Ping", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GossipServer).Ping(ctx, req.(*Empty)) + } + return interceptor(ctx, in, info, handler) +} + +var _Gossip_serviceDesc = grpc.ServiceDesc{ + ServiceName: "gossip.Gossip", + HandlerType: (*GossipServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Ping", + Handler: _Gossip_Ping_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "GossipStream", + Handler: _Gossip_GossipStream_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "gossip/message.proto", +} diff --git a/ledger/queryresult/kv_query_result.pb.go b/ledger/queryresult/kv_query_result.pb.go new file mode 100644 index 0000000..12540bb --- /dev/null +++ b/ledger/queryresult/kv_query_result.pb.go @@ -0,0 +1,175 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: ledger/queryresult/kv_query_result.proto + +package queryresult + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// KV -- QueryResult for range/execute query. Holds a key and corresponding value. +type KV struct { + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KV) Reset() { *m = KV{} } +func (m *KV) String() string { return proto.CompactTextString(m) } +func (*KV) ProtoMessage() {} +func (*KV) Descriptor() ([]byte, []int) { + return fileDescriptor_f8ee2fe66594a8f2, []int{0} +} + +func (m *KV) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KV.Unmarshal(m, b) +} +func (m *KV) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KV.Marshal(b, m, deterministic) +} +func (m *KV) XXX_Merge(src proto.Message) { + xxx_messageInfo_KV.Merge(m, src) +} +func (m *KV) XXX_Size() int { + return xxx_messageInfo_KV.Size(m) +} +func (m *KV) XXX_DiscardUnknown() { + xxx_messageInfo_KV.DiscardUnknown(m) +} + +var xxx_messageInfo_KV proto.InternalMessageInfo + +func (m *KV) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *KV) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *KV) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +// KeyModification -- QueryResult for history query. Holds a transaction ID, value, +// timestamp, and delete marker which resulted from a history query. +type KeyModification struct { + TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + IsDelete bool `protobuf:"varint,4,opt,name=is_delete,json=isDelete,proto3" json:"is_delete,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyModification) Reset() { *m = KeyModification{} } +func (m *KeyModification) String() string { return proto.CompactTextString(m) } +func (*KeyModification) ProtoMessage() {} +func (*KeyModification) Descriptor() ([]byte, []int) { + return fileDescriptor_f8ee2fe66594a8f2, []int{1} +} + +func (m *KeyModification) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyModification.Unmarshal(m, b) +} +func (m *KeyModification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyModification.Marshal(b, m, deterministic) +} +func (m *KeyModification) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyModification.Merge(m, src) +} +func (m *KeyModification) XXX_Size() int { + return xxx_messageInfo_KeyModification.Size(m) +} +func (m *KeyModification) XXX_DiscardUnknown() { + xxx_messageInfo_KeyModification.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyModification proto.InternalMessageInfo + +func (m *KeyModification) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *KeyModification) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *KeyModification) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *KeyModification) GetIsDelete() bool { + if m != nil { + return m.IsDelete + } + return false +} + +func init() { + proto.RegisterType((*KV)(nil), "queryresult.KV") + proto.RegisterType((*KeyModification)(nil), "queryresult.KeyModification") +} + +func init() { + proto.RegisterFile("ledger/queryresult/kv_query_result.proto", fileDescriptor_f8ee2fe66594a8f2) +} + +var fileDescriptor_f8ee2fe66594a8f2 = []byte{ + // 290 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x4f, 0x4b, 0xc3, 0x30, + 0x18, 0xc6, 0xe9, 0xfe, 0xc8, 0x9a, 0x09, 0x4a, 0xf4, 0x50, 0xa6, 0x60, 0xd9, 0xa9, 0x97, 0x25, + 0xa2, 0x17, 0xf1, 0x28, 0x5e, 0x74, 0x78, 0x29, 0xe2, 0xc1, 0x4b, 0x49, 0xdb, 0xb7, 0x59, 0x58, + 0xdb, 0xd4, 0x24, 0x1d, 0xeb, 0xe7, 0xf0, 0x0b, 0x8b, 0xc9, 0x66, 0x0b, 0xde, 0xf2, 0xbc, 0xef, + 0xf3, 0x7b, 0x78, 0x78, 0x83, 0xa2, 0x12, 0x72, 0x0e, 0x8a, 0x7e, 0xb5, 0xa0, 0x3a, 0x05, 0xba, + 0x2d, 0x0d, 0xdd, 0xee, 0x12, 0x2b, 0x13, 0xa7, 0x49, 0xa3, 0xa4, 0x91, 0x78, 0x3e, 0xb0, 0x2c, + 0x6e, 0xb8, 0x94, 0xbc, 0x04, 0x6a, 0x57, 0x69, 0x5b, 0x50, 0x23, 0x2a, 0xd0, 0x86, 0x55, 0x8d, + 0x73, 0x2f, 0x5f, 0xd1, 0x68, 0xfd, 0x81, 0xaf, 0x91, 0x5f, 0xb3, 0x0a, 0x74, 0xc3, 0x32, 0x08, + 0xbc, 0xd0, 0x8b, 0xfc, 0xb8, 0x1f, 0xe0, 0x73, 0x34, 0xde, 0x42, 0x17, 0x8c, 0xec, 0xfc, 0xf7, + 0x89, 0x2f, 0xd1, 0x74, 0xc7, 0xca, 0x16, 0x82, 0x71, 0xe8, 0x45, 0xa7, 0xb1, 0x13, 0xcb, 0x6f, + 0x0f, 0x9d, 0xad, 0xa1, 0x7b, 0x93, 0xb9, 0x28, 0x44, 0xc6, 0x8c, 0x90, 0x35, 0xbe, 0x40, 0x53, + 0xb3, 0x4f, 0x44, 0x7e, 0x48, 0x9d, 0x98, 0xfd, 0x4b, 0xde, 0xe3, 0xa3, 0x01, 0x8e, 0x1f, 0x90, + 0xff, 0xd7, 0xce, 0x06, 0xcf, 0xef, 0x16, 0xc4, 0xf5, 0x27, 0xc7, 0xfe, 0xe4, 0xfd, 0xe8, 0x88, + 0x7b, 0x33, 0xbe, 0x42, 0xbe, 0xd0, 0x49, 0x0e, 0x25, 0x18, 0x08, 0x26, 0xa1, 0x17, 0xcd, 0xe2, + 0x99, 0xd0, 0xcf, 0x56, 0x3f, 0xd5, 0xe8, 0x56, 0x2a, 0x4e, 0x36, 0x5d, 0x03, 0xca, 0x1d, 0x91, + 0x14, 0x2c, 0x55, 0x22, 0x73, 0xa1, 0x9a, 0x1c, 0x86, 0x83, 0xb3, 0x7d, 0x3e, 0x72, 0x61, 0x36, + 0x6d, 0x4a, 0x32, 0x59, 0xd1, 0x01, 0x48, 0x1d, 0xb8, 0x72, 0xe0, 0x8a, 0x4b, 0xfa, 0xff, 0x57, + 0xd2, 0x13, 0xbb, 0xbd, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x07, 0x6d, 0xd7, 0x47, 0xb2, 0x01, + 0x00, 0x00, +} diff --git a/ledger/rwset/kvrwset/kv_rwset.pb.go b/ledger/rwset/kvrwset/kv_rwset.pb.go new file mode 100644 index 0000000..cb03cd7 --- /dev/null +++ b/ledger/rwset/kvrwset/kv_rwset.pb.go @@ -0,0 +1,829 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: ledger/rwset/kvrwset/kv_rwset.proto + +package kvrwset + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// KVRWSet encapsulates the read-write set for a chaincode that operates upon a KV or Document data model +// This structure is used for both the public data and the private data +type KVRWSet struct { + Reads []*KVRead `protobuf:"bytes,1,rep,name=reads,proto3" json:"reads,omitempty"` + RangeQueriesInfo []*RangeQueryInfo `protobuf:"bytes,2,rep,name=range_queries_info,json=rangeQueriesInfo,proto3" json:"range_queries_info,omitempty"` + Writes []*KVWrite `protobuf:"bytes,3,rep,name=writes,proto3" json:"writes,omitempty"` + MetadataWrites []*KVMetadataWrite `protobuf:"bytes,4,rep,name=metadata_writes,json=metadataWrites,proto3" json:"metadata_writes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVRWSet) Reset() { *m = KVRWSet{} } +func (m *KVRWSet) String() string { return proto.CompactTextString(m) } +func (*KVRWSet) ProtoMessage() {} +func (*KVRWSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{0} +} + +func (m *KVRWSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVRWSet.Unmarshal(m, b) +} +func (m *KVRWSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVRWSet.Marshal(b, m, deterministic) +} +func (m *KVRWSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVRWSet.Merge(m, src) +} +func (m *KVRWSet) XXX_Size() int { + return xxx_messageInfo_KVRWSet.Size(m) +} +func (m *KVRWSet) XXX_DiscardUnknown() { + xxx_messageInfo_KVRWSet.DiscardUnknown(m) +} + +var xxx_messageInfo_KVRWSet proto.InternalMessageInfo + +func (m *KVRWSet) GetReads() []*KVRead { + if m != nil { + return m.Reads + } + return nil +} + +func (m *KVRWSet) GetRangeQueriesInfo() []*RangeQueryInfo { + if m != nil { + return m.RangeQueriesInfo + } + return nil +} + +func (m *KVRWSet) GetWrites() []*KVWrite { + if m != nil { + return m.Writes + } + return nil +} + +func (m *KVRWSet) GetMetadataWrites() []*KVMetadataWrite { + if m != nil { + return m.MetadataWrites + } + return nil +} + +// HashedRWSet encapsulates hashed representation of a private read-write set for KV or Document data model +type HashedRWSet struct { + HashedReads []*KVReadHash `protobuf:"bytes,1,rep,name=hashed_reads,json=hashedReads,proto3" json:"hashed_reads,omitempty"` + HashedWrites []*KVWriteHash `protobuf:"bytes,2,rep,name=hashed_writes,json=hashedWrites,proto3" json:"hashed_writes,omitempty"` + MetadataWrites []*KVMetadataWriteHash `protobuf:"bytes,3,rep,name=metadata_writes,json=metadataWrites,proto3" json:"metadata_writes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HashedRWSet) Reset() { *m = HashedRWSet{} } +func (m *HashedRWSet) String() string { return proto.CompactTextString(m) } +func (*HashedRWSet) ProtoMessage() {} +func (*HashedRWSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{1} +} + +func (m *HashedRWSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HashedRWSet.Unmarshal(m, b) +} +func (m *HashedRWSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HashedRWSet.Marshal(b, m, deterministic) +} +func (m *HashedRWSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_HashedRWSet.Merge(m, src) +} +func (m *HashedRWSet) XXX_Size() int { + return xxx_messageInfo_HashedRWSet.Size(m) +} +func (m *HashedRWSet) XXX_DiscardUnknown() { + xxx_messageInfo_HashedRWSet.DiscardUnknown(m) +} + +var xxx_messageInfo_HashedRWSet proto.InternalMessageInfo + +func (m *HashedRWSet) GetHashedReads() []*KVReadHash { + if m != nil { + return m.HashedReads + } + return nil +} + +func (m *HashedRWSet) GetHashedWrites() []*KVWriteHash { + if m != nil { + return m.HashedWrites + } + return nil +} + +func (m *HashedRWSet) GetMetadataWrites() []*KVMetadataWriteHash { + if m != nil { + return m.MetadataWrites + } + return nil +} + +// KVRead captures a read operation performed during transaction simulation +// A 'nil' version indicates a non-existing key read by the transaction +type KVRead struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Version *Version `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVRead) Reset() { *m = KVRead{} } +func (m *KVRead) String() string { return proto.CompactTextString(m) } +func (*KVRead) ProtoMessage() {} +func (*KVRead) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{2} +} + +func (m *KVRead) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVRead.Unmarshal(m, b) +} +func (m *KVRead) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVRead.Marshal(b, m, deterministic) +} +func (m *KVRead) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVRead.Merge(m, src) +} +func (m *KVRead) XXX_Size() int { + return xxx_messageInfo_KVRead.Size(m) +} +func (m *KVRead) XXX_DiscardUnknown() { + xxx_messageInfo_KVRead.DiscardUnknown(m) +} + +var xxx_messageInfo_KVRead proto.InternalMessageInfo + +func (m *KVRead) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *KVRead) GetVersion() *Version { + if m != nil { + return m.Version + } + return nil +} + +// KVWrite captures a write (update/delete) operation performed during transaction simulation +type KVWrite struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + IsDelete bool `protobuf:"varint,2,opt,name=is_delete,json=isDelete,proto3" json:"is_delete,omitempty"` + Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVWrite) Reset() { *m = KVWrite{} } +func (m *KVWrite) String() string { return proto.CompactTextString(m) } +func (*KVWrite) ProtoMessage() {} +func (*KVWrite) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{3} +} + +func (m *KVWrite) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVWrite.Unmarshal(m, b) +} +func (m *KVWrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVWrite.Marshal(b, m, deterministic) +} +func (m *KVWrite) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVWrite.Merge(m, src) +} +func (m *KVWrite) XXX_Size() int { + return xxx_messageInfo_KVWrite.Size(m) +} +func (m *KVWrite) XXX_DiscardUnknown() { + xxx_messageInfo_KVWrite.DiscardUnknown(m) +} + +var xxx_messageInfo_KVWrite proto.InternalMessageInfo + +func (m *KVWrite) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *KVWrite) GetIsDelete() bool { + if m != nil { + return m.IsDelete + } + return false +} + +func (m *KVWrite) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +// KVMetadataWrite captures all the entries in the metadata associated with a key +type KVMetadataWrite struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Entries []*KVMetadataEntry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVMetadataWrite) Reset() { *m = KVMetadataWrite{} } +func (m *KVMetadataWrite) String() string { return proto.CompactTextString(m) } +func (*KVMetadataWrite) ProtoMessage() {} +func (*KVMetadataWrite) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{4} +} + +func (m *KVMetadataWrite) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVMetadataWrite.Unmarshal(m, b) +} +func (m *KVMetadataWrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVMetadataWrite.Marshal(b, m, deterministic) +} +func (m *KVMetadataWrite) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVMetadataWrite.Merge(m, src) +} +func (m *KVMetadataWrite) XXX_Size() int { + return xxx_messageInfo_KVMetadataWrite.Size(m) +} +func (m *KVMetadataWrite) XXX_DiscardUnknown() { + xxx_messageInfo_KVMetadataWrite.DiscardUnknown(m) +} + +var xxx_messageInfo_KVMetadataWrite proto.InternalMessageInfo + +func (m *KVMetadataWrite) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *KVMetadataWrite) GetEntries() []*KVMetadataEntry { + if m != nil { + return m.Entries + } + return nil +} + +// KVReadHash is similar to the KVRead in spirit. However, it captures the hash of the key instead of the key itself +// version is kept as is for now. However, if the version also needs to be privacy-protected, it would need to be the +// hash of the version and hence of 'bytes' type +type KVReadHash struct { + KeyHash []byte `protobuf:"bytes,1,opt,name=key_hash,json=keyHash,proto3" json:"key_hash,omitempty"` + Version *Version `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVReadHash) Reset() { *m = KVReadHash{} } +func (m *KVReadHash) String() string { return proto.CompactTextString(m) } +func (*KVReadHash) ProtoMessage() {} +func (*KVReadHash) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{5} +} + +func (m *KVReadHash) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVReadHash.Unmarshal(m, b) +} +func (m *KVReadHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVReadHash.Marshal(b, m, deterministic) +} +func (m *KVReadHash) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVReadHash.Merge(m, src) +} +func (m *KVReadHash) XXX_Size() int { + return xxx_messageInfo_KVReadHash.Size(m) +} +func (m *KVReadHash) XXX_DiscardUnknown() { + xxx_messageInfo_KVReadHash.DiscardUnknown(m) +} + +var xxx_messageInfo_KVReadHash proto.InternalMessageInfo + +func (m *KVReadHash) GetKeyHash() []byte { + if m != nil { + return m.KeyHash + } + return nil +} + +func (m *KVReadHash) GetVersion() *Version { + if m != nil { + return m.Version + } + return nil +} + +// KVWriteHash is similar to the KVWrite. It captures a write (update/delete) operation performed during transaction simulation +type KVWriteHash struct { + KeyHash []byte `protobuf:"bytes,1,opt,name=key_hash,json=keyHash,proto3" json:"key_hash,omitempty"` + IsDelete bool `protobuf:"varint,2,opt,name=is_delete,json=isDelete,proto3" json:"is_delete,omitempty"` + ValueHash []byte `protobuf:"bytes,3,opt,name=value_hash,json=valueHash,proto3" json:"value_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVWriteHash) Reset() { *m = KVWriteHash{} } +func (m *KVWriteHash) String() string { return proto.CompactTextString(m) } +func (*KVWriteHash) ProtoMessage() {} +func (*KVWriteHash) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{6} +} + +func (m *KVWriteHash) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVWriteHash.Unmarshal(m, b) +} +func (m *KVWriteHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVWriteHash.Marshal(b, m, deterministic) +} +func (m *KVWriteHash) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVWriteHash.Merge(m, src) +} +func (m *KVWriteHash) XXX_Size() int { + return xxx_messageInfo_KVWriteHash.Size(m) +} +func (m *KVWriteHash) XXX_DiscardUnknown() { + xxx_messageInfo_KVWriteHash.DiscardUnknown(m) +} + +var xxx_messageInfo_KVWriteHash proto.InternalMessageInfo + +func (m *KVWriteHash) GetKeyHash() []byte { + if m != nil { + return m.KeyHash + } + return nil +} + +func (m *KVWriteHash) GetIsDelete() bool { + if m != nil { + return m.IsDelete + } + return false +} + +func (m *KVWriteHash) GetValueHash() []byte { + if m != nil { + return m.ValueHash + } + return nil +} + +// KVMetadataWriteHash captures all the upserts to the metadata associated with a key hash +type KVMetadataWriteHash struct { + KeyHash []byte `protobuf:"bytes,1,opt,name=key_hash,json=keyHash,proto3" json:"key_hash,omitempty"` + Entries []*KVMetadataEntry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVMetadataWriteHash) Reset() { *m = KVMetadataWriteHash{} } +func (m *KVMetadataWriteHash) String() string { return proto.CompactTextString(m) } +func (*KVMetadataWriteHash) ProtoMessage() {} +func (*KVMetadataWriteHash) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{7} +} + +func (m *KVMetadataWriteHash) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVMetadataWriteHash.Unmarshal(m, b) +} +func (m *KVMetadataWriteHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVMetadataWriteHash.Marshal(b, m, deterministic) +} +func (m *KVMetadataWriteHash) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVMetadataWriteHash.Merge(m, src) +} +func (m *KVMetadataWriteHash) XXX_Size() int { + return xxx_messageInfo_KVMetadataWriteHash.Size(m) +} +func (m *KVMetadataWriteHash) XXX_DiscardUnknown() { + xxx_messageInfo_KVMetadataWriteHash.DiscardUnknown(m) +} + +var xxx_messageInfo_KVMetadataWriteHash proto.InternalMessageInfo + +func (m *KVMetadataWriteHash) GetKeyHash() []byte { + if m != nil { + return m.KeyHash + } + return nil +} + +func (m *KVMetadataWriteHash) GetEntries() []*KVMetadataEntry { + if m != nil { + return m.Entries + } + return nil +} + +// KVMetadataEntry captures a 'name'ed entry in the metadata of a key/key-hash. +type KVMetadataEntry struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KVMetadataEntry) Reset() { *m = KVMetadataEntry{} } +func (m *KVMetadataEntry) String() string { return proto.CompactTextString(m) } +func (*KVMetadataEntry) ProtoMessage() {} +func (*KVMetadataEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{8} +} + +func (m *KVMetadataEntry) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KVMetadataEntry.Unmarshal(m, b) +} +func (m *KVMetadataEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KVMetadataEntry.Marshal(b, m, deterministic) +} +func (m *KVMetadataEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_KVMetadataEntry.Merge(m, src) +} +func (m *KVMetadataEntry) XXX_Size() int { + return xxx_messageInfo_KVMetadataEntry.Size(m) +} +func (m *KVMetadataEntry) XXX_DiscardUnknown() { + xxx_messageInfo_KVMetadataEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_KVMetadataEntry proto.InternalMessageInfo + +func (m *KVMetadataEntry) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *KVMetadataEntry) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +// Version encapsulates the version of a Key +// A version of a committed key is maintained as the height of the transaction that committed the key. +// The height is represenetd as a tuple where the txNum is the position of the transaction +// (starting with 0) within block +type Version struct { + BlockNum uint64 `protobuf:"varint,1,opt,name=block_num,json=blockNum,proto3" json:"block_num,omitempty"` + TxNum uint64 `protobuf:"varint,2,opt,name=tx_num,json=txNum,proto3" json:"tx_num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Version) Reset() { *m = Version{} } +func (m *Version) String() string { return proto.CompactTextString(m) } +func (*Version) ProtoMessage() {} +func (*Version) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{9} +} + +func (m *Version) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Version.Unmarshal(m, b) +} +func (m *Version) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Version.Marshal(b, m, deterministic) +} +func (m *Version) XXX_Merge(src proto.Message) { + xxx_messageInfo_Version.Merge(m, src) +} +func (m *Version) XXX_Size() int { + return xxx_messageInfo_Version.Size(m) +} +func (m *Version) XXX_DiscardUnknown() { + xxx_messageInfo_Version.DiscardUnknown(m) +} + +var xxx_messageInfo_Version proto.InternalMessageInfo + +func (m *Version) GetBlockNum() uint64 { + if m != nil { + return m.BlockNum + } + return 0 +} + +func (m *Version) GetTxNum() uint64 { + if m != nil { + return m.TxNum + } + return 0 +} + +// RangeQueryInfo encapsulates the details of a range query performed by a transaction during simulation. +// This helps protect transactions from phantom reads by varifying during validation whether any new items +// got committed within the given range between transaction simuation and validation +// (in addition to regular checks for updates/deletes of the existing items). +// readInfo field contains either the KVReads (for the items read by the range query) or a merkle-tree hash +// if the KVReads exceeds a pre-configured numbers +type RangeQueryInfo struct { + StartKey string `protobuf:"bytes,1,opt,name=start_key,json=startKey,proto3" json:"start_key,omitempty"` + EndKey string `protobuf:"bytes,2,opt,name=end_key,json=endKey,proto3" json:"end_key,omitempty"` + ItrExhausted bool `protobuf:"varint,3,opt,name=itr_exhausted,json=itrExhausted,proto3" json:"itr_exhausted,omitempty"` + // Types that are valid to be assigned to ReadsInfo: + // *RangeQueryInfo_RawReads + // *RangeQueryInfo_ReadsMerkleHashes + ReadsInfo isRangeQueryInfo_ReadsInfo `protobuf_oneof:"reads_info"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RangeQueryInfo) Reset() { *m = RangeQueryInfo{} } +func (m *RangeQueryInfo) String() string { return proto.CompactTextString(m) } +func (*RangeQueryInfo) ProtoMessage() {} +func (*RangeQueryInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{10} +} + +func (m *RangeQueryInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RangeQueryInfo.Unmarshal(m, b) +} +func (m *RangeQueryInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RangeQueryInfo.Marshal(b, m, deterministic) +} +func (m *RangeQueryInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_RangeQueryInfo.Merge(m, src) +} +func (m *RangeQueryInfo) XXX_Size() int { + return xxx_messageInfo_RangeQueryInfo.Size(m) +} +func (m *RangeQueryInfo) XXX_DiscardUnknown() { + xxx_messageInfo_RangeQueryInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_RangeQueryInfo proto.InternalMessageInfo + +func (m *RangeQueryInfo) GetStartKey() string { + if m != nil { + return m.StartKey + } + return "" +} + +func (m *RangeQueryInfo) GetEndKey() string { + if m != nil { + return m.EndKey + } + return "" +} + +func (m *RangeQueryInfo) GetItrExhausted() bool { + if m != nil { + return m.ItrExhausted + } + return false +} + +type isRangeQueryInfo_ReadsInfo interface { + isRangeQueryInfo_ReadsInfo() +} + +type RangeQueryInfo_RawReads struct { + RawReads *QueryReads `protobuf:"bytes,4,opt,name=raw_reads,json=rawReads,proto3,oneof"` +} + +type RangeQueryInfo_ReadsMerkleHashes struct { + ReadsMerkleHashes *QueryReadsMerkleSummary `protobuf:"bytes,5,opt,name=reads_merkle_hashes,json=readsMerkleHashes,proto3,oneof"` +} + +func (*RangeQueryInfo_RawReads) isRangeQueryInfo_ReadsInfo() {} + +func (*RangeQueryInfo_ReadsMerkleHashes) isRangeQueryInfo_ReadsInfo() {} + +func (m *RangeQueryInfo) GetReadsInfo() isRangeQueryInfo_ReadsInfo { + if m != nil { + return m.ReadsInfo + } + return nil +} + +func (m *RangeQueryInfo) GetRawReads() *QueryReads { + if x, ok := m.GetReadsInfo().(*RangeQueryInfo_RawReads); ok { + return x.RawReads + } + return nil +} + +func (m *RangeQueryInfo) GetReadsMerkleHashes() *QueryReadsMerkleSummary { + if x, ok := m.GetReadsInfo().(*RangeQueryInfo_ReadsMerkleHashes); ok { + return x.ReadsMerkleHashes + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*RangeQueryInfo) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*RangeQueryInfo_RawReads)(nil), + (*RangeQueryInfo_ReadsMerkleHashes)(nil), + } +} + +// QueryReads encapsulates the KVReads for the items read by a transaction as a result of a query execution +type QueryReads struct { + KvReads []*KVRead `protobuf:"bytes,1,rep,name=kv_reads,json=kvReads,proto3" json:"kv_reads,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryReads) Reset() { *m = QueryReads{} } +func (m *QueryReads) String() string { return proto.CompactTextString(m) } +func (*QueryReads) ProtoMessage() {} +func (*QueryReads) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{11} +} + +func (m *QueryReads) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryReads.Unmarshal(m, b) +} +func (m *QueryReads) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryReads.Marshal(b, m, deterministic) +} +func (m *QueryReads) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryReads.Merge(m, src) +} +func (m *QueryReads) XXX_Size() int { + return xxx_messageInfo_QueryReads.Size(m) +} +func (m *QueryReads) XXX_DiscardUnknown() { + xxx_messageInfo_QueryReads.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryReads proto.InternalMessageInfo + +func (m *QueryReads) GetKvReads() []*KVRead { + if m != nil { + return m.KvReads + } + return nil +} + +// QueryReadsMerkleSummary encapsulates the Merkle-tree hashes for the QueryReads +// This allows to reduce the size of RWSet in the presence of query results +// by storing certain hashes instead of actual results. +// maxDegree field refers to the maximum number of children in the tree at any level +// maxLevel field contains the lowest level which has lesser nodes than maxDegree (starting from leaf level) +type QueryReadsMerkleSummary struct { + MaxDegree uint32 `protobuf:"varint,1,opt,name=max_degree,json=maxDegree,proto3" json:"max_degree,omitempty"` + MaxLevel uint32 `protobuf:"varint,2,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"` + MaxLevelHashes [][]byte `protobuf:"bytes,3,rep,name=max_level_hashes,json=maxLevelHashes,proto3" json:"max_level_hashes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryReadsMerkleSummary) Reset() { *m = QueryReadsMerkleSummary{} } +func (m *QueryReadsMerkleSummary) String() string { return proto.CompactTextString(m) } +func (*QueryReadsMerkleSummary) ProtoMessage() {} +func (*QueryReadsMerkleSummary) Descriptor() ([]byte, []int) { + return fileDescriptor_ee5d686eab23a142, []int{12} +} + +func (m *QueryReadsMerkleSummary) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryReadsMerkleSummary.Unmarshal(m, b) +} +func (m *QueryReadsMerkleSummary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryReadsMerkleSummary.Marshal(b, m, deterministic) +} +func (m *QueryReadsMerkleSummary) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryReadsMerkleSummary.Merge(m, src) +} +func (m *QueryReadsMerkleSummary) XXX_Size() int { + return xxx_messageInfo_QueryReadsMerkleSummary.Size(m) +} +func (m *QueryReadsMerkleSummary) XXX_DiscardUnknown() { + xxx_messageInfo_QueryReadsMerkleSummary.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryReadsMerkleSummary proto.InternalMessageInfo + +func (m *QueryReadsMerkleSummary) GetMaxDegree() uint32 { + if m != nil { + return m.MaxDegree + } + return 0 +} + +func (m *QueryReadsMerkleSummary) GetMaxLevel() uint32 { + if m != nil { + return m.MaxLevel + } + return 0 +} + +func (m *QueryReadsMerkleSummary) GetMaxLevelHashes() [][]byte { + if m != nil { + return m.MaxLevelHashes + } + return nil +} + +func init() { + proto.RegisterType((*KVRWSet)(nil), "kvrwset.KVRWSet") + proto.RegisterType((*HashedRWSet)(nil), "kvrwset.HashedRWSet") + proto.RegisterType((*KVRead)(nil), "kvrwset.KVRead") + proto.RegisterType((*KVWrite)(nil), "kvrwset.KVWrite") + proto.RegisterType((*KVMetadataWrite)(nil), "kvrwset.KVMetadataWrite") + proto.RegisterType((*KVReadHash)(nil), "kvrwset.KVReadHash") + proto.RegisterType((*KVWriteHash)(nil), "kvrwset.KVWriteHash") + proto.RegisterType((*KVMetadataWriteHash)(nil), "kvrwset.KVMetadataWriteHash") + proto.RegisterType((*KVMetadataEntry)(nil), "kvrwset.KVMetadataEntry") + proto.RegisterType((*Version)(nil), "kvrwset.Version") + proto.RegisterType((*RangeQueryInfo)(nil), "kvrwset.RangeQueryInfo") + proto.RegisterType((*QueryReads)(nil), "kvrwset.QueryReads") + proto.RegisterType((*QueryReadsMerkleSummary)(nil), "kvrwset.QueryReadsMerkleSummary") +} + +func init() { + proto.RegisterFile("ledger/rwset/kvrwset/kv_rwset.proto", fileDescriptor_ee5d686eab23a142) +} + +var fileDescriptor_ee5d686eab23a142 = []byte{ + // 744 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdf, 0x6b, 0xe3, 0x46, + 0x10, 0x8e, 0x7f, 0xcb, 0x63, 0x3b, 0x71, 0x37, 0x29, 0x51, 0x69, 0x0b, 0x46, 0xa1, 0x60, 0x02, + 0xb1, 0xc1, 0x85, 0xd2, 0xd2, 0xf6, 0xa1, 0x25, 0x3e, 0x72, 0xe4, 0x12, 0xb8, 0x0d, 0x24, 0x70, + 0x2f, 0x62, 0x1d, 0x4d, 0x6c, 0x61, 0x4b, 0xca, 0xad, 0x56, 0xb6, 0xf5, 0x74, 0xdc, 0x5f, 0x77, + 0xff, 0xc8, 0xfd, 0x21, 0xc7, 0xce, 0xca, 0xb1, 0xe2, 0x73, 0x0c, 0x77, 0x4f, 0xd6, 0xce, 0x37, + 0xdf, 0xec, 0x7c, 0xdf, 0x78, 0x77, 0xe1, 0x64, 0x86, 0xde, 0x18, 0x65, 0x5f, 0x2e, 0x62, 0x54, + 0xfd, 0xe9, 0x7c, 0xf5, 0xeb, 0xd2, 0x47, 0xef, 0x51, 0x46, 0x2a, 0x62, 0xb5, 0x2c, 0xee, 0x7c, + 0x2e, 0x40, 0xed, 0xf2, 0x96, 0xdf, 0xdd, 0xa0, 0x62, 0xbf, 0x41, 0x45, 0xa2, 0xf0, 0x62, 0xbb, + 0xd0, 0x29, 0x75, 0x1b, 0x83, 0x83, 0x5e, 0x96, 0xd4, 0xbb, 0xbc, 0xe5, 0x28, 0x3c, 0x6e, 0x50, + 0x36, 0x04, 0x26, 0x45, 0x38, 0x46, 0xf7, 0x7d, 0x82, 0xd2, 0xc7, 0xd8, 0xf5, 0xc3, 0x87, 0xc8, + 0x2e, 0x12, 0xe7, 0xf8, 0x89, 0xc3, 0x75, 0xca, 0xdb, 0x04, 0x65, 0xfa, 0x3a, 0x7c, 0x88, 0x78, + 0x5b, 0xae, 0xd6, 0x3e, 0xc6, 0x3a, 0xc2, 0xba, 0x50, 0x5d, 0x48, 0x5f, 0x61, 0x6c, 0x97, 0x88, + 0xda, 0xce, 0x6d, 0x77, 0xa7, 0x01, 0x9e, 0xe1, 0xec, 0x3f, 0x38, 0x08, 0x50, 0x09, 0x4f, 0x28, + 0xe1, 0x66, 0x94, 0x32, 0x51, 0xec, 0x1c, 0xe5, 0x2a, 0xcb, 0x30, 0xd4, 0xfd, 0x20, 0xbf, 0x8c, + 0x9d, 0x4f, 0x05, 0x68, 0x5c, 0x88, 0x78, 0x82, 0x9e, 0x91, 0xfa, 0x07, 0x34, 0x27, 0xb4, 0x74, + 0xf3, 0x8a, 0x0f, 0x37, 0x14, 0x6b, 0x06, 0x6f, 0x98, 0x44, 0x4e, 0xda, 0xff, 0x82, 0x56, 0xc6, + 0xcb, 0x1a, 0x31, 0xb2, 0x8f, 0x36, 0x7b, 0x27, 0x66, 0xb6, 0x85, 0x69, 0x81, 0x0d, 0xbf, 0x56, + 0x61, 0x84, 0xff, 0xf2, 0x92, 0x0a, 0x2a, 0xb2, 0xa9, 0xe4, 0x15, 0x54, 0x4d, 0x73, 0xac, 0x0d, + 0xa5, 0x29, 0xa6, 0x76, 0xa1, 0x53, 0xe8, 0xd6, 0xb9, 0xfe, 0x64, 0xa7, 0x50, 0x9b, 0xa3, 0x8c, + 0xfd, 0x28, 0xb4, 0x8b, 0x9d, 0xc2, 0x33, 0x4f, 0x6f, 0x4d, 0x9c, 0xaf, 0x12, 0x9c, 0x6b, 0x3d, + 0x77, 0xaa, 0xb9, 0xa5, 0xd0, 0xcf, 0x50, 0xf7, 0x63, 0xd7, 0xc3, 0x19, 0x2a, 0xa4, 0x52, 0x16, + 0xb7, 0xfc, 0xf8, 0x9c, 0xd6, 0xec, 0x08, 0x2a, 0x73, 0x31, 0x4b, 0xd0, 0x2e, 0x75, 0x0a, 0xdd, + 0x26, 0x37, 0x0b, 0xe7, 0x0e, 0x0e, 0x36, 0xda, 0xdf, 0x52, 0x77, 0x00, 0x35, 0x0c, 0x95, 0xfe, + 0x0b, 0x64, 0xc6, 0x6d, 0x9b, 0xe0, 0x30, 0x54, 0x32, 0xe5, 0xab, 0x44, 0xe7, 0x06, 0x60, 0x3d, + 0x0d, 0xf6, 0x13, 0x58, 0x53, 0x4c, 0x5d, 0xed, 0x2c, 0x15, 0x6e, 0xf2, 0xda, 0x14, 0x53, 0x82, + 0xbe, 0x45, 0xbd, 0x07, 0x8d, 0xdc, 0xa4, 0x76, 0x55, 0xdd, 0x69, 0xc5, 0xaf, 0x00, 0xa4, 0xde, + 0x30, 0x8d, 0x1f, 0x75, 0x8a, 0x68, 0xae, 0xe3, 0xc1, 0xe1, 0x96, 0x91, 0xee, 0xda, 0xed, 0x7b, + 0x0c, 0xfa, 0x3b, 0xef, 0x3c, 0x61, 0x8c, 0x41, 0x39, 0x14, 0x01, 0x66, 0xd6, 0xd3, 0xf7, 0x7a, + 0x6c, 0xc5, 0xfc, 0xd8, 0xfe, 0x85, 0x5a, 0x66, 0x8e, 0x56, 0x3a, 0x9a, 0x45, 0xf7, 0x53, 0x37, + 0x4c, 0x02, 0x62, 0x96, 0xb9, 0x45, 0x81, 0xeb, 0x24, 0x60, 0x3f, 0x42, 0x55, 0x2d, 0x09, 0x29, + 0x12, 0x52, 0x51, 0xcb, 0xeb, 0x24, 0x70, 0x3e, 0x16, 0x61, 0xff, 0xf9, 0x49, 0xd7, 0x65, 0x62, + 0x25, 0xa4, 0x72, 0xd7, 0xb3, 0xb7, 0x28, 0x70, 0x89, 0x29, 0x3b, 0xd6, 0xfa, 0x3c, 0x82, 0x8a, + 0x04, 0x55, 0x31, 0xf4, 0x34, 0x70, 0x02, 0x2d, 0x5f, 0x49, 0x17, 0x97, 0x13, 0x91, 0xc4, 0x0a, + 0x3d, 0x32, 0xd3, 0xe2, 0x4d, 0x5f, 0xc9, 0xe1, 0x2a, 0xc6, 0x06, 0x50, 0x97, 0x62, 0x91, 0x1d, + 0xd9, 0x32, 0xcd, 0x78, 0x7d, 0x64, 0xa9, 0x03, 0x3a, 0xa5, 0x17, 0x7b, 0xdc, 0x92, 0x62, 0x61, + 0x4e, 0x2c, 0x87, 0x43, 0xca, 0x77, 0x03, 0x94, 0xd3, 0x99, 0x99, 0x14, 0xc6, 0x76, 0x85, 0xd8, + 0x9d, 0x2d, 0xec, 0x2b, 0xca, 0xbb, 0x49, 0x82, 0x40, 0xc8, 0xf4, 0x62, 0x8f, 0xff, 0x20, 0xd7, + 0x51, 0xba, 0x42, 0xe2, 0xff, 0x9b, 0x00, 0xa6, 0xa6, 0xbe, 0xf9, 0x9c, 0x3f, 0x01, 0xd6, 0x6c, + 0x76, 0x0a, 0x96, 0xbe, 0x6b, 0x77, 0xdd, 0xa3, 0xb5, 0xe9, 0x9c, 0x72, 0x9d, 0x0f, 0x70, 0xfc, + 0xc2, 0xbe, 0xfa, 0x9f, 0x15, 0x88, 0xa5, 0xeb, 0xe1, 0x58, 0xa2, 0x99, 0x63, 0x8b, 0xd7, 0x03, + 0xb1, 0x3c, 0xa7, 0x80, 0x36, 0x59, 0xc3, 0x33, 0x9c, 0xe3, 0x8c, 0x9c, 0x6c, 0x71, 0x2b, 0x10, + 0xcb, 0x37, 0x7a, 0xcd, 0xba, 0xd0, 0x7e, 0x02, 0x57, 0x7a, 0xf5, 0x55, 0xd3, 0xe4, 0xfb, 0xab, + 0x9c, 0x4c, 0x88, 0x84, 0x41, 0x24, 0xc7, 0xbd, 0x49, 0xfa, 0x88, 0xd2, 0x3c, 0x1b, 0xbd, 0x07, + 0x31, 0x92, 0xfe, 0xbd, 0x79, 0x26, 0xe2, 0x5e, 0x16, 0x34, 0xed, 0x67, 0x32, 0xde, 0xfd, 0x33, + 0xf6, 0xd5, 0x24, 0x19, 0xf5, 0xee, 0xa3, 0xa0, 0x9f, 0xa3, 0xf6, 0x0d, 0xf5, 0xcc, 0x50, 0xcf, + 0xc6, 0x51, 0x7f, 0xdb, 0x4b, 0x34, 0xaa, 0x12, 0xfe, 0xfb, 0x97, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x0f, 0x2b, 0xb7, 0xc9, 0xa8, 0x06, 0x00, 0x00, +} diff --git a/ledger/rwset/rwset.pb.go b/ledger/rwset/rwset.pb.go new file mode 100644 index 0000000..5bacfdc --- /dev/null +++ b/ledger/rwset/rwset.pb.go @@ -0,0 +1,392 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: ledger/rwset/rwset.proto + +package rwset + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type TxReadWriteSet_DataModel int32 + +const ( + TxReadWriteSet_KV TxReadWriteSet_DataModel = 0 +) + +var TxReadWriteSet_DataModel_name = map[int32]string{ + 0: "KV", +} + +var TxReadWriteSet_DataModel_value = map[string]int32{ + "KV": 0, +} + +func (x TxReadWriteSet_DataModel) String() string { + return proto.EnumName(TxReadWriteSet_DataModel_name, int32(x)) +} + +func (TxReadWriteSet_DataModel) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{0, 0} +} + +// TxReadWriteSet encapsulates a read-write set for a transaction +// DataModel specifies the enum value of the data model +// ns_rwset field specifies a list of chaincode specific read-write set (one for each chaincode) +type TxReadWriteSet struct { + DataModel TxReadWriteSet_DataModel `protobuf:"varint,1,opt,name=data_model,json=dataModel,proto3,enum=rwset.TxReadWriteSet_DataModel" json:"data_model,omitempty"` + NsRwset []*NsReadWriteSet `protobuf:"bytes,2,rep,name=ns_rwset,json=nsRwset,proto3" json:"ns_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TxReadWriteSet) Reset() { *m = TxReadWriteSet{} } +func (m *TxReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*TxReadWriteSet) ProtoMessage() {} +func (*TxReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{0} +} + +func (m *TxReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TxReadWriteSet.Unmarshal(m, b) +} +func (m *TxReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TxReadWriteSet.Marshal(b, m, deterministic) +} +func (m *TxReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_TxReadWriteSet.Merge(m, src) +} +func (m *TxReadWriteSet) XXX_Size() int { + return xxx_messageInfo_TxReadWriteSet.Size(m) +} +func (m *TxReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_TxReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_TxReadWriteSet proto.InternalMessageInfo + +func (m *TxReadWriteSet) GetDataModel() TxReadWriteSet_DataModel { + if m != nil { + return m.DataModel + } + return TxReadWriteSet_KV +} + +func (m *TxReadWriteSet) GetNsRwset() []*NsReadWriteSet { + if m != nil { + return m.NsRwset + } + return nil +} + +// NsReadWriteSet encapsulates the read-write set for a chaincode +type NsReadWriteSet struct { + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Rwset []byte `protobuf:"bytes,2,opt,name=rwset,proto3" json:"rwset,omitempty"` + CollectionHashedRwset []*CollectionHashedReadWriteSet `protobuf:"bytes,3,rep,name=collection_hashed_rwset,json=collectionHashedRwset,proto3" json:"collection_hashed_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NsReadWriteSet) Reset() { *m = NsReadWriteSet{} } +func (m *NsReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*NsReadWriteSet) ProtoMessage() {} +func (*NsReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{1} +} + +func (m *NsReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NsReadWriteSet.Unmarshal(m, b) +} +func (m *NsReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NsReadWriteSet.Marshal(b, m, deterministic) +} +func (m *NsReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_NsReadWriteSet.Merge(m, src) +} +func (m *NsReadWriteSet) XXX_Size() int { + return xxx_messageInfo_NsReadWriteSet.Size(m) +} +func (m *NsReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_NsReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_NsReadWriteSet proto.InternalMessageInfo + +func (m *NsReadWriteSet) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *NsReadWriteSet) GetRwset() []byte { + if m != nil { + return m.Rwset + } + return nil +} + +func (m *NsReadWriteSet) GetCollectionHashedRwset() []*CollectionHashedReadWriteSet { + if m != nil { + return m.CollectionHashedRwset + } + return nil +} + +// CollectionHashedReadWriteSet encapsulate the hashed representation for the private read-write set for a collection +type CollectionHashedReadWriteSet struct { + CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + HashedRwset []byte `protobuf:"bytes,2,opt,name=hashed_rwset,json=hashedRwset,proto3" json:"hashed_rwset,omitempty"` + PvtRwsetHash []byte `protobuf:"bytes,3,opt,name=pvt_rwset_hash,json=pvtRwsetHash,proto3" json:"pvt_rwset_hash,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionHashedReadWriteSet) Reset() { *m = CollectionHashedReadWriteSet{} } +func (m *CollectionHashedReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*CollectionHashedReadWriteSet) ProtoMessage() {} +func (*CollectionHashedReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{2} +} + +func (m *CollectionHashedReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionHashedReadWriteSet.Unmarshal(m, b) +} +func (m *CollectionHashedReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionHashedReadWriteSet.Marshal(b, m, deterministic) +} +func (m *CollectionHashedReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionHashedReadWriteSet.Merge(m, src) +} +func (m *CollectionHashedReadWriteSet) XXX_Size() int { + return xxx_messageInfo_CollectionHashedReadWriteSet.Size(m) +} +func (m *CollectionHashedReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionHashedReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionHashedReadWriteSet proto.InternalMessageInfo + +func (m *CollectionHashedReadWriteSet) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *CollectionHashedReadWriteSet) GetHashedRwset() []byte { + if m != nil { + return m.HashedRwset + } + return nil +} + +func (m *CollectionHashedReadWriteSet) GetPvtRwsetHash() []byte { + if m != nil { + return m.PvtRwsetHash + } + return nil +} + +// TxPvtReadWriteSet encapsulate the private read-write set for a transaction +type TxPvtReadWriteSet struct { + DataModel TxReadWriteSet_DataModel `protobuf:"varint,1,opt,name=data_model,json=dataModel,proto3,enum=rwset.TxReadWriteSet_DataModel" json:"data_model,omitempty"` + NsPvtRwset []*NsPvtReadWriteSet `protobuf:"bytes,2,rep,name=ns_pvt_rwset,json=nsPvtRwset,proto3" json:"ns_pvt_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TxPvtReadWriteSet) Reset() { *m = TxPvtReadWriteSet{} } +func (m *TxPvtReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*TxPvtReadWriteSet) ProtoMessage() {} +func (*TxPvtReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{3} +} + +func (m *TxPvtReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TxPvtReadWriteSet.Unmarshal(m, b) +} +func (m *TxPvtReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TxPvtReadWriteSet.Marshal(b, m, deterministic) +} +func (m *TxPvtReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_TxPvtReadWriteSet.Merge(m, src) +} +func (m *TxPvtReadWriteSet) XXX_Size() int { + return xxx_messageInfo_TxPvtReadWriteSet.Size(m) +} +func (m *TxPvtReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_TxPvtReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_TxPvtReadWriteSet proto.InternalMessageInfo + +func (m *TxPvtReadWriteSet) GetDataModel() TxReadWriteSet_DataModel { + if m != nil { + return m.DataModel + } + return TxReadWriteSet_KV +} + +func (m *TxPvtReadWriteSet) GetNsPvtRwset() []*NsPvtReadWriteSet { + if m != nil { + return m.NsPvtRwset + } + return nil +} + +// NsPvtReadWriteSet encapsulates the private read-write set for a chaincode +type NsPvtReadWriteSet struct { + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + CollectionPvtRwset []*CollectionPvtReadWriteSet `protobuf:"bytes,2,rep,name=collection_pvt_rwset,json=collectionPvtRwset,proto3" json:"collection_pvt_rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NsPvtReadWriteSet) Reset() { *m = NsPvtReadWriteSet{} } +func (m *NsPvtReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*NsPvtReadWriteSet) ProtoMessage() {} +func (*NsPvtReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{4} +} + +func (m *NsPvtReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NsPvtReadWriteSet.Unmarshal(m, b) +} +func (m *NsPvtReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NsPvtReadWriteSet.Marshal(b, m, deterministic) +} +func (m *NsPvtReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_NsPvtReadWriteSet.Merge(m, src) +} +func (m *NsPvtReadWriteSet) XXX_Size() int { + return xxx_messageInfo_NsPvtReadWriteSet.Size(m) +} +func (m *NsPvtReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_NsPvtReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_NsPvtReadWriteSet proto.InternalMessageInfo + +func (m *NsPvtReadWriteSet) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *NsPvtReadWriteSet) GetCollectionPvtRwset() []*CollectionPvtReadWriteSet { + if m != nil { + return m.CollectionPvtRwset + } + return nil +} + +// CollectionPvtReadWriteSet encapsulates the private read-write set for a collection +type CollectionPvtReadWriteSet struct { + CollectionName string `protobuf:"bytes,1,opt,name=collection_name,json=collectionName,proto3" json:"collection_name,omitempty"` + Rwset []byte `protobuf:"bytes,2,opt,name=rwset,proto3" json:"rwset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CollectionPvtReadWriteSet) Reset() { *m = CollectionPvtReadWriteSet{} } +func (m *CollectionPvtReadWriteSet) String() string { return proto.CompactTextString(m) } +func (*CollectionPvtReadWriteSet) ProtoMessage() {} +func (*CollectionPvtReadWriteSet) Descriptor() ([]byte, []int) { + return fileDescriptor_794d00b812408f20, []int{5} +} + +func (m *CollectionPvtReadWriteSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CollectionPvtReadWriteSet.Unmarshal(m, b) +} +func (m *CollectionPvtReadWriteSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CollectionPvtReadWriteSet.Marshal(b, m, deterministic) +} +func (m *CollectionPvtReadWriteSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_CollectionPvtReadWriteSet.Merge(m, src) +} +func (m *CollectionPvtReadWriteSet) XXX_Size() int { + return xxx_messageInfo_CollectionPvtReadWriteSet.Size(m) +} +func (m *CollectionPvtReadWriteSet) XXX_DiscardUnknown() { + xxx_messageInfo_CollectionPvtReadWriteSet.DiscardUnknown(m) +} + +var xxx_messageInfo_CollectionPvtReadWriteSet proto.InternalMessageInfo + +func (m *CollectionPvtReadWriteSet) GetCollectionName() string { + if m != nil { + return m.CollectionName + } + return "" +} + +func (m *CollectionPvtReadWriteSet) GetRwset() []byte { + if m != nil { + return m.Rwset + } + return nil +} + +func init() { + proto.RegisterEnum("rwset.TxReadWriteSet_DataModel", TxReadWriteSet_DataModel_name, TxReadWriteSet_DataModel_value) + proto.RegisterType((*TxReadWriteSet)(nil), "rwset.TxReadWriteSet") + proto.RegisterType((*NsReadWriteSet)(nil), "rwset.NsReadWriteSet") + proto.RegisterType((*CollectionHashedReadWriteSet)(nil), "rwset.CollectionHashedReadWriteSet") + proto.RegisterType((*TxPvtReadWriteSet)(nil), "rwset.TxPvtReadWriteSet") + proto.RegisterType((*NsPvtReadWriteSet)(nil), "rwset.NsPvtReadWriteSet") + proto.RegisterType((*CollectionPvtReadWriteSet)(nil), "rwset.CollectionPvtReadWriteSet") +} + +func init() { proto.RegisterFile("ledger/rwset/rwset.proto", fileDescriptor_794d00b812408f20) } + +var fileDescriptor_794d00b812408f20 = []byte{ + // 421 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x93, 0xcf, 0xef, 0x93, 0x30, + 0x18, 0xc6, 0xed, 0x77, 0xd9, 0x94, 0x77, 0x04, 0x5d, 0xdd, 0x22, 0x26, 0x4b, 0x9c, 0xd3, 0xc4, + 0xc5, 0x64, 0x60, 0xa6, 0x27, 0x0f, 0x1e, 0xd4, 0x83, 0x89, 0x71, 0x31, 0x75, 0xd1, 0x64, 0x1e, + 0x48, 0x81, 0x0a, 0x24, 0x40, 0x09, 0xad, 0x73, 0xfe, 0x01, 0x9e, 0xf5, 0xe6, 0xd9, 0xff, 0xd4, + 0xac, 0x65, 0x0c, 0x98, 0xbf, 0x0e, 0x5e, 0x08, 0x7d, 0xfb, 0x3c, 0x3c, 0x9f, 0xf6, 0xe5, 0x05, + 0x3b, 0x65, 0x61, 0xc4, 0x4a, 0xb7, 0xfc, 0x24, 0x98, 0xd4, 0x4f, 0xa7, 0x28, 0xb9, 0xe4, 0xb8, + 0xaf, 0x16, 0xf3, 0xef, 0x08, 0xac, 0xcd, 0x9e, 0x30, 0x1a, 0xbe, 0x2b, 0x13, 0xc9, 0xde, 0x30, + 0x89, 0x9f, 0x00, 0x84, 0x54, 0x52, 0x2f, 0xe3, 0x21, 0x4b, 0x6d, 0x34, 0x43, 0x0b, 0x6b, 0x75, + 0xcb, 0xd1, 0xde, 0xb6, 0xd4, 0x79, 0x4e, 0x25, 0x7d, 0x75, 0x90, 0x11, 0x23, 0x3c, 0xbe, 0xe2, + 0x07, 0x70, 0x25, 0x17, 0x9e, 0xd2, 0xdb, 0x17, 0xb3, 0xde, 0x62, 0xb8, 0x9a, 0x54, 0xee, 0xb5, + 0x68, 0xba, 0xc9, 0xe5, 0x5c, 0x10, 0x05, 0x71, 0x1d, 0x8c, 0xfa, 0x4b, 0x78, 0x00, 0x17, 0x2f, + 0xdf, 0x5e, 0xbb, 0x34, 0xff, 0x81, 0xc0, 0x6a, 0x1b, 0xf0, 0x14, 0x8c, 0x9c, 0x66, 0x4c, 0x14, + 0x34, 0x60, 0x0a, 0xcc, 0x20, 0xa7, 0x02, 0x1e, 0x43, 0xff, 0x18, 0x8a, 0x16, 0x26, 0xd1, 0x0b, + 0xfc, 0x1e, 0x6e, 0x04, 0x3c, 0x4d, 0x59, 0x20, 0x13, 0x9e, 0x7b, 0x31, 0x15, 0x31, 0x0b, 0x2b, + 0xb8, 0x9e, 0x82, 0xbb, 0x53, 0xc1, 0x3d, 0xab, 0x55, 0x2f, 0x94, 0xa8, 0x85, 0x3a, 0x09, 0xba, + 0xbb, 0x0a, 0xfc, 0x1b, 0x82, 0xe9, 0x9f, 0x7c, 0xf8, 0x1e, 0x5c, 0x6d, 0xa4, 0x1f, 0x58, 0x2b, + 0x6e, 0xeb, 0x54, 0x5e, 0xd3, 0x8c, 0xe1, 0xdb, 0x60, 0xb6, 0xd8, 0xf4, 0x19, 0x86, 0xf1, 0x29, + 0x0c, 0xdf, 0x05, 0xab, 0xd8, 0x49, 0xbd, 0xaf, 0x0e, 0x62, 0xf7, 0x94, 0xc8, 0x2c, 0x76, 0x52, + 0x29, 0x0e, 0xf9, 0xf3, 0xaf, 0x08, 0x46, 0x9b, 0xfd, 0xeb, 0x9d, 0xfc, 0xaf, 0x3d, 0x7d, 0x0c, + 0x66, 0x2e, 0xbc, 0x3a, 0xbe, 0xea, 0xab, 0x5d, 0xf7, 0xb5, 0x93, 0x47, 0x20, 0x57, 0x25, 0x75, + 0x49, 0x5f, 0x10, 0x8c, 0xce, 0x14, 0x7f, 0xe9, 0x25, 0x81, 0x71, 0xe3, 0xde, 0xba, 0xb9, 0xb3, + 0xb3, 0x96, 0x75, 0xf3, 0x71, 0xd0, 0xda, 0x52, 0x1c, 0x5b, 0xb8, 0xf9, 0x5b, 0xc3, 0xbf, 0x37, + 0xea, 0x97, 0x7f, 0xd9, 0x53, 0x1f, 0xee, 0xf3, 0x32, 0x72, 0xe2, 0xcf, 0x05, 0x2b, 0xf5, 0xc8, + 0x39, 0x1f, 0xa8, 0x5f, 0x26, 0x81, 0x9e, 0x36, 0xe1, 0x54, 0x45, 0xa5, 0xde, 0x3e, 0x8a, 0x12, + 0x19, 0x7f, 0xf4, 0x9d, 0x80, 0x67, 0x6e, 0xc3, 0xe2, 0x6a, 0xcb, 0x52, 0x5b, 0x96, 0x11, 0x77, + 0x9b, 0xd3, 0xeb, 0x0f, 0x54, 0xfd, 0xe1, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x47, 0x32, 0x8f, + 0x91, 0xd4, 0x03, 0x00, 0x00, +} diff --git a/msp/identities.pb.go b/msp/identities.pb.go new file mode 100644 index 0000000..65bcfb2 --- /dev/null +++ b/msp/identities.pb.go @@ -0,0 +1,184 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: msp/identities.proto + +package msp + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// This struct represents an Identity +// (with its MSP identifier) to be used +// to serialize it and deserialize it +type SerializedIdentity struct { + // The identifier of the associated membership service provider + Mspid string `protobuf:"bytes,1,opt,name=mspid,proto3" json:"mspid,omitempty"` + // the Identity, serialized according to the rules of its MPS + IdBytes []byte `protobuf:"bytes,2,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SerializedIdentity) Reset() { *m = SerializedIdentity{} } +func (m *SerializedIdentity) String() string { return proto.CompactTextString(m) } +func (*SerializedIdentity) ProtoMessage() {} +func (*SerializedIdentity) Descriptor() ([]byte, []int) { + return fileDescriptor_872f7fc14bf2c238, []int{0} +} + +func (m *SerializedIdentity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SerializedIdentity.Unmarshal(m, b) +} +func (m *SerializedIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SerializedIdentity.Marshal(b, m, deterministic) +} +func (m *SerializedIdentity) XXX_Merge(src proto.Message) { + xxx_messageInfo_SerializedIdentity.Merge(m, src) +} +func (m *SerializedIdentity) XXX_Size() int { + return xxx_messageInfo_SerializedIdentity.Size(m) +} +func (m *SerializedIdentity) XXX_DiscardUnknown() { + xxx_messageInfo_SerializedIdentity.DiscardUnknown(m) +} + +var xxx_messageInfo_SerializedIdentity proto.InternalMessageInfo + +func (m *SerializedIdentity) GetMspid() string { + if m != nil { + return m.Mspid + } + return "" +} + +func (m *SerializedIdentity) GetIdBytes() []byte { + if m != nil { + return m.IdBytes + } + return nil +} + +// This struct represents an Idemix Identity +// to be used to serialize it and deserialize it. +// The IdemixMSP will first serialize an idemix identity to bytes using +// this proto, and then uses these bytes as id_bytes in SerializedIdentity +type SerializedIdemixIdentity struct { + // nym_x is the X-component of the pseudonym elliptic curve point. + // It is a []byte representation of an amcl.BIG + // The pseudonym can be seen as a public key of the identity, it is used to verify signatures. + NymX []byte `protobuf:"bytes,1,opt,name=nym_x,json=nymX,proto3" json:"nym_x,omitempty"` + // nym_y is the Y-component of the pseudonym elliptic curve point. + // It is a []byte representation of an amcl.BIG + // The pseudonym can be seen as a public key of the identity, it is used to verify signatures. + NymY []byte `protobuf:"bytes,2,opt,name=nym_y,json=nymY,proto3" json:"nym_y,omitempty"` + // ou contains the organizational unit of the idemix identity + Ou []byte `protobuf:"bytes,3,opt,name=ou,proto3" json:"ou,omitempty"` + // role contains the role of this identity (e.g., ADMIN or MEMBER) + Role []byte `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"` + // proof contains the cryptographic evidence that this identity is valid + Proof []byte `protobuf:"bytes,5,opt,name=proof,proto3" json:"proof,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SerializedIdemixIdentity) Reset() { *m = SerializedIdemixIdentity{} } +func (m *SerializedIdemixIdentity) String() string { return proto.CompactTextString(m) } +func (*SerializedIdemixIdentity) ProtoMessage() {} +func (*SerializedIdemixIdentity) Descriptor() ([]byte, []int) { + return fileDescriptor_872f7fc14bf2c238, []int{1} +} + +func (m *SerializedIdemixIdentity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SerializedIdemixIdentity.Unmarshal(m, b) +} +func (m *SerializedIdemixIdentity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SerializedIdemixIdentity.Marshal(b, m, deterministic) +} +func (m *SerializedIdemixIdentity) XXX_Merge(src proto.Message) { + xxx_messageInfo_SerializedIdemixIdentity.Merge(m, src) +} +func (m *SerializedIdemixIdentity) XXX_Size() int { + return xxx_messageInfo_SerializedIdemixIdentity.Size(m) +} +func (m *SerializedIdemixIdentity) XXX_DiscardUnknown() { + xxx_messageInfo_SerializedIdemixIdentity.DiscardUnknown(m) +} + +var xxx_messageInfo_SerializedIdemixIdentity proto.InternalMessageInfo + +func (m *SerializedIdemixIdentity) GetNymX() []byte { + if m != nil { + return m.NymX + } + return nil +} + +func (m *SerializedIdemixIdentity) GetNymY() []byte { + if m != nil { + return m.NymY + } + return nil +} + +func (m *SerializedIdemixIdentity) GetOu() []byte { + if m != nil { + return m.Ou + } + return nil +} + +func (m *SerializedIdemixIdentity) GetRole() []byte { + if m != nil { + return m.Role + } + return nil +} + +func (m *SerializedIdemixIdentity) GetProof() []byte { + if m != nil { + return m.Proof + } + return nil +} + +func init() { + proto.RegisterType((*SerializedIdentity)(nil), "msp.SerializedIdentity") + proto.RegisterType((*SerializedIdemixIdentity)(nil), "msp.SerializedIdemixIdentity") +} + +func init() { proto.RegisterFile("msp/identities.proto", fileDescriptor_872f7fc14bf2c238) } + +var fileDescriptor_872f7fc14bf2c238 = []byte{ + // 243 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0x31, 0x4f, 0xfb, 0x30, + 0x10, 0x47, 0x95, 0x34, 0xf9, 0xff, 0xc1, 0xaa, 0x18, 0x4c, 0x07, 0xb3, 0x95, 0x4e, 0x95, 0x50, + 0x9d, 0x81, 0x6f, 0x50, 0x89, 0x81, 0x0d, 0x85, 0x05, 0x58, 0xaa, 0xa6, 0xbe, 0xa6, 0x27, 0xe5, + 0x72, 0x96, 0xed, 0x48, 0x35, 0x03, 0x9f, 0x1d, 0x25, 0x06, 0x04, 0x9b, 0x7f, 0x4f, 0x4f, 0x4f, + 0x3e, 0xb1, 0x20, 0x6f, 0x2b, 0x34, 0xd0, 0x07, 0x0c, 0x08, 0x5e, 0x5b, 0xc7, 0x81, 0xe5, 0x8c, + 0xbc, 0x5d, 0x3d, 0x08, 0xf9, 0x0c, 0x0e, 0xf7, 0x1d, 0xbe, 0x83, 0x79, 0x4c, 0x4a, 0x94, 0x0b, + 0x51, 0x92, 0xb7, 0x68, 0x54, 0xb6, 0xcc, 0xd6, 0x97, 0x75, 0x1a, 0xf2, 0x46, 0x5c, 0xa0, 0xd9, + 0x35, 0x31, 0x80, 0x57, 0xf9, 0x32, 0x5b, 0xcf, 0xeb, 0xff, 0x68, 0xb6, 0xe3, 0x5c, 0x7d, 0x08, + 0xf5, 0x27, 0x43, 0x78, 0xfe, 0x89, 0x5d, 0x8b, 0xb2, 0x8f, 0xb4, 0x3b, 0x4f, 0xb1, 0x79, 0x5d, + 0xf4, 0x91, 0x5e, 0xbe, 0x61, 0xfc, 0x0a, 0x8d, 0xf0, 0x55, 0x5e, 0x89, 0x9c, 0x07, 0x35, 0x9b, + 0x48, 0xce, 0x83, 0x94, 0xa2, 0x70, 0xdc, 0x81, 0x2a, 0x92, 0x33, 0xbe, 0xc7, 0xaf, 0x59, 0xc7, + 0x7c, 0x54, 0xe5, 0x04, 0xd3, 0xd8, 0x3e, 0x89, 0x5b, 0x76, 0xad, 0x3e, 0x45, 0x0b, 0xae, 0x03, + 0xd3, 0x82, 0xd3, 0xc7, 0x7d, 0xe3, 0xf0, 0x90, 0x6e, 0xf5, 0x9a, 0xbc, 0x7d, 0xbb, 0x6b, 0x31, + 0x9c, 0x86, 0x46, 0x1f, 0x98, 0xaa, 0x5f, 0x66, 0x95, 0xcc, 0x4d, 0x32, 0x37, 0x2d, 0x57, 0xe4, + 0x6d, 0xf3, 0x6f, 0x9a, 0xf7, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2d, 0xf7, 0x41, 0xf7, 0x3c, + 0x01, 0x00, 0x00, +} diff --git a/msp/msp_config.pb.go b/msp/msp_config.pb.go new file mode 100644 index 0000000..005663c --- /dev/null +++ b/msp/msp_config.pb.go @@ -0,0 +1,775 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: msp/msp_config.proto + +package msp + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// MSPConfig collects all the configuration information for +// an MSP. The Config field should be unmarshalled in a way +// that depends on the Type +type MSPConfig struct { + // Type holds the type of the MSP; the default one would + // be of type FABRIC implementing an X.509 based provider + Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` + // Config is MSP dependent configuration info + Config []byte `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPConfig) Reset() { *m = MSPConfig{} } +func (m *MSPConfig) String() string { return proto.CompactTextString(m) } +func (*MSPConfig) ProtoMessage() {} +func (*MSPConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{0} +} + +func (m *MSPConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPConfig.Unmarshal(m, b) +} +func (m *MSPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPConfig.Marshal(b, m, deterministic) +} +func (m *MSPConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPConfig.Merge(m, src) +} +func (m *MSPConfig) XXX_Size() int { + return xxx_messageInfo_MSPConfig.Size(m) +} +func (m *MSPConfig) XXX_DiscardUnknown() { + xxx_messageInfo_MSPConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPConfig proto.InternalMessageInfo + +func (m *MSPConfig) GetType() int32 { + if m != nil { + return m.Type + } + return 0 +} + +func (m *MSPConfig) GetConfig() []byte { + if m != nil { + return m.Config + } + return nil +} + +// FabricMSPConfig collects all the configuration information for +// a Fabric MSP. +// Here we assume a default certificate validation policy, where +// any certificate signed by any of the listed rootCA certs would +// be considered as valid under this MSP. +// This MSP may or may not come with a signing identity. If it does, +// it can also issue signing identities. If it does not, it can only +// be used to validate and verify certificates. +type FabricMSPConfig struct { + // Name holds the identifier of the MSP; MSP identifier + // is chosen by the application that governs this MSP. + // For example, and assuming the default implementation of MSP, + // that is X.509-based and considers a single Issuer, + // this can refer to the Subject OU field or the Issuer OU field. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // List of root certificates trusted by this MSP + // they are used upon certificate validation (see + // comment for IntermediateCerts below) + RootCerts [][]byte `protobuf:"bytes,2,rep,name=root_certs,json=rootCerts,proto3" json:"root_certs,omitempty"` + // List of intermediate certificates trusted by this MSP; + // they are used upon certificate validation as follows: + // validation attempts to build a path from the certificate + // to be validated (which is at one end of the path) and + // one of the certs in the RootCerts field (which is at + // the other end of the path). If the path is longer than + // 2, certificates in the middle are searched within the + // IntermediateCerts pool + IntermediateCerts [][]byte `protobuf:"bytes,3,rep,name=intermediate_certs,json=intermediateCerts,proto3" json:"intermediate_certs,omitempty"` + // Identity denoting the administrator of this MSP + Admins [][]byte `protobuf:"bytes,4,rep,name=admins,proto3" json:"admins,omitempty"` + // Identity revocation list + RevocationList [][]byte `protobuf:"bytes,5,rep,name=revocation_list,json=revocationList,proto3" json:"revocation_list,omitempty"` + // SigningIdentity holds information on the signing identity + // this peer is to use, and which is to be imported by the + // MSP defined before + SigningIdentity *SigningIdentityInfo `protobuf:"bytes,6,opt,name=signing_identity,json=signingIdentity,proto3" json:"signing_identity,omitempty"` + // OrganizationalUnitIdentifiers holds one or more + // fabric organizational unit identifiers that belong to + // this MSP configuration + OrganizationalUnitIdentifiers []*FabricOUIdentifier `protobuf:"bytes,7,rep,name=organizational_unit_identifiers,json=organizationalUnitIdentifiers,proto3" json:"organizational_unit_identifiers,omitempty"` + // FabricCryptoConfig contains the configuration parameters + // for the cryptographic algorithms used by this MSP + CryptoConfig *FabricCryptoConfig `protobuf:"bytes,8,opt,name=crypto_config,json=cryptoConfig,proto3" json:"crypto_config,omitempty"` + // List of TLS root certificates trusted by this MSP. + // They are returned by GetTLSRootCerts. + TlsRootCerts [][]byte `protobuf:"bytes,9,rep,name=tls_root_certs,json=tlsRootCerts,proto3" json:"tls_root_certs,omitempty"` + // List of TLS intermediate certificates trusted by this MSP; + // They are returned by GetTLSIntermediateCerts. + TlsIntermediateCerts [][]byte `protobuf:"bytes,10,rep,name=tls_intermediate_certs,json=tlsIntermediateCerts,proto3" json:"tls_intermediate_certs,omitempty"` + // fabric_node_ous contains the configuration to distinguish clients from peers from orderers + // based on the OUs. + FabricNodeOus *FabricNodeOUs `protobuf:"bytes,11,opt,name=fabric_node_ous,json=fabricNodeOus,proto3" json:"fabric_node_ous,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricMSPConfig) Reset() { *m = FabricMSPConfig{} } +func (m *FabricMSPConfig) String() string { return proto.CompactTextString(m) } +func (*FabricMSPConfig) ProtoMessage() {} +func (*FabricMSPConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{1} +} + +func (m *FabricMSPConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricMSPConfig.Unmarshal(m, b) +} +func (m *FabricMSPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricMSPConfig.Marshal(b, m, deterministic) +} +func (m *FabricMSPConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricMSPConfig.Merge(m, src) +} +func (m *FabricMSPConfig) XXX_Size() int { + return xxx_messageInfo_FabricMSPConfig.Size(m) +} +func (m *FabricMSPConfig) XXX_DiscardUnknown() { + xxx_messageInfo_FabricMSPConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricMSPConfig proto.InternalMessageInfo + +func (m *FabricMSPConfig) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *FabricMSPConfig) GetRootCerts() [][]byte { + if m != nil { + return m.RootCerts + } + return nil +} + +func (m *FabricMSPConfig) GetIntermediateCerts() [][]byte { + if m != nil { + return m.IntermediateCerts + } + return nil +} + +func (m *FabricMSPConfig) GetAdmins() [][]byte { + if m != nil { + return m.Admins + } + return nil +} + +func (m *FabricMSPConfig) GetRevocationList() [][]byte { + if m != nil { + return m.RevocationList + } + return nil +} + +func (m *FabricMSPConfig) GetSigningIdentity() *SigningIdentityInfo { + if m != nil { + return m.SigningIdentity + } + return nil +} + +func (m *FabricMSPConfig) GetOrganizationalUnitIdentifiers() []*FabricOUIdentifier { + if m != nil { + return m.OrganizationalUnitIdentifiers + } + return nil +} + +func (m *FabricMSPConfig) GetCryptoConfig() *FabricCryptoConfig { + if m != nil { + return m.CryptoConfig + } + return nil +} + +func (m *FabricMSPConfig) GetTlsRootCerts() [][]byte { + if m != nil { + return m.TlsRootCerts + } + return nil +} + +func (m *FabricMSPConfig) GetTlsIntermediateCerts() [][]byte { + if m != nil { + return m.TlsIntermediateCerts + } + return nil +} + +func (m *FabricMSPConfig) GetFabricNodeOus() *FabricNodeOUs { + if m != nil { + return m.FabricNodeOus + } + return nil +} + +// FabricCryptoConfig contains configuration parameters +// for the cryptographic algorithms used by the MSP +// this configuration refers to +type FabricCryptoConfig struct { + // SignatureHashFamily is a string representing the hash family to be used + // during sign and verify operations. + // Allowed values are "SHA2" and "SHA3". + SignatureHashFamily string `protobuf:"bytes,1,opt,name=signature_hash_family,json=signatureHashFamily,proto3" json:"signature_hash_family,omitempty"` + // IdentityIdentifierHashFunction is a string representing the hash function + // to be used during the computation of the identity identifier of an MSP identity. + // Allowed values are "SHA256", "SHA384" and "SHA3_256", "SHA3_384". + IdentityIdentifierHashFunction string `protobuf:"bytes,2,opt,name=identity_identifier_hash_function,json=identityIdentifierHashFunction,proto3" json:"identity_identifier_hash_function,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricCryptoConfig) Reset() { *m = FabricCryptoConfig{} } +func (m *FabricCryptoConfig) String() string { return proto.CompactTextString(m) } +func (*FabricCryptoConfig) ProtoMessage() {} +func (*FabricCryptoConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{2} +} + +func (m *FabricCryptoConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricCryptoConfig.Unmarshal(m, b) +} +func (m *FabricCryptoConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricCryptoConfig.Marshal(b, m, deterministic) +} +func (m *FabricCryptoConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricCryptoConfig.Merge(m, src) +} +func (m *FabricCryptoConfig) XXX_Size() int { + return xxx_messageInfo_FabricCryptoConfig.Size(m) +} +func (m *FabricCryptoConfig) XXX_DiscardUnknown() { + xxx_messageInfo_FabricCryptoConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricCryptoConfig proto.InternalMessageInfo + +func (m *FabricCryptoConfig) GetSignatureHashFamily() string { + if m != nil { + return m.SignatureHashFamily + } + return "" +} + +func (m *FabricCryptoConfig) GetIdentityIdentifierHashFunction() string { + if m != nil { + return m.IdentityIdentifierHashFunction + } + return "" +} + +// IdemixMSPConfig collects all the configuration information for +// an Idemix MSP. +type IdemixMSPConfig struct { + // Name holds the identifier of the MSP + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // ipk represents the (serialized) issuer public key + Ipk []byte `protobuf:"bytes,2,opt,name=ipk,proto3" json:"ipk,omitempty"` + // signer may contain crypto material to configure a default signer + Signer *IdemixMSPSignerConfig `protobuf:"bytes,3,opt,name=signer,proto3" json:"signer,omitempty"` + // revocation_pk is the public key used for revocation of credentials + RevocationPk []byte `protobuf:"bytes,4,opt,name=revocation_pk,json=revocationPk,proto3" json:"revocation_pk,omitempty"` + // epoch represents the current epoch (time interval) used for revocation + Epoch int64 `protobuf:"varint,5,opt,name=epoch,proto3" json:"epoch,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IdemixMSPConfig) Reset() { *m = IdemixMSPConfig{} } +func (m *IdemixMSPConfig) String() string { return proto.CompactTextString(m) } +func (*IdemixMSPConfig) ProtoMessage() {} +func (*IdemixMSPConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{3} +} + +func (m *IdemixMSPConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdemixMSPConfig.Unmarshal(m, b) +} +func (m *IdemixMSPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdemixMSPConfig.Marshal(b, m, deterministic) +} +func (m *IdemixMSPConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdemixMSPConfig.Merge(m, src) +} +func (m *IdemixMSPConfig) XXX_Size() int { + return xxx_messageInfo_IdemixMSPConfig.Size(m) +} +func (m *IdemixMSPConfig) XXX_DiscardUnknown() { + xxx_messageInfo_IdemixMSPConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_IdemixMSPConfig proto.InternalMessageInfo + +func (m *IdemixMSPConfig) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *IdemixMSPConfig) GetIpk() []byte { + if m != nil { + return m.Ipk + } + return nil +} + +func (m *IdemixMSPConfig) GetSigner() *IdemixMSPSignerConfig { + if m != nil { + return m.Signer + } + return nil +} + +func (m *IdemixMSPConfig) GetRevocationPk() []byte { + if m != nil { + return m.RevocationPk + } + return nil +} + +func (m *IdemixMSPConfig) GetEpoch() int64 { + if m != nil { + return m.Epoch + } + return 0 +} + +// IdemixMSPSIgnerConfig contains the crypto material to set up an idemix signing identity +type IdemixMSPSignerConfig struct { + // cred represents the serialized idemix credential of the default signer + Cred []byte `protobuf:"bytes,1,opt,name=cred,proto3" json:"cred,omitempty"` + // sk is the secret key of the default signer, corresponding to credential Cred + Sk []byte `protobuf:"bytes,2,opt,name=sk,proto3" json:"sk,omitempty"` + // organizational_unit_identifier defines the organizational unit the default signer is in + OrganizationalUnitIdentifier string `protobuf:"bytes,3,opt,name=organizational_unit_identifier,json=organizationalUnitIdentifier,proto3" json:"organizational_unit_identifier,omitempty"` + // role defines whether the default signer is admin, peer, member or client + Role int32 `protobuf:"varint,4,opt,name=role,proto3" json:"role,omitempty"` + // enrollment_id contains the enrollment id of this signer + EnrollmentId string `protobuf:"bytes,5,opt,name=enrollment_id,json=enrollmentId,proto3" json:"enrollment_id,omitempty"` + // credential_revocation_information contains a serialized CredentialRevocationInformation + CredentialRevocationInformation []byte `protobuf:"bytes,6,opt,name=credential_revocation_information,json=credentialRevocationInformation,proto3" json:"credential_revocation_information,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IdemixMSPSignerConfig) Reset() { *m = IdemixMSPSignerConfig{} } +func (m *IdemixMSPSignerConfig) String() string { return proto.CompactTextString(m) } +func (*IdemixMSPSignerConfig) ProtoMessage() {} +func (*IdemixMSPSignerConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{4} +} + +func (m *IdemixMSPSignerConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IdemixMSPSignerConfig.Unmarshal(m, b) +} +func (m *IdemixMSPSignerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IdemixMSPSignerConfig.Marshal(b, m, deterministic) +} +func (m *IdemixMSPSignerConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_IdemixMSPSignerConfig.Merge(m, src) +} +func (m *IdemixMSPSignerConfig) XXX_Size() int { + return xxx_messageInfo_IdemixMSPSignerConfig.Size(m) +} +func (m *IdemixMSPSignerConfig) XXX_DiscardUnknown() { + xxx_messageInfo_IdemixMSPSignerConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_IdemixMSPSignerConfig proto.InternalMessageInfo + +func (m *IdemixMSPSignerConfig) GetCred() []byte { + if m != nil { + return m.Cred + } + return nil +} + +func (m *IdemixMSPSignerConfig) GetSk() []byte { + if m != nil { + return m.Sk + } + return nil +} + +func (m *IdemixMSPSignerConfig) GetOrganizationalUnitIdentifier() string { + if m != nil { + return m.OrganizationalUnitIdentifier + } + return "" +} + +func (m *IdemixMSPSignerConfig) GetRole() int32 { + if m != nil { + return m.Role + } + return 0 +} + +func (m *IdemixMSPSignerConfig) GetEnrollmentId() string { + if m != nil { + return m.EnrollmentId + } + return "" +} + +func (m *IdemixMSPSignerConfig) GetCredentialRevocationInformation() []byte { + if m != nil { + return m.CredentialRevocationInformation + } + return nil +} + +// SigningIdentityInfo represents the configuration information +// related to the signing identity the peer is to use for generating +// endorsements +type SigningIdentityInfo struct { + // PublicSigner carries the public information of the signing + // identity. For an X.509 provider this would be represented by + // an X.509 certificate + PublicSigner []byte `protobuf:"bytes,1,opt,name=public_signer,json=publicSigner,proto3" json:"public_signer,omitempty"` + // PrivateSigner denotes a reference to the private key of the + // peer's signing identity + PrivateSigner *KeyInfo `protobuf:"bytes,2,opt,name=private_signer,json=privateSigner,proto3" json:"private_signer,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SigningIdentityInfo) Reset() { *m = SigningIdentityInfo{} } +func (m *SigningIdentityInfo) String() string { return proto.CompactTextString(m) } +func (*SigningIdentityInfo) ProtoMessage() {} +func (*SigningIdentityInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{5} +} + +func (m *SigningIdentityInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SigningIdentityInfo.Unmarshal(m, b) +} +func (m *SigningIdentityInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SigningIdentityInfo.Marshal(b, m, deterministic) +} +func (m *SigningIdentityInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_SigningIdentityInfo.Merge(m, src) +} +func (m *SigningIdentityInfo) XXX_Size() int { + return xxx_messageInfo_SigningIdentityInfo.Size(m) +} +func (m *SigningIdentityInfo) XXX_DiscardUnknown() { + xxx_messageInfo_SigningIdentityInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_SigningIdentityInfo proto.InternalMessageInfo + +func (m *SigningIdentityInfo) GetPublicSigner() []byte { + if m != nil { + return m.PublicSigner + } + return nil +} + +func (m *SigningIdentityInfo) GetPrivateSigner() *KeyInfo { + if m != nil { + return m.PrivateSigner + } + return nil +} + +// KeyInfo represents a (secret) key that is either already stored +// in the bccsp/keystore or key material to be imported to the +// bccsp key-store. In later versions it may contain also a +// keystore identifier +type KeyInfo struct { + // Identifier of the key inside the default keystore; this for + // the case of Software BCCSP as well as the HSM BCCSP would be + // the SKI of the key + KeyIdentifier string `protobuf:"bytes,1,opt,name=key_identifier,json=keyIdentifier,proto3" json:"key_identifier,omitempty"` + // KeyMaterial (optional) for the key to be imported; this is + // properly encoded key bytes, prefixed by the type of the key + KeyMaterial []byte `protobuf:"bytes,2,opt,name=key_material,json=keyMaterial,proto3" json:"key_material,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyInfo) Reset() { *m = KeyInfo{} } +func (m *KeyInfo) String() string { return proto.CompactTextString(m) } +func (*KeyInfo) ProtoMessage() {} +func (*KeyInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{6} +} + +func (m *KeyInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyInfo.Unmarshal(m, b) +} +func (m *KeyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyInfo.Marshal(b, m, deterministic) +} +func (m *KeyInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyInfo.Merge(m, src) +} +func (m *KeyInfo) XXX_Size() int { + return xxx_messageInfo_KeyInfo.Size(m) +} +func (m *KeyInfo) XXX_DiscardUnknown() { + xxx_messageInfo_KeyInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyInfo proto.InternalMessageInfo + +func (m *KeyInfo) GetKeyIdentifier() string { + if m != nil { + return m.KeyIdentifier + } + return "" +} + +func (m *KeyInfo) GetKeyMaterial() []byte { + if m != nil { + return m.KeyMaterial + } + return nil +} + +// FabricOUIdentifier represents an organizational unit and +// its related chain of trust identifier. +type FabricOUIdentifier struct { + // Certificate represents the second certificate in a certification chain. + // (Notice that the first certificate in a certification chain is supposed + // to be the certificate of an identity). + // It must correspond to the certificate of root or intermediate CA + // recognized by the MSP this message belongs to. + // Starting from this certificate, a certification chain is computed + // and bound to the OrganizationUnitIdentifier specified + Certificate []byte `protobuf:"bytes,1,opt,name=certificate,proto3" json:"certificate,omitempty"` + // OrganizationUnitIdentifier defines the organizational unit under the + // MSP identified with MSPIdentifier + OrganizationalUnitIdentifier string `protobuf:"bytes,2,opt,name=organizational_unit_identifier,json=organizationalUnitIdentifier,proto3" json:"organizational_unit_identifier,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricOUIdentifier) Reset() { *m = FabricOUIdentifier{} } +func (m *FabricOUIdentifier) String() string { return proto.CompactTextString(m) } +func (*FabricOUIdentifier) ProtoMessage() {} +func (*FabricOUIdentifier) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{7} +} + +func (m *FabricOUIdentifier) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricOUIdentifier.Unmarshal(m, b) +} +func (m *FabricOUIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricOUIdentifier.Marshal(b, m, deterministic) +} +func (m *FabricOUIdentifier) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricOUIdentifier.Merge(m, src) +} +func (m *FabricOUIdentifier) XXX_Size() int { + return xxx_messageInfo_FabricOUIdentifier.Size(m) +} +func (m *FabricOUIdentifier) XXX_DiscardUnknown() { + xxx_messageInfo_FabricOUIdentifier.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricOUIdentifier proto.InternalMessageInfo + +func (m *FabricOUIdentifier) GetCertificate() []byte { + if m != nil { + return m.Certificate + } + return nil +} + +func (m *FabricOUIdentifier) GetOrganizationalUnitIdentifier() string { + if m != nil { + return m.OrganizationalUnitIdentifier + } + return "" +} + +// FabricNodeOUs contains configuration to tell apart clients from peers from orderers +// based on OUs. If NodeOUs recognition is enabled then an msp identity +// that does not contain any of the specified OU will be considered invalid. +type FabricNodeOUs struct { + // If true then an msp identity that does not contain any of the specified OU will be considered invalid. + Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` + // OU Identifier of the clients + ClientOuIdentifier *FabricOUIdentifier `protobuf:"bytes,2,opt,name=client_ou_identifier,json=clientOuIdentifier,proto3" json:"client_ou_identifier,omitempty"` + // OU Identifier of the peers + PeerOuIdentifier *FabricOUIdentifier `protobuf:"bytes,3,opt,name=peer_ou_identifier,json=peerOuIdentifier,proto3" json:"peer_ou_identifier,omitempty"` + // OU Identifier of the admins + AdminOuIdentifier *FabricOUIdentifier `protobuf:"bytes,4,opt,name=admin_ou_identifier,json=adminOuIdentifier,proto3" json:"admin_ou_identifier,omitempty"` + // OU Identifier of the orderers + OrdererOuIdentifier *FabricOUIdentifier `protobuf:"bytes,5,opt,name=orderer_ou_identifier,json=ordererOuIdentifier,proto3" json:"orderer_ou_identifier,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FabricNodeOUs) Reset() { *m = FabricNodeOUs{} } +func (m *FabricNodeOUs) String() string { return proto.CompactTextString(m) } +func (*FabricNodeOUs) ProtoMessage() {} +func (*FabricNodeOUs) Descriptor() ([]byte, []int) { + return fileDescriptor_9c34771f529d9d1a, []int{8} +} + +func (m *FabricNodeOUs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FabricNodeOUs.Unmarshal(m, b) +} +func (m *FabricNodeOUs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FabricNodeOUs.Marshal(b, m, deterministic) +} +func (m *FabricNodeOUs) XXX_Merge(src proto.Message) { + xxx_messageInfo_FabricNodeOUs.Merge(m, src) +} +func (m *FabricNodeOUs) XXX_Size() int { + return xxx_messageInfo_FabricNodeOUs.Size(m) +} +func (m *FabricNodeOUs) XXX_DiscardUnknown() { + xxx_messageInfo_FabricNodeOUs.DiscardUnknown(m) +} + +var xxx_messageInfo_FabricNodeOUs proto.InternalMessageInfo + +func (m *FabricNodeOUs) GetEnable() bool { + if m != nil { + return m.Enable + } + return false +} + +func (m *FabricNodeOUs) GetClientOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.ClientOuIdentifier + } + return nil +} + +func (m *FabricNodeOUs) GetPeerOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.PeerOuIdentifier + } + return nil +} + +func (m *FabricNodeOUs) GetAdminOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.AdminOuIdentifier + } + return nil +} + +func (m *FabricNodeOUs) GetOrdererOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.OrdererOuIdentifier + } + return nil +} + +func init() { + proto.RegisterType((*MSPConfig)(nil), "msp.MSPConfig") + proto.RegisterType((*FabricMSPConfig)(nil), "msp.FabricMSPConfig") + proto.RegisterType((*FabricCryptoConfig)(nil), "msp.FabricCryptoConfig") + proto.RegisterType((*IdemixMSPConfig)(nil), "msp.IdemixMSPConfig") + proto.RegisterType((*IdemixMSPSignerConfig)(nil), "msp.IdemixMSPSignerConfig") + proto.RegisterType((*SigningIdentityInfo)(nil), "msp.SigningIdentityInfo") + proto.RegisterType((*KeyInfo)(nil), "msp.KeyInfo") + proto.RegisterType((*FabricOUIdentifier)(nil), "msp.FabricOUIdentifier") + proto.RegisterType((*FabricNodeOUs)(nil), "msp.FabricNodeOUs") +} + +func init() { proto.RegisterFile("msp/msp_config.proto", fileDescriptor_9c34771f529d9d1a) } + +var fileDescriptor_9c34771f529d9d1a = []byte{ + // 883 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdb, 0x6e, 0x23, 0x45, + 0x13, 0x96, 0x8f, 0xbb, 0x2e, 0x8f, 0xed, 0x6c, 0xe7, 0xf0, 0x8f, 0x7e, 0xb1, 0xbb, 0x8e, 0x01, + 0x61, 0x09, 0xc5, 0x91, 0xb2, 0x48, 0x48, 0x88, 0xab, 0x0d, 0x2c, 0x0c, 0x4b, 0x48, 0xd4, 0x51, + 0x6e, 0xb8, 0x19, 0xb5, 0x67, 0xda, 0xe3, 0x96, 0x67, 0xba, 0x47, 0xdd, 0x3d, 0x2b, 0x8c, 0xb8, + 0xe6, 0x05, 0x78, 0x07, 0xae, 0x79, 0x13, 0x5e, 0x09, 0xf5, 0x21, 0xf6, 0x38, 0x89, 0x0c, 0x77, + 0x5d, 0x55, 0x5f, 0x7d, 0x53, 0xfd, 0x55, 0x55, 0x0f, 0x1c, 0x15, 0xaa, 0x3c, 0x2f, 0x54, 0x19, + 0x27, 0x82, 0x2f, 0x58, 0x36, 0x2b, 0xa5, 0xd0, 0x02, 0xb5, 0x0a, 0x55, 0x4e, 0xbe, 0x84, 0xde, + 0xd5, 0xed, 0xcd, 0xa5, 0xf5, 0x23, 0x04, 0x6d, 0xbd, 0x2e, 0x69, 0xd8, 0x18, 0x37, 0xa6, 0x1d, + 0x6c, 0xcf, 0xe8, 0x04, 0xba, 0x2e, 0x2b, 0x6c, 0x8e, 0x1b, 0xd3, 0x00, 0x7b, 0x6b, 0xf2, 0x57, + 0x1b, 0x46, 0xef, 0xc8, 0x5c, 0xb2, 0x64, 0x27, 0x9f, 0x93, 0xc2, 0xe5, 0xf7, 0xb0, 0x3d, 0xa3, + 0x97, 0x00, 0x52, 0x08, 0x1d, 0x27, 0x54, 0x6a, 0x15, 0x36, 0xc7, 0xad, 0x69, 0x80, 0x7b, 0xc6, + 0x73, 0x69, 0x1c, 0xe8, 0x0c, 0x10, 0xe3, 0x9a, 0xca, 0x82, 0xa6, 0x8c, 0x68, 0xea, 0x61, 0x2d, + 0x0b, 0x7b, 0x51, 0x8f, 0x38, 0xf8, 0x09, 0x74, 0x49, 0x5a, 0x30, 0xae, 0xc2, 0xb6, 0x85, 0x78, + 0x0b, 0x7d, 0x06, 0x23, 0x49, 0x3f, 0x88, 0x84, 0x68, 0x26, 0x78, 0x9c, 0x33, 0xa5, 0xc3, 0x8e, + 0x05, 0x0c, 0xb7, 0xee, 0x1f, 0x99, 0xd2, 0xe8, 0x12, 0x0e, 0x14, 0xcb, 0x38, 0xe3, 0x59, 0xcc, + 0x52, 0xca, 0x35, 0xd3, 0xeb, 0xb0, 0x3b, 0x6e, 0x4c, 0xfb, 0x17, 0xe1, 0xac, 0x50, 0xe5, 0xec, + 0xd6, 0x05, 0x23, 0x1f, 0x8b, 0xf8, 0x42, 0xe0, 0x91, 0xda, 0x75, 0xa2, 0x18, 0x5e, 0x0b, 0x99, + 0x11, 0xce, 0x7e, 0xb5, 0xc4, 0x24, 0x8f, 0x2b, 0xce, 0xb4, 0x27, 0x5c, 0x30, 0x2a, 0x55, 0xf8, + 0x6c, 0xdc, 0x9a, 0xf6, 0x2f, 0xfe, 0x67, 0x39, 0x9d, 0x4c, 0xd7, 0x77, 0xd1, 0x26, 0x8e, 0x5f, + 0xee, 0xe6, 0xdf, 0x71, 0xa6, 0xb7, 0x51, 0x85, 0xbe, 0x86, 0x41, 0x22, 0xd7, 0xa5, 0x16, 0xbe, + 0x63, 0xe1, 0x73, 0x5b, 0x62, 0x9d, 0xee, 0xd2, 0xc6, 0x9d, 0xf0, 0x38, 0x48, 0x6a, 0x16, 0xfa, + 0x04, 0x86, 0x3a, 0x57, 0x71, 0x4d, 0xf6, 0x9e, 0xd5, 0x22, 0xd0, 0xb9, 0xc2, 0x1b, 0xe5, 0xbf, + 0x80, 0x13, 0x83, 0x7a, 0x42, 0x7d, 0xb0, 0xe8, 0x23, 0x9d, 0xab, 0xe8, 0x51, 0x03, 0xbe, 0x82, + 0xd1, 0xc2, 0x7e, 0x3f, 0xe6, 0x22, 0xa5, 0xb1, 0xa8, 0x54, 0xd8, 0xb7, 0xb5, 0xa1, 0x5a, 0x6d, + 0x3f, 0x89, 0x94, 0x5e, 0xdf, 0x29, 0x3c, 0x58, 0x6c, 0xcd, 0x4a, 0x4d, 0xfe, 0x68, 0x00, 0x7a, + 0x5c, 0x3c, 0xba, 0x80, 0x63, 0x23, 0x30, 0xd1, 0x95, 0xa4, 0xf1, 0x92, 0xa8, 0x65, 0xbc, 0x20, + 0x05, 0xcb, 0xd7, 0x7e, 0x8c, 0x0e, 0x37, 0xc1, 0xef, 0x89, 0x5a, 0xbe, 0xb3, 0x21, 0x14, 0xc1, + 0xe9, 0x7d, 0xfb, 0x6a, 0xb2, 0xfb, 0xec, 0x8a, 0x27, 0x46, 0x56, 0x3b, 0xb0, 0x3d, 0xfc, 0xea, + 0x1e, 0xb8, 0x15, 0xd8, 0x12, 0x79, 0xd4, 0xe4, 0xcf, 0x06, 0x8c, 0xa2, 0x94, 0x16, 0xec, 0x97, + 0xfd, 0x83, 0x7c, 0x00, 0x2d, 0x56, 0xae, 0xfc, 0x16, 0x98, 0x23, 0xba, 0x80, 0xae, 0xa9, 0x8d, + 0xca, 0xb0, 0x65, 0x25, 0xf8, 0xbf, 0x95, 0x60, 0xc3, 0x75, 0x6b, 0x63, 0xbe, 0x43, 0x1e, 0x89, + 0x3e, 0x86, 0x41, 0x6d, 0x50, 0xcb, 0x55, 0xd8, 0xb6, 0x7c, 0xc1, 0xd6, 0x79, 0xb3, 0x42, 0x47, + 0xd0, 0xa1, 0xa5, 0x48, 0x96, 0x61, 0x67, 0xdc, 0x98, 0xb6, 0xb0, 0x33, 0x26, 0xbf, 0x37, 0xe1, + 0xf8, 0x49, 0x72, 0x53, 0x6e, 0x22, 0x69, 0x6a, 0xcb, 0x0d, 0xb0, 0x3d, 0xa3, 0x21, 0x34, 0xd5, + 0x7d, 0xb5, 0x4d, 0xb5, 0x42, 0xdf, 0xc0, 0xab, 0xfd, 0x33, 0x6b, 0x2f, 0xd1, 0xc3, 0x1f, 0xed, + 0x9b, 0x4c, 0xf3, 0x25, 0x29, 0x72, 0x6a, 0xab, 0xee, 0x60, 0x7b, 0x36, 0x57, 0xa2, 0x5c, 0x8a, + 0x3c, 0x2f, 0x28, 0x37, 0x84, 0xb6, 0xea, 0x1e, 0x0e, 0xb6, 0xce, 0x28, 0x45, 0x3f, 0xc0, 0xa9, + 0x29, 0xcb, 0x10, 0x91, 0x3c, 0xae, 0x49, 0xc0, 0xf8, 0x42, 0xc8, 0xc2, 0x9e, 0xed, 0x22, 0x06, + 0xf8, 0xf5, 0x16, 0x88, 0x37, 0xb8, 0x68, 0x0b, 0x9b, 0x08, 0x38, 0x7c, 0x62, 0x4d, 0x4d, 0x1d, + 0x65, 0x35, 0xcf, 0x59, 0x12, 0xfb, 0xae, 0x38, 0x39, 0x02, 0xe7, 0x74, 0x82, 0xa1, 0x37, 0x30, + 0x2c, 0x25, 0xfb, 0x60, 0x86, 0xdd, 0xa3, 0x9a, 0xb6, 0x77, 0x81, 0xed, 0xdd, 0x7b, 0xea, 0x36, + 0x7e, 0xe0, 0x31, 0x2e, 0x69, 0x72, 0x0b, 0xcf, 0x7c, 0x04, 0x7d, 0x0a, 0xc3, 0x15, 0xad, 0xcf, + 0x9c, 0x9f, 0x91, 0xc1, 0x8a, 0xd6, 0x06, 0x0c, 0x9d, 0x42, 0x60, 0x60, 0x05, 0xd1, 0x54, 0x32, + 0x92, 0xfb, 0x3e, 0xf4, 0x57, 0x74, 0x7d, 0xe5, 0x5d, 0x93, 0xdf, 0xee, 0x97, 0xa1, 0xfe, 0x30, + 0xa0, 0x31, 0xf4, 0xcd, 0x12, 0xb2, 0x05, 0x4b, 0x88, 0xa6, 0xfe, 0x0a, 0x75, 0xd7, 0x7f, 0x68, + 0x64, 0xf3, 0xdf, 0x1b, 0x39, 0xf9, 0xbb, 0x09, 0x83, 0x9d, 0x65, 0x35, 0x4f, 0x2b, 0xe5, 0x64, + 0x9e, 0xbb, 0x8f, 0x3e, 0xc7, 0xde, 0x42, 0x11, 0x1c, 0x25, 0x39, 0x33, 0xad, 0x15, 0xd5, 0xc3, + 0xaf, 0xec, 0x79, 0xe1, 0x90, 0x4b, 0xba, 0xae, 0x6a, 0x97, 0xfb, 0x16, 0x50, 0x49, 0xa9, 0x7c, + 0x40, 0xd4, 0xda, 0x4f, 0x74, 0x60, 0x52, 0x76, 0x68, 0xbe, 0x83, 0x43, 0xfb, 0xec, 0x3f, 0xe0, + 0x69, 0xef, 0xe7, 0x79, 0x61, 0x73, 0x76, 0x88, 0xde, 0xc3, 0xb1, 0x90, 0x29, 0x95, 0x8f, 0x4a, + 0xea, 0xec, 0xa7, 0x3a, 0xf4, 0x59, 0x75, 0xb2, 0xb7, 0x73, 0x38, 0x15, 0x32, 0x9b, 0x2d, 0xd7, + 0x25, 0x95, 0x39, 0x4d, 0x33, 0x2a, 0x67, 0xee, 0xf9, 0x73, 0xbf, 0x5b, 0x65, 0xc8, 0xde, 0x1e, + 0x5c, 0xa9, 0xd2, 0x2d, 0xed, 0x0d, 0x49, 0x56, 0x24, 0xa3, 0x3f, 0x7f, 0x9e, 0x31, 0xbd, 0xac, + 0xe6, 0xb3, 0x44, 0x14, 0xe7, 0xb5, 0xdc, 0x73, 0x97, 0x7b, 0xe6, 0x72, 0xcf, 0x32, 0x61, 0xfe, + 0xdf, 0xf3, 0xae, 0x35, 0xdf, 0xfc, 0x13, 0x00, 0x00, 0xff, 0xff, 0x42, 0x15, 0x49, 0x47, 0xd1, + 0x07, 0x00, 0x00, +} diff --git a/msp/msp_principal.pb.go b/msp/msp_principal.pb.go new file mode 100644 index 0000000..028c1a6 --- /dev/null +++ b/msp/msp_principal.pb.go @@ -0,0 +1,451 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: msp/msp_principal.proto + +package msp + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type MSPPrincipal_Classification int32 + +const ( + MSPPrincipal_ROLE MSPPrincipal_Classification = 0 + // one of a member of MSP network, and the one of an + // administrator of an MSP network + MSPPrincipal_ORGANIZATION_UNIT MSPPrincipal_Classification = 1 + // groupping of entities, per MSP affiliation + // E.g., this can well be represented by an MSP's + // Organization unit + MSPPrincipal_IDENTITY MSPPrincipal_Classification = 2 + // identity + MSPPrincipal_ANONYMITY MSPPrincipal_Classification = 3 + // an identity to be anonymous or nominal. + MSPPrincipal_COMBINED MSPPrincipal_Classification = 4 +) + +var MSPPrincipal_Classification_name = map[int32]string{ + 0: "ROLE", + 1: "ORGANIZATION_UNIT", + 2: "IDENTITY", + 3: "ANONYMITY", + 4: "COMBINED", +} + +var MSPPrincipal_Classification_value = map[string]int32{ + "ROLE": 0, + "ORGANIZATION_UNIT": 1, + "IDENTITY": 2, + "ANONYMITY": 3, + "COMBINED": 4, +} + +func (x MSPPrincipal_Classification) String() string { + return proto.EnumName(MSPPrincipal_Classification_name, int32(x)) +} + +func (MSPPrincipal_Classification) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{0, 0} +} + +type MSPRole_MSPRoleType int32 + +const ( + MSPRole_MEMBER MSPRole_MSPRoleType = 0 + MSPRole_ADMIN MSPRole_MSPRoleType = 1 + MSPRole_CLIENT MSPRole_MSPRoleType = 2 + MSPRole_PEER MSPRole_MSPRoleType = 3 + MSPRole_ORDERER MSPRole_MSPRoleType = 4 +) + +var MSPRole_MSPRoleType_name = map[int32]string{ + 0: "MEMBER", + 1: "ADMIN", + 2: "CLIENT", + 3: "PEER", + 4: "ORDERER", +} + +var MSPRole_MSPRoleType_value = map[string]int32{ + "MEMBER": 0, + "ADMIN": 1, + "CLIENT": 2, + "PEER": 3, + "ORDERER": 4, +} + +func (x MSPRole_MSPRoleType) String() string { + return proto.EnumName(MSPRole_MSPRoleType_name, int32(x)) +} + +func (MSPRole_MSPRoleType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{2, 0} +} + +type MSPIdentityAnonymity_MSPIdentityAnonymityType int32 + +const ( + MSPIdentityAnonymity_NOMINAL MSPIdentityAnonymity_MSPIdentityAnonymityType = 0 + MSPIdentityAnonymity_ANONYMOUS MSPIdentityAnonymity_MSPIdentityAnonymityType = 1 +) + +var MSPIdentityAnonymity_MSPIdentityAnonymityType_name = map[int32]string{ + 0: "NOMINAL", + 1: "ANONYMOUS", +} + +var MSPIdentityAnonymity_MSPIdentityAnonymityType_value = map[string]int32{ + "NOMINAL": 0, + "ANONYMOUS": 1, +} + +func (x MSPIdentityAnonymity_MSPIdentityAnonymityType) String() string { + return proto.EnumName(MSPIdentityAnonymity_MSPIdentityAnonymityType_name, int32(x)) +} + +func (MSPIdentityAnonymity_MSPIdentityAnonymityType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{3, 0} +} + +// MSPPrincipal aims to represent an MSP-centric set of identities. +// In particular, this structure allows for definition of +// - a group of identities that are member of the same MSP +// - a group of identities that are member of the same organization unit +// in the same MSP +// - a group of identities that are administering a specific MSP +// - a specific identity +// Expressing these groups is done given two fields of the fields below +// - Classification, that defines the type of classification of identities +// in an MSP this principal would be defined on; Classification can take +// three values: +// (i) ByMSPRole: that represents a classification of identities within +// MSP based on one of the two pre-defined MSP rules, "member" and "admin" +// (ii) ByOrganizationUnit: that represents a classification of identities +// within MSP based on the organization unit an identity belongs to +// (iii)ByIdentity that denotes that MSPPrincipal is mapped to a single +// identity/certificate; this would mean that the Principal bytes +// message +type MSPPrincipal struct { + // Classification describes the way that one should process + // Principal. An Classification value of "ByOrganizationUnit" reflects + // that "Principal" contains the name of an organization this MSP + // handles. A Classification value "ByIdentity" means that + // "Principal" contains a specific identity. Default value + // denotes that Principal contains one of the groups by + // default supported by all MSPs ("admin" or "member"). + PrincipalClassification MSPPrincipal_Classification `protobuf:"varint,1,opt,name=principal_classification,json=principalClassification,proto3,enum=common.MSPPrincipal_Classification" json:"principal_classification,omitempty"` + // Principal completes the policy principal definition. For the default + // principal types, Principal can be either "Admin" or "Member". + // For the ByOrganizationUnit/ByIdentity values of Classification, + // PolicyPrincipal acquires its value from an organization unit or + // identity, respectively. + // For the Combined Classification type, the Principal is a marshalled + // CombinedPrincipal. + Principal []byte `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPPrincipal) Reset() { *m = MSPPrincipal{} } +func (m *MSPPrincipal) String() string { return proto.CompactTextString(m) } +func (*MSPPrincipal) ProtoMessage() {} +func (*MSPPrincipal) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{0} +} + +func (m *MSPPrincipal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPPrincipal.Unmarshal(m, b) +} +func (m *MSPPrincipal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPPrincipal.Marshal(b, m, deterministic) +} +func (m *MSPPrincipal) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPPrincipal.Merge(m, src) +} +func (m *MSPPrincipal) XXX_Size() int { + return xxx_messageInfo_MSPPrincipal.Size(m) +} +func (m *MSPPrincipal) XXX_DiscardUnknown() { + xxx_messageInfo_MSPPrincipal.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPPrincipal proto.InternalMessageInfo + +func (m *MSPPrincipal) GetPrincipalClassification() MSPPrincipal_Classification { + if m != nil { + return m.PrincipalClassification + } + return MSPPrincipal_ROLE +} + +func (m *MSPPrincipal) GetPrincipal() []byte { + if m != nil { + return m.Principal + } + return nil +} + +// OrganizationUnit governs the organization of the Principal +// field of a policy principal when a specific organization unity members +// are to be defined within a policy principal. +type OrganizationUnit struct { + // MSPIdentifier represents the identifier of the MSP this organization unit + // refers to + MspIdentifier string `protobuf:"bytes,1,opt,name=msp_identifier,json=mspIdentifier,proto3" json:"msp_identifier,omitempty"` + // OrganizationUnitIdentifier defines the organizational unit under the + // MSP identified with MSPIdentifier + OrganizationalUnitIdentifier string `protobuf:"bytes,2,opt,name=organizational_unit_identifier,json=organizationalUnitIdentifier,proto3" json:"organizational_unit_identifier,omitempty"` + // CertifiersIdentifier is the hash of certificates chain of trust + // related to this organizational unit + CertifiersIdentifier []byte `protobuf:"bytes,3,opt,name=certifiers_identifier,json=certifiersIdentifier,proto3" json:"certifiers_identifier,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OrganizationUnit) Reset() { *m = OrganizationUnit{} } +func (m *OrganizationUnit) String() string { return proto.CompactTextString(m) } +func (*OrganizationUnit) ProtoMessage() {} +func (*OrganizationUnit) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{1} +} + +func (m *OrganizationUnit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OrganizationUnit.Unmarshal(m, b) +} +func (m *OrganizationUnit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OrganizationUnit.Marshal(b, m, deterministic) +} +func (m *OrganizationUnit) XXX_Merge(src proto.Message) { + xxx_messageInfo_OrganizationUnit.Merge(m, src) +} +func (m *OrganizationUnit) XXX_Size() int { + return xxx_messageInfo_OrganizationUnit.Size(m) +} +func (m *OrganizationUnit) XXX_DiscardUnknown() { + xxx_messageInfo_OrganizationUnit.DiscardUnknown(m) +} + +var xxx_messageInfo_OrganizationUnit proto.InternalMessageInfo + +func (m *OrganizationUnit) GetMspIdentifier() string { + if m != nil { + return m.MspIdentifier + } + return "" +} + +func (m *OrganizationUnit) GetOrganizationalUnitIdentifier() string { + if m != nil { + return m.OrganizationalUnitIdentifier + } + return "" +} + +func (m *OrganizationUnit) GetCertifiersIdentifier() []byte { + if m != nil { + return m.CertifiersIdentifier + } + return nil +} + +// MSPRole governs the organization of the Principal +// field of an MSPPrincipal when it aims to define one of the +// two dedicated roles within an MSP: Admin and Members. +type MSPRole struct { + // MSPIdentifier represents the identifier of the MSP this principal + // refers to + MspIdentifier string `protobuf:"bytes,1,opt,name=msp_identifier,json=mspIdentifier,proto3" json:"msp_identifier,omitempty"` + // MSPRoleType defines which of the available, pre-defined MSP-roles + // an identiy should posess inside the MSP with identifier MSPidentifier + Role MSPRole_MSPRoleType `protobuf:"varint,2,opt,name=role,proto3,enum=common.MSPRole_MSPRoleType" json:"role,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPRole) Reset() { *m = MSPRole{} } +func (m *MSPRole) String() string { return proto.CompactTextString(m) } +func (*MSPRole) ProtoMessage() {} +func (*MSPRole) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{2} +} + +func (m *MSPRole) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPRole.Unmarshal(m, b) +} +func (m *MSPRole) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPRole.Marshal(b, m, deterministic) +} +func (m *MSPRole) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPRole.Merge(m, src) +} +func (m *MSPRole) XXX_Size() int { + return xxx_messageInfo_MSPRole.Size(m) +} +func (m *MSPRole) XXX_DiscardUnknown() { + xxx_messageInfo_MSPRole.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPRole proto.InternalMessageInfo + +func (m *MSPRole) GetMspIdentifier() string { + if m != nil { + return m.MspIdentifier + } + return "" +} + +func (m *MSPRole) GetRole() MSPRole_MSPRoleType { + if m != nil { + return m.Role + } + return MSPRole_MEMBER +} + +// MSPIdentityAnonymity can be used to enforce an identity to be anonymous or nominal. +type MSPIdentityAnonymity struct { + AnonymityType MSPIdentityAnonymity_MSPIdentityAnonymityType `protobuf:"varint,1,opt,name=anonymity_type,json=anonymityType,proto3,enum=common.MSPIdentityAnonymity_MSPIdentityAnonymityType" json:"anonymity_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MSPIdentityAnonymity) Reset() { *m = MSPIdentityAnonymity{} } +func (m *MSPIdentityAnonymity) String() string { return proto.CompactTextString(m) } +func (*MSPIdentityAnonymity) ProtoMessage() {} +func (*MSPIdentityAnonymity) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{3} +} + +func (m *MSPIdentityAnonymity) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MSPIdentityAnonymity.Unmarshal(m, b) +} +func (m *MSPIdentityAnonymity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MSPIdentityAnonymity.Marshal(b, m, deterministic) +} +func (m *MSPIdentityAnonymity) XXX_Merge(src proto.Message) { + xxx_messageInfo_MSPIdentityAnonymity.Merge(m, src) +} +func (m *MSPIdentityAnonymity) XXX_Size() int { + return xxx_messageInfo_MSPIdentityAnonymity.Size(m) +} +func (m *MSPIdentityAnonymity) XXX_DiscardUnknown() { + xxx_messageInfo_MSPIdentityAnonymity.DiscardUnknown(m) +} + +var xxx_messageInfo_MSPIdentityAnonymity proto.InternalMessageInfo + +func (m *MSPIdentityAnonymity) GetAnonymityType() MSPIdentityAnonymity_MSPIdentityAnonymityType { + if m != nil { + return m.AnonymityType + } + return MSPIdentityAnonymity_NOMINAL +} + +// CombinedPrincipal governs the organization of the Principal +// field of a policy principal when principal_classification has +// indicated that a combined form of principals is required +type CombinedPrincipal struct { + // Principals refer to combined principals + Principals []*MSPPrincipal `protobuf:"bytes,1,rep,name=principals,proto3" json:"principals,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CombinedPrincipal) Reset() { *m = CombinedPrincipal{} } +func (m *CombinedPrincipal) String() string { return proto.CompactTextString(m) } +func (*CombinedPrincipal) ProtoMessage() {} +func (*CombinedPrincipal) Descriptor() ([]byte, []int) { + return fileDescriptor_82e08b7ead29bd48, []int{4} +} + +func (m *CombinedPrincipal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CombinedPrincipal.Unmarshal(m, b) +} +func (m *CombinedPrincipal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CombinedPrincipal.Marshal(b, m, deterministic) +} +func (m *CombinedPrincipal) XXX_Merge(src proto.Message) { + xxx_messageInfo_CombinedPrincipal.Merge(m, src) +} +func (m *CombinedPrincipal) XXX_Size() int { + return xxx_messageInfo_CombinedPrincipal.Size(m) +} +func (m *CombinedPrincipal) XXX_DiscardUnknown() { + xxx_messageInfo_CombinedPrincipal.DiscardUnknown(m) +} + +var xxx_messageInfo_CombinedPrincipal proto.InternalMessageInfo + +func (m *CombinedPrincipal) GetPrincipals() []*MSPPrincipal { + if m != nil { + return m.Principals + } + return nil +} + +func init() { + proto.RegisterEnum("common.MSPPrincipal_Classification", MSPPrincipal_Classification_name, MSPPrincipal_Classification_value) + proto.RegisterEnum("common.MSPRole_MSPRoleType", MSPRole_MSPRoleType_name, MSPRole_MSPRoleType_value) + proto.RegisterEnum("common.MSPIdentityAnonymity_MSPIdentityAnonymityType", MSPIdentityAnonymity_MSPIdentityAnonymityType_name, MSPIdentityAnonymity_MSPIdentityAnonymityType_value) + proto.RegisterType((*MSPPrincipal)(nil), "common.MSPPrincipal") + proto.RegisterType((*OrganizationUnit)(nil), "common.OrganizationUnit") + proto.RegisterType((*MSPRole)(nil), "common.MSPRole") + proto.RegisterType((*MSPIdentityAnonymity)(nil), "common.MSPIdentityAnonymity") + proto.RegisterType((*CombinedPrincipal)(nil), "common.CombinedPrincipal") +} + +func init() { proto.RegisterFile("msp/msp_principal.proto", fileDescriptor_82e08b7ead29bd48) } + +var fileDescriptor_82e08b7ead29bd48 = []byte{ + // 528 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0x5f, 0x6b, 0xdb, 0x3e, + 0x14, 0xad, 0x93, 0xfc, 0xda, 0xe6, 0xe6, 0x0f, 0xaa, 0x48, 0x69, 0xe0, 0x57, 0x46, 0xf0, 0x36, + 0x08, 0x8c, 0x3a, 0x90, 0x6e, 0x7b, 0x77, 0x12, 0x53, 0x0c, 0xb1, 0x1c, 0x14, 0xe7, 0xa1, 0xa5, + 0x2c, 0x38, 0x8e, 0x92, 0x0a, 0x6c, 0xcb, 0xd8, 0xee, 0x83, 0xf7, 0x91, 0xc6, 0x1e, 0xf7, 0xa9, + 0xf6, 0x29, 0x86, 0xed, 0x26, 0x51, 0xb6, 0x0e, 0xf6, 0x64, 0xce, 0xbd, 0xe7, 0x1c, 0x1f, 0x49, + 0xf7, 0xc2, 0x55, 0x90, 0x44, 0x83, 0x20, 0x89, 0x96, 0x51, 0xcc, 0x43, 0x8f, 0x47, 0xae, 0xaf, + 0x45, 0xb1, 0x48, 0x05, 0x3e, 0xf5, 0x44, 0x10, 0x88, 0x50, 0xfd, 0xa9, 0x40, 0xd3, 0x9a, 0xcf, + 0x66, 0xbb, 0x36, 0xfe, 0x02, 0xdd, 0x3d, 0x77, 0xe9, 0xf9, 0x6e, 0x92, 0xf0, 0x0d, 0xf7, 0xdc, + 0x94, 0x8b, 0xb0, 0xab, 0xf4, 0x94, 0x7e, 0x7b, 0xf8, 0x56, 0x2b, 0xb5, 0x9a, 0xac, 0xd3, 0xc6, + 0x47, 0x54, 0x7a, 0xb5, 0x37, 0x39, 0x6e, 0xe0, 0x6b, 0xa8, 0xef, 0x5b, 0xdd, 0x4a, 0x4f, 0xe9, + 0x37, 0xe9, 0xa1, 0xa0, 0x3e, 0x42, 0xfb, 0x37, 0xfe, 0x39, 0xd4, 0xa8, 0x3d, 0x35, 0xd0, 0x09, + 0xbe, 0x84, 0x0b, 0x9b, 0xde, 0xe9, 0xc4, 0x7c, 0xd0, 0x1d, 0xd3, 0x26, 0xcb, 0x05, 0x31, 0x1d, + 0xa4, 0xe0, 0x26, 0x9c, 0x9b, 0x13, 0x83, 0x38, 0xa6, 0x73, 0x8f, 0x2a, 0xb8, 0x05, 0x75, 0x9d, + 0xd8, 0xe4, 0xde, 0xca, 0x61, 0x35, 0x6f, 0x8e, 0x6d, 0x6b, 0x64, 0x12, 0x63, 0x82, 0x6a, 0xea, + 0x0f, 0x05, 0x90, 0x1d, 0x6f, 0xdd, 0x90, 0x7f, 0x2d, 0xcc, 0x17, 0x21, 0x4f, 0xf1, 0x7b, 0x68, + 0xe7, 0x17, 0xc4, 0xd7, 0x2c, 0x4c, 0xf9, 0x86, 0xb3, 0xb8, 0x38, 0x66, 0x9d, 0xb6, 0x82, 0x24, + 0x32, 0xf7, 0x45, 0x3c, 0x81, 0x37, 0x42, 0x92, 0xba, 0xfe, 0xf2, 0x39, 0xe4, 0xa9, 0x2c, 0xab, + 0x14, 0xb2, 0xeb, 0x63, 0x56, 0xfe, 0x0b, 0xc9, 0xe5, 0x16, 0x2e, 0x3d, 0x16, 0x97, 0x20, 0x91, + 0xc5, 0xd5, 0xe2, 0x26, 0x3a, 0x87, 0xe6, 0x41, 0xa4, 0x7e, 0x53, 0xe0, 0xcc, 0x9a, 0xcf, 0xa8, + 0xf0, 0xd9, 0xbf, 0xa6, 0x1d, 0x40, 0x2d, 0x16, 0x3e, 0x2b, 0x32, 0xb5, 0x87, 0xff, 0x4b, 0x2f, + 0x96, 0xbb, 0xec, 0xbe, 0x4e, 0x16, 0x31, 0x5a, 0x10, 0xd5, 0x3b, 0x68, 0x48, 0x45, 0x0c, 0x70, + 0x6a, 0x19, 0xd6, 0xc8, 0xa0, 0xe8, 0x04, 0xd7, 0xe1, 0x3f, 0x7d, 0x62, 0x99, 0x04, 0x29, 0x79, + 0x79, 0x3c, 0x35, 0x0d, 0xe2, 0xa0, 0x4a, 0xfe, 0x30, 0x33, 0xc3, 0xa0, 0xa8, 0x8a, 0x1b, 0x70, + 0x66, 0xd3, 0x89, 0x41, 0x0d, 0x8a, 0x6a, 0xea, 0x77, 0x05, 0x3a, 0xd6, 0x7c, 0x56, 0x66, 0x49, + 0x33, 0x3d, 0x14, 0x61, 0x16, 0xf0, 0x34, 0xc3, 0x8f, 0xd0, 0x76, 0x77, 0x60, 0x99, 0x66, 0x11, + 0x7b, 0x19, 0xa7, 0x4f, 0x52, 0xb8, 0x3f, 0x54, 0xaf, 0x16, 0x8b, 0xd8, 0x2d, 0x57, 0x86, 0xea, + 0x67, 0xe8, 0xfe, 0x8d, 0x9a, 0xe7, 0x23, 0xb6, 0x65, 0x12, 0x7d, 0x8a, 0x4e, 0x0e, 0x03, 0x62, + 0x2f, 0xe6, 0x48, 0x51, 0x4d, 0xb8, 0x18, 0x8b, 0x60, 0xc5, 0x43, 0xb6, 0x3e, 0xec, 0xc0, 0x47, + 0x80, 0xfd, 0x48, 0x26, 0x5d, 0xa5, 0x57, 0xed, 0x37, 0x86, 0x9d, 0xd7, 0xa6, 0x9e, 0x4a, 0xbc, + 0xd1, 0x1c, 0xde, 0x89, 0x78, 0xab, 0x3d, 0x65, 0x11, 0x8b, 0x7d, 0xb6, 0xde, 0xb2, 0x58, 0xdb, + 0xb8, 0xab, 0x98, 0x7b, 0xe5, 0xca, 0x25, 0x2f, 0x06, 0x0f, 0x1f, 0xb6, 0x3c, 0x7d, 0x7a, 0x5e, + 0xe5, 0x70, 0x20, 0x91, 0x07, 0x25, 0xf9, 0xa6, 0x24, 0xdf, 0x6c, 0x45, 0xbe, 0xb7, 0xab, 0xd3, + 0x02, 0xde, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x94, 0x15, 0xa2, 0xc9, 0x03, 0x00, 0x00, +} diff --git a/orderer/ab.pb.go b/orderer/ab.pb.go new file mode 100644 index 0000000..94f22fb --- /dev/null +++ b/orderer/ab.pb.go @@ -0,0 +1,718 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: orderer/ab.proto + +package orderer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// If BLOCK_UNTIL_READY is specified, the reply will block until the requested blocks are available, +// if FAIL_IF_NOT_READY is specified, the reply will return an error indicating that the block is not +// found. To request that all blocks be returned indefinitely as they are created, behavior should be +// set to BLOCK_UNTIL_READY and the stop should be set to specified with a number of MAX_UINT64 +type SeekInfo_SeekBehavior int32 + +const ( + SeekInfo_BLOCK_UNTIL_READY SeekInfo_SeekBehavior = 0 + SeekInfo_FAIL_IF_NOT_READY SeekInfo_SeekBehavior = 1 +) + +var SeekInfo_SeekBehavior_name = map[int32]string{ + 0: "BLOCK_UNTIL_READY", + 1: "FAIL_IF_NOT_READY", +} + +var SeekInfo_SeekBehavior_value = map[string]int32{ + "BLOCK_UNTIL_READY": 0, + "FAIL_IF_NOT_READY": 1, +} + +func (x SeekInfo_SeekBehavior) String() string { + return proto.EnumName(SeekInfo_SeekBehavior_name, int32(x)) +} + +func (SeekInfo_SeekBehavior) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{5, 0} +} + +// SeekErrorTolerance indicates to the server how block provider errors should be tolerated. By default, +// if the deliver service detects a problem in the underlying block source (typically, in the orderer, +// a consenter error), it will begin to reject deliver requests. This is to prevent a client from waiting +// for blocks from an orderer which is stuck in an errored state. This is almost always the desired behavior +// and clients should stick with the default STRICT checking behavior. However, in some scenarios, particularly +// when attempting to recover from a crash or other corruption, it's desirable to force an orderer to respond +// with blocks on a best effort basis, even if the backing consensus implementation is in an errored state. +// In this case, set the SeekErrorResponse to BEST_EFFORT to ignore the consenter errors. +type SeekInfo_SeekErrorResponse int32 + +const ( + SeekInfo_STRICT SeekInfo_SeekErrorResponse = 0 + SeekInfo_BEST_EFFORT SeekInfo_SeekErrorResponse = 1 +) + +var SeekInfo_SeekErrorResponse_name = map[int32]string{ + 0: "STRICT", + 1: "BEST_EFFORT", +} + +var SeekInfo_SeekErrorResponse_value = map[string]int32{ + "STRICT": 0, + "BEST_EFFORT": 1, +} + +func (x SeekInfo_SeekErrorResponse) String() string { + return proto.EnumName(SeekInfo_SeekErrorResponse_name, int32(x)) +} + +func (SeekInfo_SeekErrorResponse) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{5, 1} +} + +type BroadcastResponse struct { + // Status code, which may be used to programatically respond to success/failure + Status common.Status `protobuf:"varint,1,opt,name=status,proto3,enum=common.Status" json:"status,omitempty"` + // Info string which may contain additional information about the status returned + Info string `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BroadcastResponse) Reset() { *m = BroadcastResponse{} } +func (m *BroadcastResponse) String() string { return proto.CompactTextString(m) } +func (*BroadcastResponse) ProtoMessage() {} +func (*BroadcastResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{0} +} + +func (m *BroadcastResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BroadcastResponse.Unmarshal(m, b) +} +func (m *BroadcastResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BroadcastResponse.Marshal(b, m, deterministic) +} +func (m *BroadcastResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_BroadcastResponse.Merge(m, src) +} +func (m *BroadcastResponse) XXX_Size() int { + return xxx_messageInfo_BroadcastResponse.Size(m) +} +func (m *BroadcastResponse) XXX_DiscardUnknown() { + xxx_messageInfo_BroadcastResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_BroadcastResponse proto.InternalMessageInfo + +func (m *BroadcastResponse) GetStatus() common.Status { + if m != nil { + return m.Status + } + return common.Status_UNKNOWN +} + +func (m *BroadcastResponse) GetInfo() string { + if m != nil { + return m.Info + } + return "" +} + +type SeekNewest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SeekNewest) Reset() { *m = SeekNewest{} } +func (m *SeekNewest) String() string { return proto.CompactTextString(m) } +func (*SeekNewest) ProtoMessage() {} +func (*SeekNewest) Descriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{1} +} + +func (m *SeekNewest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SeekNewest.Unmarshal(m, b) +} +func (m *SeekNewest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SeekNewest.Marshal(b, m, deterministic) +} +func (m *SeekNewest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SeekNewest.Merge(m, src) +} +func (m *SeekNewest) XXX_Size() int { + return xxx_messageInfo_SeekNewest.Size(m) +} +func (m *SeekNewest) XXX_DiscardUnknown() { + xxx_messageInfo_SeekNewest.DiscardUnknown(m) +} + +var xxx_messageInfo_SeekNewest proto.InternalMessageInfo + +type SeekOldest struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SeekOldest) Reset() { *m = SeekOldest{} } +func (m *SeekOldest) String() string { return proto.CompactTextString(m) } +func (*SeekOldest) ProtoMessage() {} +func (*SeekOldest) Descriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{2} +} + +func (m *SeekOldest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SeekOldest.Unmarshal(m, b) +} +func (m *SeekOldest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SeekOldest.Marshal(b, m, deterministic) +} +func (m *SeekOldest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SeekOldest.Merge(m, src) +} +func (m *SeekOldest) XXX_Size() int { + return xxx_messageInfo_SeekOldest.Size(m) +} +func (m *SeekOldest) XXX_DiscardUnknown() { + xxx_messageInfo_SeekOldest.DiscardUnknown(m) +} + +var xxx_messageInfo_SeekOldest proto.InternalMessageInfo + +type SeekSpecified struct { + Number uint64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SeekSpecified) Reset() { *m = SeekSpecified{} } +func (m *SeekSpecified) String() string { return proto.CompactTextString(m) } +func (*SeekSpecified) ProtoMessage() {} +func (*SeekSpecified) Descriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{3} +} + +func (m *SeekSpecified) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SeekSpecified.Unmarshal(m, b) +} +func (m *SeekSpecified) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SeekSpecified.Marshal(b, m, deterministic) +} +func (m *SeekSpecified) XXX_Merge(src proto.Message) { + xxx_messageInfo_SeekSpecified.Merge(m, src) +} +func (m *SeekSpecified) XXX_Size() int { + return xxx_messageInfo_SeekSpecified.Size(m) +} +func (m *SeekSpecified) XXX_DiscardUnknown() { + xxx_messageInfo_SeekSpecified.DiscardUnknown(m) +} + +var xxx_messageInfo_SeekSpecified proto.InternalMessageInfo + +func (m *SeekSpecified) GetNumber() uint64 { + if m != nil { + return m.Number + } + return 0 +} + +type SeekPosition struct { + // Types that are valid to be assigned to Type: + // *SeekPosition_Newest + // *SeekPosition_Oldest + // *SeekPosition_Specified + Type isSeekPosition_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SeekPosition) Reset() { *m = SeekPosition{} } +func (m *SeekPosition) String() string { return proto.CompactTextString(m) } +func (*SeekPosition) ProtoMessage() {} +func (*SeekPosition) Descriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{4} +} + +func (m *SeekPosition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SeekPosition.Unmarshal(m, b) +} +func (m *SeekPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SeekPosition.Marshal(b, m, deterministic) +} +func (m *SeekPosition) XXX_Merge(src proto.Message) { + xxx_messageInfo_SeekPosition.Merge(m, src) +} +func (m *SeekPosition) XXX_Size() int { + return xxx_messageInfo_SeekPosition.Size(m) +} +func (m *SeekPosition) XXX_DiscardUnknown() { + xxx_messageInfo_SeekPosition.DiscardUnknown(m) +} + +var xxx_messageInfo_SeekPosition proto.InternalMessageInfo + +type isSeekPosition_Type interface { + isSeekPosition_Type() +} + +type SeekPosition_Newest struct { + Newest *SeekNewest `protobuf:"bytes,1,opt,name=newest,proto3,oneof"` +} + +type SeekPosition_Oldest struct { + Oldest *SeekOldest `protobuf:"bytes,2,opt,name=oldest,proto3,oneof"` +} + +type SeekPosition_Specified struct { + Specified *SeekSpecified `protobuf:"bytes,3,opt,name=specified,proto3,oneof"` +} + +func (*SeekPosition_Newest) isSeekPosition_Type() {} + +func (*SeekPosition_Oldest) isSeekPosition_Type() {} + +func (*SeekPosition_Specified) isSeekPosition_Type() {} + +func (m *SeekPosition) GetType() isSeekPosition_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *SeekPosition) GetNewest() *SeekNewest { + if x, ok := m.GetType().(*SeekPosition_Newest); ok { + return x.Newest + } + return nil +} + +func (m *SeekPosition) GetOldest() *SeekOldest { + if x, ok := m.GetType().(*SeekPosition_Oldest); ok { + return x.Oldest + } + return nil +} + +func (m *SeekPosition) GetSpecified() *SeekSpecified { + if x, ok := m.GetType().(*SeekPosition_Specified); ok { + return x.Specified + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*SeekPosition) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*SeekPosition_Newest)(nil), + (*SeekPosition_Oldest)(nil), + (*SeekPosition_Specified)(nil), + } +} + +// SeekInfo specifies the range of requested blocks to return +// If the start position is not found, an error is immediately returned +// Otherwise, blocks are returned until a missing block is encountered, then behavior is dictated +// by the SeekBehavior specified. +type SeekInfo struct { + Start *SeekPosition `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` + Stop *SeekPosition `protobuf:"bytes,2,opt,name=stop,proto3" json:"stop,omitempty"` + Behavior SeekInfo_SeekBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=orderer.SeekInfo_SeekBehavior" json:"behavior,omitempty"` + ErrorResponse SeekInfo_SeekErrorResponse `protobuf:"varint,4,opt,name=error_response,json=errorResponse,proto3,enum=orderer.SeekInfo_SeekErrorResponse" json:"error_response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SeekInfo) Reset() { *m = SeekInfo{} } +func (m *SeekInfo) String() string { return proto.CompactTextString(m) } +func (*SeekInfo) ProtoMessage() {} +func (*SeekInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{5} +} + +func (m *SeekInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SeekInfo.Unmarshal(m, b) +} +func (m *SeekInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SeekInfo.Marshal(b, m, deterministic) +} +func (m *SeekInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_SeekInfo.Merge(m, src) +} +func (m *SeekInfo) XXX_Size() int { + return xxx_messageInfo_SeekInfo.Size(m) +} +func (m *SeekInfo) XXX_DiscardUnknown() { + xxx_messageInfo_SeekInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_SeekInfo proto.InternalMessageInfo + +func (m *SeekInfo) GetStart() *SeekPosition { + if m != nil { + return m.Start + } + return nil +} + +func (m *SeekInfo) GetStop() *SeekPosition { + if m != nil { + return m.Stop + } + return nil +} + +func (m *SeekInfo) GetBehavior() SeekInfo_SeekBehavior { + if m != nil { + return m.Behavior + } + return SeekInfo_BLOCK_UNTIL_READY +} + +func (m *SeekInfo) GetErrorResponse() SeekInfo_SeekErrorResponse { + if m != nil { + return m.ErrorResponse + } + return SeekInfo_STRICT +} + +type DeliverResponse struct { + // Types that are valid to be assigned to Type: + // *DeliverResponse_Status + // *DeliverResponse_Block + Type isDeliverResponse_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeliverResponse) Reset() { *m = DeliverResponse{} } +func (m *DeliverResponse) String() string { return proto.CompactTextString(m) } +func (*DeliverResponse) ProtoMessage() {} +func (*DeliverResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_79fce58dd8d86d62, []int{6} +} + +func (m *DeliverResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeliverResponse.Unmarshal(m, b) +} +func (m *DeliverResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeliverResponse.Marshal(b, m, deterministic) +} +func (m *DeliverResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeliverResponse.Merge(m, src) +} +func (m *DeliverResponse) XXX_Size() int { + return xxx_messageInfo_DeliverResponse.Size(m) +} +func (m *DeliverResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DeliverResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DeliverResponse proto.InternalMessageInfo + +type isDeliverResponse_Type interface { + isDeliverResponse_Type() +} + +type DeliverResponse_Status struct { + Status common.Status `protobuf:"varint,1,opt,name=status,proto3,enum=common.Status,oneof"` +} + +type DeliverResponse_Block struct { + Block *common.Block `protobuf:"bytes,2,opt,name=block,proto3,oneof"` +} + +func (*DeliverResponse_Status) isDeliverResponse_Type() {} + +func (*DeliverResponse_Block) isDeliverResponse_Type() {} + +func (m *DeliverResponse) GetType() isDeliverResponse_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *DeliverResponse) GetStatus() common.Status { + if x, ok := m.GetType().(*DeliverResponse_Status); ok { + return x.Status + } + return common.Status_UNKNOWN +} + +func (m *DeliverResponse) GetBlock() *common.Block { + if x, ok := m.GetType().(*DeliverResponse_Block); ok { + return x.Block + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*DeliverResponse) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*DeliverResponse_Status)(nil), + (*DeliverResponse_Block)(nil), + } +} + +func init() { + proto.RegisterEnum("orderer.SeekInfo_SeekBehavior", SeekInfo_SeekBehavior_name, SeekInfo_SeekBehavior_value) + proto.RegisterEnum("orderer.SeekInfo_SeekErrorResponse", SeekInfo_SeekErrorResponse_name, SeekInfo_SeekErrorResponse_value) + proto.RegisterType((*BroadcastResponse)(nil), "orderer.BroadcastResponse") + proto.RegisterType((*SeekNewest)(nil), "orderer.SeekNewest") + proto.RegisterType((*SeekOldest)(nil), "orderer.SeekOldest") + proto.RegisterType((*SeekSpecified)(nil), "orderer.SeekSpecified") + proto.RegisterType((*SeekPosition)(nil), "orderer.SeekPosition") + proto.RegisterType((*SeekInfo)(nil), "orderer.SeekInfo") + proto.RegisterType((*DeliverResponse)(nil), "orderer.DeliverResponse") +} + +func init() { proto.RegisterFile("orderer/ab.proto", fileDescriptor_79fce58dd8d86d62) } + +var fileDescriptor_79fce58dd8d86d62 = []byte{ + // 561 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xdf, 0x6e, 0xda, 0x30, + 0x14, 0xc6, 0x49, 0x47, 0xd3, 0x72, 0x5a, 0xfe, 0xb9, 0x6a, 0x85, 0xb8, 0x98, 0xaa, 0x4c, 0xdd, + 0x98, 0x26, 0x92, 0x8a, 0x49, 0x93, 0x36, 0x6d, 0x17, 0xa4, 0x05, 0xc1, 0x86, 0x60, 0x32, 0x99, + 0xb4, 0xed, 0x26, 0x4a, 0x82, 0x81, 0xac, 0x10, 0x47, 0x76, 0x60, 0xea, 0x33, 0xec, 0x55, 0xf6, + 0x44, 0x7b, 0x9a, 0xc9, 0x8e, 0x03, 0xa5, 0xed, 0x76, 0x95, 0x9c, 0xe3, 0xdf, 0x77, 0xce, 0x67, + 0x1f, 0x1b, 0x2a, 0x94, 0x4d, 0x08, 0x23, 0xcc, 0xf2, 0x7c, 0x33, 0x66, 0x34, 0xa1, 0xe8, 0x40, + 0x65, 0xea, 0x27, 0x01, 0x5d, 0x2e, 0x69, 0x64, 0xa5, 0x9f, 0x74, 0xd5, 0x18, 0x41, 0xd5, 0x66, + 0xd4, 0x9b, 0x04, 0x1e, 0x4f, 0x30, 0xe1, 0x31, 0x8d, 0x38, 0x41, 0xcf, 0x41, 0xe7, 0x89, 0x97, + 0xac, 0x78, 0x4d, 0x3b, 0xd7, 0x1a, 0xa5, 0x56, 0xc9, 0x54, 0x9a, 0xb1, 0xcc, 0x62, 0xb5, 0x8a, + 0x10, 0xe4, 0xc3, 0x68, 0x4a, 0x6b, 0x7b, 0xe7, 0x5a, 0xa3, 0x80, 0xe5, 0xbf, 0x71, 0x0c, 0x30, + 0x26, 0xe4, 0x66, 0x48, 0x7e, 0x12, 0x9e, 0x64, 0xd1, 0x68, 0x31, 0x11, 0xd1, 0x0b, 0x28, 0x8a, + 0x68, 0x1c, 0x93, 0x20, 0x9c, 0x86, 0x64, 0x82, 0xce, 0x40, 0x8f, 0x56, 0x4b, 0x9f, 0x30, 0xd9, + 0x28, 0x8f, 0x55, 0x64, 0xfc, 0xd6, 0xe0, 0x58, 0x90, 0x9f, 0x29, 0x0f, 0x93, 0x90, 0x46, 0xa8, + 0x09, 0x7a, 0x24, 0x2b, 0x4a, 0xf0, 0xa8, 0x75, 0x62, 0xaa, 0x5d, 0x99, 0xdb, 0x66, 0xbd, 0x1c, + 0x56, 0x90, 0xc0, 0xa9, 0x6c, 0x29, 0xad, 0xdd, 0xc7, 0x53, 0x37, 0x02, 0x4f, 0x21, 0xf4, 0x06, + 0x0a, 0x3c, 0xf3, 0x54, 0x7b, 0x22, 0x15, 0x67, 0x3b, 0x8a, 0x8d, 0xe3, 0x5e, 0x0e, 0x6f, 0x51, + 0x5b, 0x87, 0xbc, 0x73, 0x1b, 0x13, 0xe3, 0xcf, 0x1e, 0x1c, 0x0a, 0xac, 0x1f, 0x4d, 0x29, 0x7a, + 0x05, 0xfb, 0x3c, 0xf1, 0x58, 0xe6, 0xf4, 0x74, 0xa7, 0x50, 0xb6, 0x21, 0x9c, 0x32, 0xe8, 0x25, + 0xe4, 0x79, 0x42, 0x63, 0x65, 0xf3, 0x1f, 0xac, 0x44, 0xd0, 0x3b, 0x38, 0xf4, 0xc9, 0xdc, 0x5b, + 0x87, 0x94, 0x49, 0x8f, 0xa5, 0xd6, 0xd3, 0x1d, 0x5c, 0x34, 0x97, 0x3f, 0xb6, 0xa2, 0xf0, 0x86, + 0x47, 0x1f, 0xa1, 0x44, 0x18, 0xa3, 0xcc, 0x65, 0x6a, 0xc4, 0xb5, 0xbc, 0xac, 0xf0, 0xec, 0xf1, + 0x0a, 0x1d, 0xc1, 0x66, 0xb7, 0x01, 0x17, 0xc9, 0xdd, 0xd0, 0x78, 0x9f, 0x8e, 0x26, 0xeb, 0x82, + 0x4e, 0xa1, 0x6a, 0x0f, 0x46, 0x57, 0x9f, 0xdc, 0x2f, 0x43, 0xa7, 0x3f, 0x70, 0x71, 0xa7, 0x7d, + 0xfd, 0xad, 0x92, 0x13, 0xe9, 0x6e, 0xbb, 0x3f, 0x70, 0xfb, 0x5d, 0x77, 0x38, 0x72, 0x54, 0x5a, + 0x33, 0x2e, 0xa1, 0xfa, 0xa0, 0x03, 0x02, 0xd0, 0xc7, 0x0e, 0xee, 0x5f, 0x39, 0x95, 0x1c, 0x2a, + 0xc3, 0x91, 0xdd, 0x19, 0x3b, 0x6e, 0xa7, 0xdb, 0x1d, 0x61, 0xa7, 0xa2, 0x19, 0x3f, 0xa0, 0x7c, + 0x4d, 0x16, 0xe1, 0x9a, 0x6c, 0xf9, 0xc6, 0xff, 0xef, 0xa7, 0x98, 0xac, 0xba, 0xa1, 0x17, 0xb0, + 0xef, 0x2f, 0x68, 0x70, 0xa3, 0x0e, 0xb8, 0x98, 0x81, 0xb6, 0x48, 0xf6, 0x72, 0x38, 0x5d, 0xcd, + 0x06, 0xd9, 0xfa, 0xa5, 0x41, 0xb9, 0x9d, 0xd0, 0x65, 0x18, 0x6c, 0x1e, 0x05, 0xfa, 0x00, 0x85, + 0x6d, 0x50, 0xc9, 0x0a, 0x74, 0xa2, 0x35, 0x59, 0xd0, 0x98, 0xd4, 0xeb, 0x9b, 0x23, 0x7c, 0xf0, + 0x8e, 0x1a, 0xda, 0xa5, 0x86, 0xde, 0xc2, 0x81, 0xb2, 0xff, 0x88, 0xb8, 0xb6, 0x11, 0xdf, 0xdb, + 0xa2, 0x90, 0xda, 0x5f, 0xe1, 0x82, 0xb2, 0x99, 0x39, 0xbf, 0x8d, 0x09, 0x5b, 0x90, 0xc9, 0x8c, + 0x30, 0x73, 0xea, 0xf9, 0x2c, 0x0c, 0xd2, 0xb7, 0xcb, 0x33, 0xf1, 0x77, 0x6b, 0x16, 0x26, 0xf3, + 0x95, 0x2f, 0xca, 0x5b, 0x77, 0x68, 0x2b, 0xa5, 0x9b, 0x29, 0xdd, 0x9c, 0x51, 0x4b, 0x09, 0x7c, + 0x5d, 0xa6, 0x5e, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x96, 0x01, 0x9a, 0x68, 0x2e, 0x04, 0x00, + 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// AtomicBroadcastClient is the client API for AtomicBroadcast service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type AtomicBroadcastClient interface { + // broadcast receives a reply of Acknowledgement for each common.Envelope in order, indicating success or type of failure + Broadcast(ctx context.Context, opts ...grpc.CallOption) (AtomicBroadcast_BroadcastClient, error) + // deliver first requires an Envelope of type DELIVER_SEEK_INFO with Payload data as a mashaled SeekInfo message, then a stream of block replies is received. + Deliver(ctx context.Context, opts ...grpc.CallOption) (AtomicBroadcast_DeliverClient, error) +} + +type atomicBroadcastClient struct { + cc *grpc.ClientConn +} + +func NewAtomicBroadcastClient(cc *grpc.ClientConn) AtomicBroadcastClient { + return &atomicBroadcastClient{cc} +} + +func (c *atomicBroadcastClient) Broadcast(ctx context.Context, opts ...grpc.CallOption) (AtomicBroadcast_BroadcastClient, error) { + stream, err := c.cc.NewStream(ctx, &_AtomicBroadcast_serviceDesc.Streams[0], "/orderer.AtomicBroadcast/Broadcast", opts...) + if err != nil { + return nil, err + } + x := &atomicBroadcastBroadcastClient{stream} + return x, nil +} + +type AtomicBroadcast_BroadcastClient interface { + Send(*common.Envelope) error + Recv() (*BroadcastResponse, error) + grpc.ClientStream +} + +type atomicBroadcastBroadcastClient struct { + grpc.ClientStream +} + +func (x *atomicBroadcastBroadcastClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *atomicBroadcastBroadcastClient) Recv() (*BroadcastResponse, error) { + m := new(BroadcastResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *atomicBroadcastClient) Deliver(ctx context.Context, opts ...grpc.CallOption) (AtomicBroadcast_DeliverClient, error) { + stream, err := c.cc.NewStream(ctx, &_AtomicBroadcast_serviceDesc.Streams[1], "/orderer.AtomicBroadcast/Deliver", opts...) + if err != nil { + return nil, err + } + x := &atomicBroadcastDeliverClient{stream} + return x, nil +} + +type AtomicBroadcast_DeliverClient interface { + Send(*common.Envelope) error + Recv() (*DeliverResponse, error) + grpc.ClientStream +} + +type atomicBroadcastDeliverClient struct { + grpc.ClientStream +} + +func (x *atomicBroadcastDeliverClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *atomicBroadcastDeliverClient) Recv() (*DeliverResponse, error) { + m := new(DeliverResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// AtomicBroadcastServer is the server API for AtomicBroadcast service. +type AtomicBroadcastServer interface { + // broadcast receives a reply of Acknowledgement for each common.Envelope in order, indicating success or type of failure + Broadcast(AtomicBroadcast_BroadcastServer) error + // deliver first requires an Envelope of type DELIVER_SEEK_INFO with Payload data as a mashaled SeekInfo message, then a stream of block replies is received. + Deliver(AtomicBroadcast_DeliverServer) error +} + +// UnimplementedAtomicBroadcastServer can be embedded to have forward compatible implementations. +type UnimplementedAtomicBroadcastServer struct { +} + +func (*UnimplementedAtomicBroadcastServer) Broadcast(srv AtomicBroadcast_BroadcastServer) error { + return status.Errorf(codes.Unimplemented, "method Broadcast not implemented") +} +func (*UnimplementedAtomicBroadcastServer) Deliver(srv AtomicBroadcast_DeliverServer) error { + return status.Errorf(codes.Unimplemented, "method Deliver not implemented") +} + +func RegisterAtomicBroadcastServer(s *grpc.Server, srv AtomicBroadcastServer) { + s.RegisterService(&_AtomicBroadcast_serviceDesc, srv) +} + +func _AtomicBroadcast_Broadcast_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(AtomicBroadcastServer).Broadcast(&atomicBroadcastBroadcastServer{stream}) +} + +type AtomicBroadcast_BroadcastServer interface { + Send(*BroadcastResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type atomicBroadcastBroadcastServer struct { + grpc.ServerStream +} + +func (x *atomicBroadcastBroadcastServer) Send(m *BroadcastResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *atomicBroadcastBroadcastServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _AtomicBroadcast_Deliver_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(AtomicBroadcastServer).Deliver(&atomicBroadcastDeliverServer{stream}) +} + +type AtomicBroadcast_DeliverServer interface { + Send(*DeliverResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type atomicBroadcastDeliverServer struct { + grpc.ServerStream +} + +func (x *atomicBroadcastDeliverServer) Send(m *DeliverResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *atomicBroadcastDeliverServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _AtomicBroadcast_serviceDesc = grpc.ServiceDesc{ + ServiceName: "orderer.AtomicBroadcast", + HandlerType: (*AtomicBroadcastServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Broadcast", + Handler: _AtomicBroadcast_Broadcast_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "Deliver", + Handler: _AtomicBroadcast_Deliver_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "orderer/ab.proto", +} diff --git a/orderer/cluster.pb.go b/orderer/cluster.pb.go new file mode 100644 index 0000000..398c2b6 --- /dev/null +++ b/orderer/cluster.pb.go @@ -0,0 +1,504 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: orderer/cluster.proto + +package orderer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// StepRequest wraps a message that is sent to a cluster member. +type StepRequest struct { + // Types that are valid to be assigned to Payload: + // *StepRequest_ConsensusRequest + // *StepRequest_SubmitRequest + Payload isStepRequest_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StepRequest) Reset() { *m = StepRequest{} } +func (m *StepRequest) String() string { return proto.CompactTextString(m) } +func (*StepRequest) ProtoMessage() {} +func (*StepRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e3b50707fd3a71f2, []int{0} +} + +func (m *StepRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StepRequest.Unmarshal(m, b) +} +func (m *StepRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StepRequest.Marshal(b, m, deterministic) +} +func (m *StepRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_StepRequest.Merge(m, src) +} +func (m *StepRequest) XXX_Size() int { + return xxx_messageInfo_StepRequest.Size(m) +} +func (m *StepRequest) XXX_DiscardUnknown() { + xxx_messageInfo_StepRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_StepRequest proto.InternalMessageInfo + +type isStepRequest_Payload interface { + isStepRequest_Payload() +} + +type StepRequest_ConsensusRequest struct { + ConsensusRequest *ConsensusRequest `protobuf:"bytes,1,opt,name=consensus_request,json=consensusRequest,proto3,oneof"` +} + +type StepRequest_SubmitRequest struct { + SubmitRequest *SubmitRequest `protobuf:"bytes,2,opt,name=submit_request,json=submitRequest,proto3,oneof"` +} + +func (*StepRequest_ConsensusRequest) isStepRequest_Payload() {} + +func (*StepRequest_SubmitRequest) isStepRequest_Payload() {} + +func (m *StepRequest) GetPayload() isStepRequest_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *StepRequest) GetConsensusRequest() *ConsensusRequest { + if x, ok := m.GetPayload().(*StepRequest_ConsensusRequest); ok { + return x.ConsensusRequest + } + return nil +} + +func (m *StepRequest) GetSubmitRequest() *SubmitRequest { + if x, ok := m.GetPayload().(*StepRequest_SubmitRequest); ok { + return x.SubmitRequest + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*StepRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*StepRequest_ConsensusRequest)(nil), + (*StepRequest_SubmitRequest)(nil), + } +} + +// StepResponse is a message received from a cluster member. +type StepResponse struct { + // Types that are valid to be assigned to Payload: + // *StepResponse_SubmitRes + Payload isStepResponse_Payload `protobuf_oneof:"payload"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StepResponse) Reset() { *m = StepResponse{} } +func (m *StepResponse) String() string { return proto.CompactTextString(m) } +func (*StepResponse) ProtoMessage() {} +func (*StepResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e3b50707fd3a71f2, []int{1} +} + +func (m *StepResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StepResponse.Unmarshal(m, b) +} +func (m *StepResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StepResponse.Marshal(b, m, deterministic) +} +func (m *StepResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_StepResponse.Merge(m, src) +} +func (m *StepResponse) XXX_Size() int { + return xxx_messageInfo_StepResponse.Size(m) +} +func (m *StepResponse) XXX_DiscardUnknown() { + xxx_messageInfo_StepResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_StepResponse proto.InternalMessageInfo + +type isStepResponse_Payload interface { + isStepResponse_Payload() +} + +type StepResponse_SubmitRes struct { + SubmitRes *SubmitResponse `protobuf:"bytes,1,opt,name=submit_res,json=submitRes,proto3,oneof"` +} + +func (*StepResponse_SubmitRes) isStepResponse_Payload() {} + +func (m *StepResponse) GetPayload() isStepResponse_Payload { + if m != nil { + return m.Payload + } + return nil +} + +func (m *StepResponse) GetSubmitRes() *SubmitResponse { + if x, ok := m.GetPayload().(*StepResponse_SubmitRes); ok { + return x.SubmitRes + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*StepResponse) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*StepResponse_SubmitRes)(nil), + } +} + +// ConsensusRequest is a consensus specific message sent to a cluster member. +type ConsensusRequest struct { + Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Metadata []byte `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConsensusRequest) Reset() { *m = ConsensusRequest{} } +func (m *ConsensusRequest) String() string { return proto.CompactTextString(m) } +func (*ConsensusRequest) ProtoMessage() {} +func (*ConsensusRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e3b50707fd3a71f2, []int{2} +} + +func (m *ConsensusRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConsensusRequest.Unmarshal(m, b) +} +func (m *ConsensusRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConsensusRequest.Marshal(b, m, deterministic) +} +func (m *ConsensusRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConsensusRequest.Merge(m, src) +} +func (m *ConsensusRequest) XXX_Size() int { + return xxx_messageInfo_ConsensusRequest.Size(m) +} +func (m *ConsensusRequest) XXX_DiscardUnknown() { + xxx_messageInfo_ConsensusRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_ConsensusRequest proto.InternalMessageInfo + +func (m *ConsensusRequest) GetChannel() string { + if m != nil { + return m.Channel + } + return "" +} + +func (m *ConsensusRequest) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *ConsensusRequest) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// SubmitRequest wraps a transaction to be sent for ordering. +type SubmitRequest struct { + Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` + // last_validation_seq denotes the last + // configuration sequence at which the + // sender validated this message. + LastValidationSeq uint64 `protobuf:"varint,2,opt,name=last_validation_seq,json=lastValidationSeq,proto3" json:"last_validation_seq,omitempty"` + // content is the fabric transaction + // that is forwarded to the cluster member. + Payload *common.Envelope `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubmitRequest) Reset() { *m = SubmitRequest{} } +func (m *SubmitRequest) String() string { return proto.CompactTextString(m) } +func (*SubmitRequest) ProtoMessage() {} +func (*SubmitRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_e3b50707fd3a71f2, []int{3} +} + +func (m *SubmitRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubmitRequest.Unmarshal(m, b) +} +func (m *SubmitRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubmitRequest.Marshal(b, m, deterministic) +} +func (m *SubmitRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubmitRequest.Merge(m, src) +} +func (m *SubmitRequest) XXX_Size() int { + return xxx_messageInfo_SubmitRequest.Size(m) +} +func (m *SubmitRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubmitRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubmitRequest proto.InternalMessageInfo + +func (m *SubmitRequest) GetChannel() string { + if m != nil { + return m.Channel + } + return "" +} + +func (m *SubmitRequest) GetLastValidationSeq() uint64 { + if m != nil { + return m.LastValidationSeq + } + return 0 +} + +func (m *SubmitRequest) GetPayload() *common.Envelope { + if m != nil { + return m.Payload + } + return nil +} + +// SubmitResponse returns a success +// or failure status to the sender. +type SubmitResponse struct { + Channel string `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` + // Status code, which may be used to programatically respond to success/failure. + Status common.Status `protobuf:"varint,2,opt,name=status,proto3,enum=common.Status" json:"status,omitempty"` + // Info string which may contain additional information about the returned status. + Info string `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubmitResponse) Reset() { *m = SubmitResponse{} } +func (m *SubmitResponse) String() string { return proto.CompactTextString(m) } +func (*SubmitResponse) ProtoMessage() {} +func (*SubmitResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e3b50707fd3a71f2, []int{4} +} + +func (m *SubmitResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubmitResponse.Unmarshal(m, b) +} +func (m *SubmitResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubmitResponse.Marshal(b, m, deterministic) +} +func (m *SubmitResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubmitResponse.Merge(m, src) +} +func (m *SubmitResponse) XXX_Size() int { + return xxx_messageInfo_SubmitResponse.Size(m) +} +func (m *SubmitResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubmitResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubmitResponse proto.InternalMessageInfo + +func (m *SubmitResponse) GetChannel() string { + if m != nil { + return m.Channel + } + return "" +} + +func (m *SubmitResponse) GetStatus() common.Status { + if m != nil { + return m.Status + } + return common.Status_UNKNOWN +} + +func (m *SubmitResponse) GetInfo() string { + if m != nil { + return m.Info + } + return "" +} + +func init() { + proto.RegisterType((*StepRequest)(nil), "orderer.StepRequest") + proto.RegisterType((*StepResponse)(nil), "orderer.StepResponse") + proto.RegisterType((*ConsensusRequest)(nil), "orderer.ConsensusRequest") + proto.RegisterType((*SubmitRequest)(nil), "orderer.SubmitRequest") + proto.RegisterType((*SubmitResponse)(nil), "orderer.SubmitResponse") +} + +func init() { proto.RegisterFile("orderer/cluster.proto", fileDescriptor_e3b50707fd3a71f2) } + +var fileDescriptor_e3b50707fd3a71f2 = []byte{ + // 418 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xc1, 0x6a, 0xdb, 0x40, + 0x10, 0x8d, 0x1a, 0x13, 0x57, 0x93, 0x44, 0x38, 0x9b, 0xa6, 0x75, 0x7d, 0x2a, 0x82, 0x96, 0x50, + 0x88, 0x54, 0xdc, 0x43, 0x7b, 0x2b, 0x38, 0x14, 0x7c, 0x5e, 0x41, 0x29, 0xbd, 0x98, 0x95, 0x34, + 0x96, 0x05, 0xd2, 0xae, 0xbc, 0xbb, 0x0a, 0xe4, 0x03, 0xfa, 0x25, 0xfd, 0xd1, 0xa2, 0xdd, 0x95, + 0xe4, 0x38, 0x90, 0x93, 0x34, 0xef, 0xcd, 0xbc, 0x79, 0xb3, 0x33, 0x70, 0x23, 0x64, 0x8e, 0x12, + 0x65, 0x9c, 0x55, 0xad, 0xd2, 0x28, 0xa3, 0x46, 0x0a, 0x2d, 0xc8, 0xd4, 0xc1, 0x8b, 0xeb, 0x4c, + 0xd4, 0xb5, 0xe0, 0xb1, 0xfd, 0x58, 0x36, 0xfc, 0xe7, 0xc1, 0x79, 0xa2, 0xb1, 0xa1, 0xb8, 0x6f, + 0x51, 0x69, 0xb2, 0x86, 0xab, 0x4c, 0x70, 0x85, 0x5c, 0xb5, 0x6a, 0x23, 0x2d, 0x38, 0xf7, 0x3e, + 0x78, 0xb7, 0xe7, 0xcb, 0xf7, 0x91, 0x53, 0x8a, 0xee, 0xfb, 0x0c, 0x57, 0xb5, 0x3e, 0xa1, 0xb3, + 0xec, 0x08, 0x23, 0x3f, 0x20, 0x50, 0x6d, 0x5a, 0x97, 0x7a, 0x90, 0x79, 0x65, 0x64, 0xde, 0x0e, + 0x32, 0x89, 0xa1, 0x47, 0x8d, 0x4b, 0x75, 0x08, 0xac, 0x7c, 0x98, 0x36, 0xec, 0xb1, 0x12, 0x2c, + 0x0f, 0x13, 0xb8, 0xb0, 0x26, 0x55, 0xd3, 0xb5, 0x21, 0xdf, 0x01, 0x06, 0x6d, 0xe5, 0xec, 0xbd, + 0x7b, 0xa6, 0x6b, 0x93, 0xd7, 0x27, 0xd4, 0xef, 0x85, 0xd5, 0xa1, 0x68, 0x0a, 0xb3, 0xe3, 0x41, + 0xc8, 0x1c, 0xa6, 0xd9, 0x8e, 0x71, 0x8e, 0x95, 0x51, 0xf5, 0x69, 0x1f, 0x76, 0x8c, 0x2b, 0x34, + 0x73, 0x5c, 0xd0, 0x3e, 0x24, 0x0b, 0x78, 0x5d, 0xa3, 0x66, 0x39, 0xd3, 0x6c, 0x7e, 0x6a, 0xa8, + 0x21, 0x0e, 0xff, 0x7a, 0x70, 0xf9, 0x64, 0xcc, 0x17, 0x3a, 0x44, 0x70, 0x5d, 0x31, 0xa5, 0x37, + 0x0f, 0xac, 0x2a, 0x73, 0xa6, 0x4b, 0xc1, 0x37, 0x0a, 0xf7, 0xa6, 0xdb, 0x84, 0x5e, 0x75, 0xd4, + 0xaf, 0x81, 0x49, 0x70, 0x4f, 0x3e, 0x8f, 0x8e, 0x4e, 0xcd, 0x0b, 0xcc, 0x22, 0xb7, 0xda, 0x9f, + 0xfc, 0x01, 0x2b, 0xd1, 0xe0, 0xe0, 0x31, 0xdc, 0x42, 0xf0, 0xf4, 0x55, 0x5e, 0xf0, 0xf1, 0x09, + 0xce, 0x94, 0x66, 0xba, 0x55, 0xa6, 0x75, 0xb0, 0x0c, 0x7a, 0xd9, 0xc4, 0xa0, 0xd4, 0xb1, 0x84, + 0xc0, 0xa4, 0xe4, 0x5b, 0x61, 0x9a, 0xfb, 0xd4, 0xfc, 0x2f, 0x57, 0x30, 0xbd, 0xb7, 0xd7, 0x47, + 0xbe, 0xc1, 0xa4, 0xdb, 0x19, 0x79, 0x33, 0xee, 0x65, 0xbc, 0xb3, 0xc5, 0xcd, 0x11, 0x6a, 0x5d, + 0xdd, 0x7a, 0x5f, 0xbc, 0xd5, 0x6f, 0xf8, 0x28, 0x64, 0x11, 0xed, 0x1e, 0x1b, 0x94, 0x15, 0xe6, + 0x05, 0xca, 0x68, 0xcb, 0x52, 0x59, 0x66, 0xf6, 0x64, 0x55, 0x5f, 0xf9, 0x27, 0x2e, 0x4a, 0xbd, + 0x6b, 0xd3, 0xce, 0x5e, 0x7c, 0x90, 0x1d, 0xdb, 0xec, 0x3b, 0x9b, 0x7d, 0x57, 0x88, 0xd8, 0x15, + 0xa4, 0x67, 0x06, 0xfa, 0xfa, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xe2, 0xed, 0x23, 0xd0, 0x2a, 0x03, + 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// ClusterClient is the client API for Cluster service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ClusterClient interface { + // Step passes an implementation-specific message to another cluster member. + Step(ctx context.Context, opts ...grpc.CallOption) (Cluster_StepClient, error) +} + +type clusterClient struct { + cc *grpc.ClientConn +} + +func NewClusterClient(cc *grpc.ClientConn) ClusterClient { + return &clusterClient{cc} +} + +func (c *clusterClient) Step(ctx context.Context, opts ...grpc.CallOption) (Cluster_StepClient, error) { + stream, err := c.cc.NewStream(ctx, &_Cluster_serviceDesc.Streams[0], "/orderer.Cluster/Step", opts...) + if err != nil { + return nil, err + } + x := &clusterStepClient{stream} + return x, nil +} + +type Cluster_StepClient interface { + Send(*StepRequest) error + Recv() (*StepResponse, error) + grpc.ClientStream +} + +type clusterStepClient struct { + grpc.ClientStream +} + +func (x *clusterStepClient) Send(m *StepRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *clusterStepClient) Recv() (*StepResponse, error) { + m := new(StepResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// ClusterServer is the server API for Cluster service. +type ClusterServer interface { + // Step passes an implementation-specific message to another cluster member. + Step(Cluster_StepServer) error +} + +// UnimplementedClusterServer can be embedded to have forward compatible implementations. +type UnimplementedClusterServer struct { +} + +func (*UnimplementedClusterServer) Step(srv Cluster_StepServer) error { + return status.Errorf(codes.Unimplemented, "method Step not implemented") +} + +func RegisterClusterServer(s *grpc.Server, srv ClusterServer) { + s.RegisterService(&_Cluster_serviceDesc, srv) +} + +func _Cluster_Step_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ClusterServer).Step(&clusterStepServer{stream}) +} + +type Cluster_StepServer interface { + Send(*StepResponse) error + Recv() (*StepRequest, error) + grpc.ServerStream +} + +type clusterStepServer struct { + grpc.ServerStream +} + +func (x *clusterStepServer) Send(m *StepResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *clusterStepServer) Recv() (*StepRequest, error) { + m := new(StepRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _Cluster_serviceDesc = grpc.ServiceDesc{ + ServiceName: "orderer.Cluster", + HandlerType: (*ClusterServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Step", + Handler: _Cluster_Step_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "orderer/cluster.proto", +} diff --git a/orderer/configuration.pb.go b/orderer/configuration.pb.go new file mode 100644 index 0000000..de5fa94 --- /dev/null +++ b/orderer/configuration.pb.go @@ -0,0 +1,333 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: orderer/configuration.proto + +package orderer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// State defines the orderer mode of operation, typically for consensus-type migration. +// NORMAL is during normal operation, when consensus-type migration is not, and can not, take place. +// MAINTENANCE is when the consensus-type can be changed. +type ConsensusType_State int32 + +const ( + ConsensusType_STATE_NORMAL ConsensusType_State = 0 + ConsensusType_STATE_MAINTENANCE ConsensusType_State = 1 +) + +var ConsensusType_State_name = map[int32]string{ + 0: "STATE_NORMAL", + 1: "STATE_MAINTENANCE", +} + +var ConsensusType_State_value = map[string]int32{ + "STATE_NORMAL": 0, + "STATE_MAINTENANCE": 1, +} + +func (x ConsensusType_State) String() string { + return proto.EnumName(ConsensusType_State_name, int32(x)) +} + +func (ConsensusType_State) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_bcce68f21316dd30, []int{0, 0} +} + +type ConsensusType struct { + // The consensus type: "solo", "kafka" or "etcdraft". + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Opaque metadata, dependent on the consensus type. + Metadata []byte `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The state signals the ordering service to go into maintenance mode, typically for consensus-type migration. + State ConsensusType_State `protobuf:"varint,3,opt,name=state,proto3,enum=orderer.ConsensusType_State" json:"state,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConsensusType) Reset() { *m = ConsensusType{} } +func (m *ConsensusType) String() string { return proto.CompactTextString(m) } +func (*ConsensusType) ProtoMessage() {} +func (*ConsensusType) Descriptor() ([]byte, []int) { + return fileDescriptor_bcce68f21316dd30, []int{0} +} + +func (m *ConsensusType) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConsensusType.Unmarshal(m, b) +} +func (m *ConsensusType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConsensusType.Marshal(b, m, deterministic) +} +func (m *ConsensusType) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConsensusType.Merge(m, src) +} +func (m *ConsensusType) XXX_Size() int { + return xxx_messageInfo_ConsensusType.Size(m) +} +func (m *ConsensusType) XXX_DiscardUnknown() { + xxx_messageInfo_ConsensusType.DiscardUnknown(m) +} + +var xxx_messageInfo_ConsensusType proto.InternalMessageInfo + +func (m *ConsensusType) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *ConsensusType) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +func (m *ConsensusType) GetState() ConsensusType_State { + if m != nil { + return m.State + } + return ConsensusType_STATE_NORMAL +} + +type BatchSize struct { + // Simply specified as number of messages for now, in the future + // we may want to allow this to be specified by size in bytes + MaxMessageCount uint32 `protobuf:"varint,1,opt,name=max_message_count,json=maxMessageCount,proto3" json:"max_message_count,omitempty"` + // The byte count of the serialized messages in a batch cannot + // exceed this value. + AbsoluteMaxBytes uint32 `protobuf:"varint,2,opt,name=absolute_max_bytes,json=absoluteMaxBytes,proto3" json:"absolute_max_bytes,omitempty"` + // The byte count of the serialized messages in a batch should not + // exceed this value. + PreferredMaxBytes uint32 `protobuf:"varint,3,opt,name=preferred_max_bytes,json=preferredMaxBytes,proto3" json:"preferred_max_bytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BatchSize) Reset() { *m = BatchSize{} } +func (m *BatchSize) String() string { return proto.CompactTextString(m) } +func (*BatchSize) ProtoMessage() {} +func (*BatchSize) Descriptor() ([]byte, []int) { + return fileDescriptor_bcce68f21316dd30, []int{1} +} + +func (m *BatchSize) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BatchSize.Unmarshal(m, b) +} +func (m *BatchSize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BatchSize.Marshal(b, m, deterministic) +} +func (m *BatchSize) XXX_Merge(src proto.Message) { + xxx_messageInfo_BatchSize.Merge(m, src) +} +func (m *BatchSize) XXX_Size() int { + return xxx_messageInfo_BatchSize.Size(m) +} +func (m *BatchSize) XXX_DiscardUnknown() { + xxx_messageInfo_BatchSize.DiscardUnknown(m) +} + +var xxx_messageInfo_BatchSize proto.InternalMessageInfo + +func (m *BatchSize) GetMaxMessageCount() uint32 { + if m != nil { + return m.MaxMessageCount + } + return 0 +} + +func (m *BatchSize) GetAbsoluteMaxBytes() uint32 { + if m != nil { + return m.AbsoluteMaxBytes + } + return 0 +} + +func (m *BatchSize) GetPreferredMaxBytes() uint32 { + if m != nil { + return m.PreferredMaxBytes + } + return 0 +} + +type BatchTimeout struct { + // Any duration string parseable by ParseDuration(): + // https://golang.org/pkg/time/#ParseDuration + Timeout string `protobuf:"bytes,1,opt,name=timeout,proto3" json:"timeout,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BatchTimeout) Reset() { *m = BatchTimeout{} } +func (m *BatchTimeout) String() string { return proto.CompactTextString(m) } +func (*BatchTimeout) ProtoMessage() {} +func (*BatchTimeout) Descriptor() ([]byte, []int) { + return fileDescriptor_bcce68f21316dd30, []int{2} +} + +func (m *BatchTimeout) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BatchTimeout.Unmarshal(m, b) +} +func (m *BatchTimeout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BatchTimeout.Marshal(b, m, deterministic) +} +func (m *BatchTimeout) XXX_Merge(src proto.Message) { + xxx_messageInfo_BatchTimeout.Merge(m, src) +} +func (m *BatchTimeout) XXX_Size() int { + return xxx_messageInfo_BatchTimeout.Size(m) +} +func (m *BatchTimeout) XXX_DiscardUnknown() { + xxx_messageInfo_BatchTimeout.DiscardUnknown(m) +} + +var xxx_messageInfo_BatchTimeout proto.InternalMessageInfo + +func (m *BatchTimeout) GetTimeout() string { + if m != nil { + return m.Timeout + } + return "" +} + +// Carries a list of bootstrap brokers, i.e. this is not the exclusive set of +// brokers an ordering service +type KafkaBrokers struct { + // Each broker here should be identified using the (IP|host):port notation, + // e.g. 127.0.0.1:7050, or localhost:7050 are valid entries + Brokers []string `protobuf:"bytes,1,rep,name=brokers,proto3" json:"brokers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KafkaBrokers) Reset() { *m = KafkaBrokers{} } +func (m *KafkaBrokers) String() string { return proto.CompactTextString(m) } +func (*KafkaBrokers) ProtoMessage() {} +func (*KafkaBrokers) Descriptor() ([]byte, []int) { + return fileDescriptor_bcce68f21316dd30, []int{3} +} + +func (m *KafkaBrokers) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KafkaBrokers.Unmarshal(m, b) +} +func (m *KafkaBrokers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KafkaBrokers.Marshal(b, m, deterministic) +} +func (m *KafkaBrokers) XXX_Merge(src proto.Message) { + xxx_messageInfo_KafkaBrokers.Merge(m, src) +} +func (m *KafkaBrokers) XXX_Size() int { + return xxx_messageInfo_KafkaBrokers.Size(m) +} +func (m *KafkaBrokers) XXX_DiscardUnknown() { + xxx_messageInfo_KafkaBrokers.DiscardUnknown(m) +} + +var xxx_messageInfo_KafkaBrokers proto.InternalMessageInfo + +func (m *KafkaBrokers) GetBrokers() []string { + if m != nil { + return m.Brokers + } + return nil +} + +// ChannelRestrictions is the mssage which conveys restrictions on channel creation for an orderer +type ChannelRestrictions struct { + MaxCount uint64 `protobuf:"varint,1,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelRestrictions) Reset() { *m = ChannelRestrictions{} } +func (m *ChannelRestrictions) String() string { return proto.CompactTextString(m) } +func (*ChannelRestrictions) ProtoMessage() {} +func (*ChannelRestrictions) Descriptor() ([]byte, []int) { + return fileDescriptor_bcce68f21316dd30, []int{4} +} + +func (m *ChannelRestrictions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelRestrictions.Unmarshal(m, b) +} +func (m *ChannelRestrictions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelRestrictions.Marshal(b, m, deterministic) +} +func (m *ChannelRestrictions) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelRestrictions.Merge(m, src) +} +func (m *ChannelRestrictions) XXX_Size() int { + return xxx_messageInfo_ChannelRestrictions.Size(m) +} +func (m *ChannelRestrictions) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelRestrictions.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelRestrictions proto.InternalMessageInfo + +func (m *ChannelRestrictions) GetMaxCount() uint64 { + if m != nil { + return m.MaxCount + } + return 0 +} + +func init() { + proto.RegisterEnum("orderer.ConsensusType_State", ConsensusType_State_name, ConsensusType_State_value) + proto.RegisterType((*ConsensusType)(nil), "orderer.ConsensusType") + proto.RegisterType((*BatchSize)(nil), "orderer.BatchSize") + proto.RegisterType((*BatchTimeout)(nil), "orderer.BatchTimeout") + proto.RegisterType((*KafkaBrokers)(nil), "orderer.KafkaBrokers") + proto.RegisterType((*ChannelRestrictions)(nil), "orderer.ChannelRestrictions") +} + +func init() { proto.RegisterFile("orderer/configuration.proto", fileDescriptor_bcce68f21316dd30) } + +var fileDescriptor_bcce68f21316dd30 = []byte{ + // 406 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0x51, 0x8b, 0xda, 0x40, + 0x10, 0xc7, 0x9b, 0x7a, 0xd7, 0x3b, 0x07, 0x6d, 0x75, 0x8f, 0x42, 0xe8, 0xf5, 0x41, 0x02, 0x05, + 0x29, 0xbd, 0x4d, 0xb1, 0x9f, 0x40, 0xc5, 0x87, 0xd2, 0x6a, 0x61, 0xcd, 0x43, 0xe9, 0x8b, 0x4c, + 0xe2, 0x18, 0xc3, 0x99, 0x6c, 0xd8, 0xdd, 0x80, 0xf6, 0x7b, 0xf4, 0x23, 0xf4, 0x7b, 0x96, 0xdd, + 0x8d, 0x57, 0xef, 0x6d, 0xfe, 0xff, 0xf9, 0xed, 0x30, 0xb3, 0x7f, 0xb8, 0x97, 0x6a, 0x4b, 0x8a, + 0x54, 0x9c, 0xc9, 0x6a, 0x57, 0xe4, 0x8d, 0x42, 0x53, 0xc8, 0x8a, 0xd7, 0x4a, 0x1a, 0xc9, 0x6e, + 0xda, 0x66, 0xf4, 0x37, 0x80, 0xfe, 0x5c, 0x56, 0x9a, 0x2a, 0xdd, 0xe8, 0xe4, 0x54, 0x13, 0x63, + 0x70, 0x65, 0x4e, 0x35, 0x85, 0xc1, 0x28, 0x18, 0x77, 0x85, 0xab, 0xd9, 0x3b, 0xb8, 0x2d, 0xc9, + 0xe0, 0x16, 0x0d, 0x86, 0x2f, 0x47, 0xc1, 0xb8, 0x27, 0x9e, 0x34, 0x9b, 0xc0, 0xb5, 0x36, 0x68, + 0x28, 0xec, 0x8c, 0x82, 0xf1, 0xeb, 0xc9, 0x7b, 0xde, 0x8e, 0xe6, 0xcf, 0xc6, 0xf2, 0xb5, 0x65, + 0x84, 0x47, 0xa3, 0xcf, 0x70, 0xed, 0x34, 0x1b, 0x40, 0x6f, 0x9d, 0x4c, 0x93, 0xc5, 0x66, 0xf5, + 0x43, 0x2c, 0xa7, 0xdf, 0x07, 0x2f, 0xd8, 0x5b, 0x18, 0x7a, 0x67, 0x39, 0xfd, 0xba, 0x4a, 0x16, + 0xab, 0xe9, 0x6a, 0xbe, 0x18, 0x04, 0xd1, 0x9f, 0x00, 0xba, 0x33, 0x34, 0xd9, 0x7e, 0x5d, 0xfc, + 0x26, 0xf6, 0x11, 0x86, 0x25, 0x1e, 0x37, 0x25, 0x69, 0x8d, 0x39, 0x6d, 0x32, 0xd9, 0x54, 0xc6, + 0x2d, 0xdc, 0x17, 0x6f, 0x4a, 0x3c, 0x2e, 0xbd, 0x3f, 0xb7, 0x36, 0xfb, 0x04, 0x0c, 0x53, 0x2d, + 0x0f, 0x8d, 0xa1, 0x8d, 0x7d, 0x94, 0x9e, 0x0c, 0x69, 0x77, 0x45, 0x5f, 0x0c, 0xce, 0x9d, 0x25, + 0x1e, 0x67, 0xd6, 0x67, 0x1c, 0xee, 0x6a, 0x45, 0x3b, 0x52, 0x8a, 0xb6, 0x17, 0x78, 0xc7, 0xe1, + 0xc3, 0xa7, 0xd6, 0x99, 0x8f, 0xc6, 0xd0, 0x73, 0x6b, 0x25, 0x45, 0x49, 0xb2, 0x31, 0x2c, 0x84, + 0x1b, 0xe3, 0xcb, 0xf6, 0x03, 0xcf, 0xd2, 0x92, 0xdf, 0x70, 0xf7, 0x88, 0x33, 0x25, 0x1f, 0x49, + 0x69, 0x4b, 0xa6, 0xbe, 0x0c, 0x83, 0x51, 0xc7, 0x92, 0xad, 0x8c, 0x26, 0x70, 0x37, 0xdf, 0x63, + 0x55, 0xd1, 0x41, 0x90, 0x36, 0xaa, 0xc8, 0x6c, 0x70, 0x9a, 0xdd, 0x43, 0xd7, 0x2e, 0xf4, 0xff, + 0xd8, 0x2b, 0x71, 0x5b, 0xe2, 0xd1, 0x5d, 0x39, 0xfb, 0x09, 0x1f, 0xa4, 0xca, 0xf9, 0xfe, 0x54, + 0x93, 0x3a, 0xd0, 0x36, 0x27, 0xc5, 0x77, 0x98, 0xaa, 0x22, 0xf3, 0x81, 0xeb, 0x73, 0x2a, 0xbf, + 0xe2, 0xbc, 0x30, 0xfb, 0x26, 0xe5, 0x99, 0x2c, 0xe3, 0x0b, 0x3a, 0xf6, 0xf4, 0x83, 0xa7, 0x1f, + 0x72, 0x19, 0xb7, 0x0f, 0xd2, 0x57, 0xce, 0xfa, 0xf2, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x97, 0x3c, + 0x9e, 0x25, 0x50, 0x02, 0x00, 0x00, +} diff --git a/orderer/etcdraft/configuration.pb.go b/orderer/etcdraft/configuration.pb.go new file mode 100644 index 0000000..355c88a --- /dev/null +++ b/orderer/etcdraft/configuration.pb.go @@ -0,0 +1,247 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: orderer/etcdraft/configuration.proto + +package etcdraft + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ConfigMetadata is serialized and set as the value of ConsensusType.Metadata in +// a channel configuration when the ConsensusType.Type is set "etcdraft". +type ConfigMetadata struct { + Consenters []*Consenter `protobuf:"bytes,1,rep,name=consenters,proto3" json:"consenters,omitempty"` + Options *Options `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigMetadata) Reset() { *m = ConfigMetadata{} } +func (m *ConfigMetadata) String() string { return proto.CompactTextString(m) } +func (*ConfigMetadata) ProtoMessage() {} +func (*ConfigMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_6f12d215c949b072, []int{0} +} + +func (m *ConfigMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigMetadata.Unmarshal(m, b) +} +func (m *ConfigMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigMetadata.Marshal(b, m, deterministic) +} +func (m *ConfigMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigMetadata.Merge(m, src) +} +func (m *ConfigMetadata) XXX_Size() int { + return xxx_messageInfo_ConfigMetadata.Size(m) +} +func (m *ConfigMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigMetadata proto.InternalMessageInfo + +func (m *ConfigMetadata) GetConsenters() []*Consenter { + if m != nil { + return m.Consenters + } + return nil +} + +func (m *ConfigMetadata) GetOptions() *Options { + if m != nil { + return m.Options + } + return nil +} + +// Consenter represents a consenting node (i.e. replica). +type Consenter struct { + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + ClientTlsCert []byte `protobuf:"bytes,3,opt,name=client_tls_cert,json=clientTlsCert,proto3" json:"client_tls_cert,omitempty"` + ServerTlsCert []byte `protobuf:"bytes,4,opt,name=server_tls_cert,json=serverTlsCert,proto3" json:"server_tls_cert,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Consenter) Reset() { *m = Consenter{} } +func (m *Consenter) String() string { return proto.CompactTextString(m) } +func (*Consenter) ProtoMessage() {} +func (*Consenter) Descriptor() ([]byte, []int) { + return fileDescriptor_6f12d215c949b072, []int{1} +} + +func (m *Consenter) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Consenter.Unmarshal(m, b) +} +func (m *Consenter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Consenter.Marshal(b, m, deterministic) +} +func (m *Consenter) XXX_Merge(src proto.Message) { + xxx_messageInfo_Consenter.Merge(m, src) +} +func (m *Consenter) XXX_Size() int { + return xxx_messageInfo_Consenter.Size(m) +} +func (m *Consenter) XXX_DiscardUnknown() { + xxx_messageInfo_Consenter.DiscardUnknown(m) +} + +var xxx_messageInfo_Consenter proto.InternalMessageInfo + +func (m *Consenter) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +func (m *Consenter) GetPort() uint32 { + if m != nil { + return m.Port + } + return 0 +} + +func (m *Consenter) GetClientTlsCert() []byte { + if m != nil { + return m.ClientTlsCert + } + return nil +} + +func (m *Consenter) GetServerTlsCert() []byte { + if m != nil { + return m.ServerTlsCert + } + return nil +} + +// Options to be specified for all the etcd/raft nodes. These can be modified on a +// per-channel basis. +type Options struct { + TickInterval string `protobuf:"bytes,1,opt,name=tick_interval,json=tickInterval,proto3" json:"tick_interval,omitempty"` + ElectionTick uint32 `protobuf:"varint,2,opt,name=election_tick,json=electionTick,proto3" json:"election_tick,omitempty"` + HeartbeatTick uint32 `protobuf:"varint,3,opt,name=heartbeat_tick,json=heartbeatTick,proto3" json:"heartbeat_tick,omitempty"` + MaxInflightBlocks uint32 `protobuf:"varint,4,opt,name=max_inflight_blocks,json=maxInflightBlocks,proto3" json:"max_inflight_blocks,omitempty"` + // Take snapshot when cumulative data exceeds certain size in bytes. + SnapshotIntervalSize uint32 `protobuf:"varint,5,opt,name=snapshot_interval_size,json=snapshotIntervalSize,proto3" json:"snapshot_interval_size,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Options) Reset() { *m = Options{} } +func (m *Options) String() string { return proto.CompactTextString(m) } +func (*Options) ProtoMessage() {} +func (*Options) Descriptor() ([]byte, []int) { + return fileDescriptor_6f12d215c949b072, []int{2} +} + +func (m *Options) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Options.Unmarshal(m, b) +} +func (m *Options) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Options.Marshal(b, m, deterministic) +} +func (m *Options) XXX_Merge(src proto.Message) { + xxx_messageInfo_Options.Merge(m, src) +} +func (m *Options) XXX_Size() int { + return xxx_messageInfo_Options.Size(m) +} +func (m *Options) XXX_DiscardUnknown() { + xxx_messageInfo_Options.DiscardUnknown(m) +} + +var xxx_messageInfo_Options proto.InternalMessageInfo + +func (m *Options) GetTickInterval() string { + if m != nil { + return m.TickInterval + } + return "" +} + +func (m *Options) GetElectionTick() uint32 { + if m != nil { + return m.ElectionTick + } + return 0 +} + +func (m *Options) GetHeartbeatTick() uint32 { + if m != nil { + return m.HeartbeatTick + } + return 0 +} + +func (m *Options) GetMaxInflightBlocks() uint32 { + if m != nil { + return m.MaxInflightBlocks + } + return 0 +} + +func (m *Options) GetSnapshotIntervalSize() uint32 { + if m != nil { + return m.SnapshotIntervalSize + } + return 0 +} + +func init() { + proto.RegisterType((*ConfigMetadata)(nil), "etcdraft.ConfigMetadata") + proto.RegisterType((*Consenter)(nil), "etcdraft.Consenter") + proto.RegisterType((*Options)(nil), "etcdraft.Options") +} + +func init() { + proto.RegisterFile("orderer/etcdraft/configuration.proto", fileDescriptor_6f12d215c949b072) +} + +var fileDescriptor_6f12d215c949b072 = []byte{ + // 392 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x92, 0x4f, 0x6b, 0xdc, 0x30, + 0x10, 0xc5, 0x71, 0x37, 0x6d, 0x1a, 0x65, 0x9d, 0x12, 0xa5, 0x14, 0x1f, 0xcd, 0xf6, 0x0f, 0x86, + 0x12, 0x19, 0x92, 0x1e, 0x7a, 0xce, 0x9e, 0x72, 0x28, 0x05, 0x37, 0xa7, 0x5e, 0x8c, 0x2c, 0x8f, + 0x6d, 0x75, 0xb5, 0x96, 0x19, 0x4d, 0x42, 0x9a, 0x6b, 0xbf, 0x68, 0x3f, 0x4a, 0xb1, 0x64, 0x3b, + 0x4b, 0x6f, 0xc3, 0x7b, 0xbf, 0x37, 0x7a, 0xa0, 0x61, 0x1f, 0x2c, 0xd6, 0x80, 0x80, 0x39, 0x90, + 0xaa, 0x51, 0x36, 0x94, 0x2b, 0xdb, 0x37, 0xba, 0xbd, 0x47, 0x49, 0xda, 0xf6, 0x62, 0x40, 0x4b, + 0x96, 0xbf, 0x9e, 0xdd, 0x0d, 0xb2, 0xb3, 0xad, 0x07, 0xbe, 0x01, 0xc9, 0x5a, 0x92, 0xe4, 0xd7, + 0x8c, 0x29, 0xdb, 0x3b, 0xe8, 0x09, 0xd0, 0x25, 0x51, 0xba, 0xca, 0x4e, 0xaf, 0x2e, 0xc4, 0x1c, + 0x10, 0xdb, 0xd9, 0x2b, 0x0e, 0x30, 0xfe, 0x99, 0x1d, 0xdb, 0x61, 0x7c, 0xc0, 0x25, 0x2f, 0xd2, + 0x28, 0x3b, 0xbd, 0x3a, 0x7f, 0x4e, 0x7c, 0x0f, 0x46, 0x31, 0x13, 0x9b, 0x3f, 0x11, 0x3b, 0x59, + 0xd6, 0x70, 0xce, 0x8e, 0x3a, 0xeb, 0x28, 0x89, 0xd2, 0x28, 0x3b, 0x29, 0xfc, 0x3c, 0x6a, 0x83, + 0x45, 0xf2, 0xbb, 0xe2, 0xc2, 0xcf, 0xfc, 0x13, 0x7b, 0xa3, 0x8c, 0x86, 0x9e, 0x4a, 0x32, 0xae, + 0x54, 0x80, 0x94, 0xac, 0xd2, 0x28, 0x5b, 0x17, 0x71, 0x90, 0xef, 0x8c, 0xdb, 0x42, 0xe0, 0x1c, + 0xe0, 0x03, 0xe0, 0x33, 0x77, 0x14, 0xb8, 0x20, 0x4f, 0xdc, 0xe6, 0x6f, 0xc4, 0x8e, 0xa7, 0x6a, + 0xfc, 0x3d, 0x8b, 0x49, 0xab, 0x5d, 0xa9, 0xc7, 0x46, 0x0f, 0xd2, 0x4c, 0x65, 0xd6, 0xa3, 0x78, + 0x3b, 0x69, 0x23, 0x04, 0x06, 0xd4, 0x98, 0x28, 0x47, 0x63, 0x6a, 0xb7, 0x9e, 0xc5, 0x3b, 0xad, + 0x76, 0xfc, 0x23, 0x3b, 0xeb, 0x40, 0x22, 0x55, 0x20, 0x29, 0x50, 0x2b, 0x4f, 0xc5, 0x8b, 0xea, + 0x31, 0xc1, 0x2e, 0xf6, 0xf2, 0xb1, 0xd4, 0x7d, 0x63, 0x74, 0xdb, 0x51, 0x59, 0x19, 0xab, 0x76, + 0xce, 0x17, 0x8d, 0x8b, 0xf3, 0xbd, 0x7c, 0xbc, 0x9d, 0x9c, 0x1b, 0x6f, 0xf0, 0x2f, 0xec, 0x9d, + 0xeb, 0xe5, 0xe0, 0x3a, 0x4b, 0x4b, 0xc9, 0xd2, 0xe9, 0x27, 0x48, 0x5e, 0xfa, 0xc8, 0xdb, 0xd9, + 0x9d, 0xdb, 0xfe, 0xd0, 0x4f, 0x70, 0xf3, 0x8b, 0x09, 0x8b, 0xad, 0xe8, 0x7e, 0x0f, 0x80, 0x06, + 0xea, 0x16, 0x50, 0x34, 0xb2, 0x42, 0xad, 0xc2, 0x19, 0x38, 0x31, 0x1d, 0xcb, 0xf2, 0x57, 0x3f, + 0xbf, 0xb6, 0x9a, 0xba, 0xfb, 0x4a, 0x28, 0xbb, 0xcf, 0x0f, 0x62, 0x79, 0x88, 0x5d, 0x86, 0xd8, + 0x65, 0x6b, 0xf3, 0xff, 0xcf, 0xac, 0x7a, 0xe5, 0xbd, 0xeb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x25, 0x12, 0x78, 0xc2, 0x81, 0x02, 0x00, 0x00, +} diff --git a/orderer/etcdraft/metadata.pb.go b/orderer/etcdraft/metadata.pb.go new file mode 100644 index 0000000..9eead96 --- /dev/null +++ b/orderer/etcdraft/metadata.pb.go @@ -0,0 +1,152 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: orderer/etcdraft/metadata.proto + +package etcdraft + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// BlockMetadata stores data used by the Raft OSNs when +// coordinating with each other, to be serialized into +// block meta dta field and used after failres and restarts. +type BlockMetadata struct { + // Maintains a mapping between the cluster's OSNs + // and their Raft IDs. + ConsenterIds []uint64 `protobuf:"varint,1,rep,packed,name=consenter_ids,json=consenterIds,proto3" json:"consenter_ids,omitempty"` + // Carries the Raft ID value that will be assigned + // to the next OSN that will join this cluster. + NextConsenterId uint64 `protobuf:"varint,2,opt,name=next_consenter_id,json=nextConsenterId,proto3" json:"next_consenter_id,omitempty"` + // Index of etcd/raft entry for current block. + RaftIndex uint64 `protobuf:"varint,3,opt,name=raft_index,json=raftIndex,proto3" json:"raft_index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockMetadata) Reset() { *m = BlockMetadata{} } +func (m *BlockMetadata) String() string { return proto.CompactTextString(m) } +func (*BlockMetadata) ProtoMessage() {} +func (*BlockMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_6d0323e5051228ea, []int{0} +} + +func (m *BlockMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockMetadata.Unmarshal(m, b) +} +func (m *BlockMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockMetadata.Marshal(b, m, deterministic) +} +func (m *BlockMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockMetadata.Merge(m, src) +} +func (m *BlockMetadata) XXX_Size() int { + return xxx_messageInfo_BlockMetadata.Size(m) +} +func (m *BlockMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_BlockMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockMetadata proto.InternalMessageInfo + +func (m *BlockMetadata) GetConsenterIds() []uint64 { + if m != nil { + return m.ConsenterIds + } + return nil +} + +func (m *BlockMetadata) GetNextConsenterId() uint64 { + if m != nil { + return m.NextConsenterId + } + return 0 +} + +func (m *BlockMetadata) GetRaftIndex() uint64 { + if m != nil { + return m.RaftIndex + } + return 0 +} + +// ClusterMetadata encapsulates metadata that is exchanged among cluster nodes +type ClusterMetadata struct { + // Indicates active nodes in cluster that are reacheable by Raft leader + ActiveNodes []uint64 `protobuf:"varint,1,rep,packed,name=active_nodes,json=activeNodes,proto3" json:"active_nodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ClusterMetadata) Reset() { *m = ClusterMetadata{} } +func (m *ClusterMetadata) String() string { return proto.CompactTextString(m) } +func (*ClusterMetadata) ProtoMessage() {} +func (*ClusterMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_6d0323e5051228ea, []int{1} +} + +func (m *ClusterMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ClusterMetadata.Unmarshal(m, b) +} +func (m *ClusterMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ClusterMetadata.Marshal(b, m, deterministic) +} +func (m *ClusterMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClusterMetadata.Merge(m, src) +} +func (m *ClusterMetadata) XXX_Size() int { + return xxx_messageInfo_ClusterMetadata.Size(m) +} +func (m *ClusterMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_ClusterMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_ClusterMetadata proto.InternalMessageInfo + +func (m *ClusterMetadata) GetActiveNodes() []uint64 { + if m != nil { + return m.ActiveNodes + } + return nil +} + +func init() { + proto.RegisterType((*BlockMetadata)(nil), "etcdraft.BlockMetadata") + proto.RegisterType((*ClusterMetadata)(nil), "etcdraft.ClusterMetadata") +} + +func init() { proto.RegisterFile("orderer/etcdraft/metadata.proto", fileDescriptor_6d0323e5051228ea) } + +var fileDescriptor_6d0323e5051228ea = []byte{ + // 244 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0xbf, 0x4f, 0x32, 0x41, + 0x10, 0x86, 0xc3, 0x07, 0xf9, 0xa2, 0x23, 0x84, 0x78, 0xd5, 0x35, 0x46, 0xc4, 0x86, 0x98, 0xb0, + 0x5b, 0x68, 0x61, 0x0d, 0x15, 0x85, 0x16, 0x94, 0x36, 0x97, 0xbd, 0xdd, 0xe1, 0x58, 0x3d, 0x76, + 0xc8, 0xec, 0x60, 0xb0, 0xf2, 0x5f, 0x37, 0xcb, 0x71, 0x48, 0x6c, 0x9f, 0xf7, 0x79, 0x33, 0x3f, + 0xe0, 0x96, 0xd8, 0x21, 0x23, 0x6b, 0x14, 0xeb, 0xd8, 0xac, 0x44, 0x6f, 0x50, 0x8c, 0x33, 0x62, + 0xd4, 0x96, 0x49, 0x28, 0xbb, 0x68, 0x83, 0xf1, 0x37, 0x0c, 0x66, 0x35, 0xd9, 0x8f, 0x97, 0xa3, + 0x90, 0xdd, 0xc3, 0xc0, 0x52, 0x88, 0x18, 0x04, 0xb9, 0xf0, 0x2e, 0xe6, 0x9d, 0x51, 0x77, 0xd2, + 0x5b, 0xf6, 0x4f, 0x70, 0xe1, 0x62, 0xf6, 0x00, 0xd7, 0x01, 0xf7, 0x52, 0x9c, 0x9b, 0xf9, 0xbf, + 0x51, 0x67, 0xd2, 0x5b, 0x0e, 0x53, 0x30, 0xff, 0x95, 0xb3, 0x1b, 0x80, 0x34, 0xa9, 0xf0, 0xc1, + 0xe1, 0x3e, 0xef, 0x1e, 0xa4, 0xcb, 0x44, 0x16, 0x09, 0x8c, 0x9f, 0x60, 0x38, 0xaf, 0x77, 0x51, + 0x90, 0x4f, 0x2b, 0xdc, 0x41, 0xdf, 0x58, 0xf1, 0x9f, 0x58, 0x04, 0x72, 0xd8, 0x6e, 0x70, 0xd5, + 0xb0, 0xd7, 0x84, 0x66, 0xef, 0xa0, 0x88, 0x2b, 0xb5, 0xfe, 0xda, 0x22, 0xd7, 0xe8, 0x2a, 0x64, + 0xb5, 0x32, 0x25, 0x7b, 0xdb, 0x1c, 0x18, 0xd5, 0xf1, 0x03, 0xaa, 0x3d, 0xf4, 0xed, 0xb9, 0xf2, + 0xb2, 0xde, 0x95, 0xca, 0xd2, 0x46, 0x9f, 0xd5, 0x74, 0x53, 0x9b, 0x36, 0xb5, 0x69, 0x45, 0xfa, + 0xef, 0xef, 0xca, 0xff, 0x87, 0xec, 0xf1, 0x27, 0x00, 0x00, 0xff, 0xff, 0xcf, 0xbd, 0xfc, 0x44, + 0x56, 0x01, 0x00, 0x00, +} diff --git a/orderer/kafka.pb.go b/orderer/kafka.pb.go new file mode 100644 index 0000000..6ab50d2 --- /dev/null +++ b/orderer/kafka.pb.go @@ -0,0 +1,410 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: orderer/kafka.proto + +package orderer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type KafkaMessageRegular_Class int32 + +const ( + KafkaMessageRegular_UNKNOWN KafkaMessageRegular_Class = 0 + KafkaMessageRegular_NORMAL KafkaMessageRegular_Class = 1 + KafkaMessageRegular_CONFIG KafkaMessageRegular_Class = 2 +) + +var KafkaMessageRegular_Class_name = map[int32]string{ + 0: "UNKNOWN", + 1: "NORMAL", + 2: "CONFIG", +} + +var KafkaMessageRegular_Class_value = map[string]int32{ + "UNKNOWN": 0, + "NORMAL": 1, + "CONFIG": 2, +} + +func (x KafkaMessageRegular_Class) String() string { + return proto.EnumName(KafkaMessageRegular_Class_name, int32(x)) +} + +func (KafkaMessageRegular_Class) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_44ca1a6a801d36ec, []int{1, 0} +} + +// KafkaMessage is a wrapper type for the messages +// that the Kafka-based orderer deals with. +type KafkaMessage struct { + // Types that are valid to be assigned to Type: + // *KafkaMessage_Regular + // *KafkaMessage_TimeToCut + // *KafkaMessage_Connect + Type isKafkaMessage_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KafkaMessage) Reset() { *m = KafkaMessage{} } +func (m *KafkaMessage) String() string { return proto.CompactTextString(m) } +func (*KafkaMessage) ProtoMessage() {} +func (*KafkaMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_44ca1a6a801d36ec, []int{0} +} + +func (m *KafkaMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KafkaMessage.Unmarshal(m, b) +} +func (m *KafkaMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KafkaMessage.Marshal(b, m, deterministic) +} +func (m *KafkaMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_KafkaMessage.Merge(m, src) +} +func (m *KafkaMessage) XXX_Size() int { + return xxx_messageInfo_KafkaMessage.Size(m) +} +func (m *KafkaMessage) XXX_DiscardUnknown() { + xxx_messageInfo_KafkaMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_KafkaMessage proto.InternalMessageInfo + +type isKafkaMessage_Type interface { + isKafkaMessage_Type() +} + +type KafkaMessage_Regular struct { + Regular *KafkaMessageRegular `protobuf:"bytes,1,opt,name=regular,proto3,oneof"` +} + +type KafkaMessage_TimeToCut struct { + TimeToCut *KafkaMessageTimeToCut `protobuf:"bytes,2,opt,name=time_to_cut,json=timeToCut,proto3,oneof"` +} + +type KafkaMessage_Connect struct { + Connect *KafkaMessageConnect `protobuf:"bytes,3,opt,name=connect,proto3,oneof"` +} + +func (*KafkaMessage_Regular) isKafkaMessage_Type() {} + +func (*KafkaMessage_TimeToCut) isKafkaMessage_Type() {} + +func (*KafkaMessage_Connect) isKafkaMessage_Type() {} + +func (m *KafkaMessage) GetType() isKafkaMessage_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *KafkaMessage) GetRegular() *KafkaMessageRegular { + if x, ok := m.GetType().(*KafkaMessage_Regular); ok { + return x.Regular + } + return nil +} + +func (m *KafkaMessage) GetTimeToCut() *KafkaMessageTimeToCut { + if x, ok := m.GetType().(*KafkaMessage_TimeToCut); ok { + return x.TimeToCut + } + return nil +} + +func (m *KafkaMessage) GetConnect() *KafkaMessageConnect { + if x, ok := m.GetType().(*KafkaMessage_Connect); ok { + return x.Connect + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*KafkaMessage) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*KafkaMessage_Regular)(nil), + (*KafkaMessage_TimeToCut)(nil), + (*KafkaMessage_Connect)(nil), + } +} + +// KafkaMessageRegular wraps a marshalled envelope. +type KafkaMessageRegular struct { + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + ConfigSeq uint64 `protobuf:"varint,2,opt,name=config_seq,json=configSeq,proto3" json:"config_seq,omitempty"` + Class KafkaMessageRegular_Class `protobuf:"varint,3,opt,name=class,proto3,enum=orderer.KafkaMessageRegular_Class" json:"class,omitempty"` + OriginalOffset int64 `protobuf:"varint,4,opt,name=original_offset,json=originalOffset,proto3" json:"original_offset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KafkaMessageRegular) Reset() { *m = KafkaMessageRegular{} } +func (m *KafkaMessageRegular) String() string { return proto.CompactTextString(m) } +func (*KafkaMessageRegular) ProtoMessage() {} +func (*KafkaMessageRegular) Descriptor() ([]byte, []int) { + return fileDescriptor_44ca1a6a801d36ec, []int{1} +} + +func (m *KafkaMessageRegular) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KafkaMessageRegular.Unmarshal(m, b) +} +func (m *KafkaMessageRegular) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KafkaMessageRegular.Marshal(b, m, deterministic) +} +func (m *KafkaMessageRegular) XXX_Merge(src proto.Message) { + xxx_messageInfo_KafkaMessageRegular.Merge(m, src) +} +func (m *KafkaMessageRegular) XXX_Size() int { + return xxx_messageInfo_KafkaMessageRegular.Size(m) +} +func (m *KafkaMessageRegular) XXX_DiscardUnknown() { + xxx_messageInfo_KafkaMessageRegular.DiscardUnknown(m) +} + +var xxx_messageInfo_KafkaMessageRegular proto.InternalMessageInfo + +func (m *KafkaMessageRegular) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *KafkaMessageRegular) GetConfigSeq() uint64 { + if m != nil { + return m.ConfigSeq + } + return 0 +} + +func (m *KafkaMessageRegular) GetClass() KafkaMessageRegular_Class { + if m != nil { + return m.Class + } + return KafkaMessageRegular_UNKNOWN +} + +func (m *KafkaMessageRegular) GetOriginalOffset() int64 { + if m != nil { + return m.OriginalOffset + } + return 0 +} + +// KafkaMessageTimeToCut is used to signal to the orderers +// that it is time to cut block . +type KafkaMessageTimeToCut struct { + BlockNumber uint64 `protobuf:"varint,1,opt,name=block_number,json=blockNumber,proto3" json:"block_number,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KafkaMessageTimeToCut) Reset() { *m = KafkaMessageTimeToCut{} } +func (m *KafkaMessageTimeToCut) String() string { return proto.CompactTextString(m) } +func (*KafkaMessageTimeToCut) ProtoMessage() {} +func (*KafkaMessageTimeToCut) Descriptor() ([]byte, []int) { + return fileDescriptor_44ca1a6a801d36ec, []int{2} +} + +func (m *KafkaMessageTimeToCut) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KafkaMessageTimeToCut.Unmarshal(m, b) +} +func (m *KafkaMessageTimeToCut) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KafkaMessageTimeToCut.Marshal(b, m, deterministic) +} +func (m *KafkaMessageTimeToCut) XXX_Merge(src proto.Message) { + xxx_messageInfo_KafkaMessageTimeToCut.Merge(m, src) +} +func (m *KafkaMessageTimeToCut) XXX_Size() int { + return xxx_messageInfo_KafkaMessageTimeToCut.Size(m) +} +func (m *KafkaMessageTimeToCut) XXX_DiscardUnknown() { + xxx_messageInfo_KafkaMessageTimeToCut.DiscardUnknown(m) +} + +var xxx_messageInfo_KafkaMessageTimeToCut proto.InternalMessageInfo + +func (m *KafkaMessageTimeToCut) GetBlockNumber() uint64 { + if m != nil { + return m.BlockNumber + } + return 0 +} + +// KafkaMessageConnect is posted by an orderer upon booting up. +// It is used to prevent the panic that would be caused if we +// were to consume an empty partition. It is ignored by all +// orderers when processing the partition. +type KafkaMessageConnect struct { + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KafkaMessageConnect) Reset() { *m = KafkaMessageConnect{} } +func (m *KafkaMessageConnect) String() string { return proto.CompactTextString(m) } +func (*KafkaMessageConnect) ProtoMessage() {} +func (*KafkaMessageConnect) Descriptor() ([]byte, []int) { + return fileDescriptor_44ca1a6a801d36ec, []int{3} +} + +func (m *KafkaMessageConnect) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KafkaMessageConnect.Unmarshal(m, b) +} +func (m *KafkaMessageConnect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KafkaMessageConnect.Marshal(b, m, deterministic) +} +func (m *KafkaMessageConnect) XXX_Merge(src proto.Message) { + xxx_messageInfo_KafkaMessageConnect.Merge(m, src) +} +func (m *KafkaMessageConnect) XXX_Size() int { + return xxx_messageInfo_KafkaMessageConnect.Size(m) +} +func (m *KafkaMessageConnect) XXX_DiscardUnknown() { + xxx_messageInfo_KafkaMessageConnect.DiscardUnknown(m) +} + +var xxx_messageInfo_KafkaMessageConnect proto.InternalMessageInfo + +func (m *KafkaMessageConnect) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +// KafkaMetadata is encoded into the ORDERER block to keep track of +// Kafka-related metadata associated with this block. +type KafkaMetadata struct { + // LastOffsetPersisted is the encoded value for the Metadata message + // which is encoded in the ORDERER block metadata index for the case + // of the Kafka-based orderer. + LastOffsetPersisted int64 `protobuf:"varint,1,opt,name=last_offset_persisted,json=lastOffsetPersisted,proto3" json:"last_offset_persisted,omitempty"` + // LastOriginalOffsetProcessed is used to keep track of the newest + // offset processed if a message is re-validated and re-ordered. + // This value is used to deduplicate re-submitted messages from + // multiple orderer so that we don't bother re-processing it again. + LastOriginalOffsetProcessed int64 `protobuf:"varint,2,opt,name=last_original_offset_processed,json=lastOriginalOffsetProcessed,proto3" json:"last_original_offset_processed,omitempty"` + // LastResubmittedConfigOffset is used to capture the newest offset of + // CONFIG kafka message, which is revalidated and resubmitted. By comparing + // this with LastOriginalOffsetProcessed, we could detemine whether there + // are still CONFIG messages that have been resubmitted but NOT processed + // yet. It's used as condition to block ingress messages, so we could reduce + // the overhead of repeatedly resubmitting messages as config seq keeps + // advancing. + LastResubmittedConfigOffset int64 `protobuf:"varint,3,opt,name=last_resubmitted_config_offset,json=lastResubmittedConfigOffset,proto3" json:"last_resubmitted_config_offset,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KafkaMetadata) Reset() { *m = KafkaMetadata{} } +func (m *KafkaMetadata) String() string { return proto.CompactTextString(m) } +func (*KafkaMetadata) ProtoMessage() {} +func (*KafkaMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_44ca1a6a801d36ec, []int{4} +} + +func (m *KafkaMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KafkaMetadata.Unmarshal(m, b) +} +func (m *KafkaMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KafkaMetadata.Marshal(b, m, deterministic) +} +func (m *KafkaMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_KafkaMetadata.Merge(m, src) +} +func (m *KafkaMetadata) XXX_Size() int { + return xxx_messageInfo_KafkaMetadata.Size(m) +} +func (m *KafkaMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_KafkaMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_KafkaMetadata proto.InternalMessageInfo + +func (m *KafkaMetadata) GetLastOffsetPersisted() int64 { + if m != nil { + return m.LastOffsetPersisted + } + return 0 +} + +func (m *KafkaMetadata) GetLastOriginalOffsetProcessed() int64 { + if m != nil { + return m.LastOriginalOffsetProcessed + } + return 0 +} + +func (m *KafkaMetadata) GetLastResubmittedConfigOffset() int64 { + if m != nil { + return m.LastResubmittedConfigOffset + } + return 0 +} + +func init() { + proto.RegisterEnum("orderer.KafkaMessageRegular_Class", KafkaMessageRegular_Class_name, KafkaMessageRegular_Class_value) + proto.RegisterType((*KafkaMessage)(nil), "orderer.KafkaMessage") + proto.RegisterType((*KafkaMessageRegular)(nil), "orderer.KafkaMessageRegular") + proto.RegisterType((*KafkaMessageTimeToCut)(nil), "orderer.KafkaMessageTimeToCut") + proto.RegisterType((*KafkaMessageConnect)(nil), "orderer.KafkaMessageConnect") + proto.RegisterType((*KafkaMetadata)(nil), "orderer.KafkaMetadata") +} + +func init() { proto.RegisterFile("orderer/kafka.proto", fileDescriptor_44ca1a6a801d36ec) } + +var fileDescriptor_44ca1a6a801d36ec = []byte{ + // 479 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xd1, 0x6e, 0xd3, 0x30, + 0x14, 0x86, 0x9b, 0xb5, 0x6b, 0xb5, 0xd3, 0x32, 0x2a, 0x57, 0x93, 0x2a, 0x01, 0xd3, 0x88, 0x84, + 0xd8, 0x05, 0x4b, 0xa4, 0x72, 0x33, 0x71, 0x05, 0x8b, 0x04, 0x43, 0x63, 0xe9, 0x64, 0x8a, 0x40, + 0xdc, 0x44, 0x4e, 0x72, 0x92, 0x45, 0x4d, 0xe2, 0xcc, 0x76, 0x2e, 0xfa, 0x8e, 0xf0, 0x0c, 0xbc, + 0x0a, 0x8a, 0x9d, 0xb0, 0x55, 0x2a, 0xbb, 0x8b, 0x7f, 0x7f, 0xbf, 0xcf, 0x39, 0xff, 0x51, 0x60, + 0xc6, 0x45, 0x8c, 0x02, 0x85, 0xbb, 0x66, 0xc9, 0x9a, 0x39, 0x95, 0xe0, 0x8a, 0x93, 0x51, 0x2b, + 0xda, 0xbf, 0x2c, 0x98, 0x5c, 0x35, 0x17, 0xd7, 0x28, 0x25, 0x4b, 0x91, 0x9c, 0xc3, 0x48, 0x60, + 0x5a, 0xe7, 0x4c, 0xcc, 0xad, 0x13, 0xeb, 0x74, 0xbc, 0x78, 0xee, 0xb4, 0xac, 0xf3, 0x90, 0xa3, + 0x86, 0xb9, 0xec, 0xd1, 0x0e, 0x27, 0xef, 0x61, 0xac, 0xb2, 0x02, 0x03, 0xc5, 0x83, 0xa8, 0x56, + 0xf3, 0x3d, 0xed, 0x3e, 0xde, 0xe9, 0x5e, 0x65, 0x05, 0xae, 0xb8, 0x57, 0xab, 0xcb, 0x1e, 0x3d, + 0x50, 0xdd, 0xa1, 0xa9, 0x1d, 0xf1, 0xb2, 0xc4, 0x48, 0xcd, 0xfb, 0x8f, 0xd4, 0xf6, 0x0c, 0xd3, + 0xd4, 0x6e, 0xf1, 0x8b, 0x21, 0x0c, 0x56, 0x9b, 0x0a, 0xed, 0x3f, 0x16, 0xcc, 0x76, 0xb4, 0x49, + 0xe6, 0x30, 0xaa, 0xd8, 0x26, 0xe7, 0x2c, 0xd6, 0x53, 0x4d, 0x68, 0x77, 0x24, 0x2f, 0x00, 0x22, + 0x5e, 0x26, 0x59, 0x1a, 0x48, 0xbc, 0xd3, 0x4d, 0x0f, 0xe8, 0x81, 0x51, 0xbe, 0xe2, 0x1d, 0x39, + 0x87, 0xfd, 0x28, 0x67, 0x52, 0xea, 0x86, 0x0e, 0x17, 0xf6, 0x63, 0x61, 0x38, 0x5e, 0x43, 0x52, + 0x63, 0x20, 0xaf, 0xe1, 0x29, 0x17, 0x59, 0x9a, 0x95, 0x2c, 0x0f, 0x78, 0x92, 0x48, 0x54, 0xf3, + 0xc1, 0x89, 0x75, 0xda, 0xa7, 0x87, 0x9d, 0xbc, 0xd4, 0xaa, 0xfd, 0x06, 0xf6, 0xb5, 0x91, 0x8c, + 0x61, 0xf4, 0xcd, 0xbf, 0xf2, 0x97, 0xdf, 0xfd, 0x69, 0x8f, 0x00, 0x0c, 0xfd, 0x25, 0xbd, 0xfe, + 0xf0, 0x65, 0x6a, 0x35, 0xdf, 0xde, 0xd2, 0xff, 0xf8, 0xf9, 0xd3, 0x74, 0xcf, 0x7e, 0x07, 0x47, + 0x3b, 0x93, 0x24, 0x2f, 0x61, 0x12, 0xe6, 0x3c, 0x5a, 0x07, 0x65, 0x5d, 0x84, 0x68, 0xb6, 0x37, + 0xa0, 0x63, 0xad, 0xf9, 0x5a, 0xb2, 0xdd, 0xed, 0x70, 0xda, 0x1c, 0xff, 0x1f, 0x8e, 0xfd, 0xdb, + 0x82, 0x27, 0xad, 0x43, 0xb1, 0x98, 0x29, 0x46, 0x16, 0x70, 0x94, 0x33, 0xa9, 0xda, 0x89, 0x82, + 0x0a, 0x85, 0xcc, 0xa4, 0x42, 0xe3, 0xec, 0xd3, 0x59, 0x73, 0x69, 0xe6, 0xba, 0xe9, 0xae, 0x88, + 0x07, 0xc7, 0xc6, 0xb3, 0x1d, 0x47, 0x50, 0x09, 0x1e, 0xa1, 0x94, 0x18, 0xeb, 0xd8, 0xfb, 0xf4, + 0x99, 0x36, 0x6f, 0x85, 0x73, 0xd3, 0x21, 0xff, 0x1e, 0x11, 0x28, 0xeb, 0xb0, 0xc8, 0x94, 0xc2, + 0x38, 0x68, 0x17, 0xd7, 0xa6, 0xdb, 0xbf, 0x7f, 0x84, 0xde, 0x43, 0x9e, 0x66, 0xcc, 0x6b, 0x17, + 0x3f, 0xe0, 0x15, 0x17, 0xa9, 0x73, 0xbb, 0xa9, 0x50, 0xe4, 0x18, 0xa7, 0x28, 0x9c, 0x84, 0x85, + 0x22, 0x8b, 0xcc, 0x6f, 0x21, 0xbb, 0xed, 0xfe, 0x74, 0xd3, 0x4c, 0xdd, 0xd6, 0xa1, 0x13, 0xf1, + 0xc2, 0x7d, 0x40, 0xbb, 0x86, 0x3e, 0x33, 0xf4, 0x59, 0xca, 0xdd, 0xd6, 0x10, 0x0e, 0xb5, 0xf4, + 0xf6, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5a, 0xdf, 0x29, 0x90, 0x6e, 0x03, 0x00, 0x00, +} diff --git a/peer/chaincode.pb.go b/peer/chaincode.pb.go new file mode 100644 index 0000000..dbab642 --- /dev/null +++ b/peer/chaincode.pb.go @@ -0,0 +1,429 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/chaincode.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type ChaincodeSpec_Type int32 + +const ( + ChaincodeSpec_UNDEFINED ChaincodeSpec_Type = 0 + ChaincodeSpec_GOLANG ChaincodeSpec_Type = 1 + ChaincodeSpec_NODE ChaincodeSpec_Type = 2 + ChaincodeSpec_CAR ChaincodeSpec_Type = 3 + ChaincodeSpec_JAVA ChaincodeSpec_Type = 4 +) + +var ChaincodeSpec_Type_name = map[int32]string{ + 0: "UNDEFINED", + 1: "GOLANG", + 2: "NODE", + 3: "CAR", + 4: "JAVA", +} + +var ChaincodeSpec_Type_value = map[string]int32{ + "UNDEFINED": 0, + "GOLANG": 1, + "NODE": 2, + "CAR": 3, + "JAVA": 4, +} + +func (x ChaincodeSpec_Type) String() string { + return proto.EnumName(ChaincodeSpec_Type_name, int32(x)) +} + +func (ChaincodeSpec_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{2, 0} +} + +//ChaincodeID contains the path as specified by the deploy transaction +//that created it as well as the hashCode that is generated by the +//system for the path. From the user level (ie, CLI, REST API and so on) +//deploy transaction is expected to provide the path and other requests +//are expected to provide the hashCode. The other value will be ignored. +//Internally, the structure could contain both values. For instance, the +//hashCode will be set when first generated using the path +type ChaincodeID struct { + //deploy transaction will use the path + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + //all other requests will use the name (really a hashcode) generated by + //the deploy transaction + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + //user friendly version name for the chaincode + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeID) Reset() { *m = ChaincodeID{} } +func (m *ChaincodeID) String() string { return proto.CompactTextString(m) } +func (*ChaincodeID) ProtoMessage() {} +func (*ChaincodeID) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{0} +} + +func (m *ChaincodeID) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeID.Unmarshal(m, b) +} +func (m *ChaincodeID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeID.Marshal(b, m, deterministic) +} +func (m *ChaincodeID) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeID.Merge(m, src) +} +func (m *ChaincodeID) XXX_Size() int { + return xxx_messageInfo_ChaincodeID.Size(m) +} +func (m *ChaincodeID) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeID.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeID proto.InternalMessageInfo + +func (m *ChaincodeID) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *ChaincodeID) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeID) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +// Carries the chaincode function and its arguments. +// UnmarshalJSON in transaction.go converts the string-based REST/JSON input to +// the []byte-based current ChaincodeInput structure. +type ChaincodeInput struct { + Args [][]byte `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` + Decorations map[string][]byte `protobuf:"bytes,2,rep,name=decorations,proto3" json:"decorations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // is_init is used for the application to signal that an invocation is to be routed + // to the legacy 'Init' function for compatibility with chaincodes which handled + // Init in the old way. New applications should manage their initialized state + // themselves. + IsInit bool `protobuf:"varint,3,opt,name=is_init,json=isInit,proto3" json:"is_init,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeInput) Reset() { *m = ChaincodeInput{} } +func (m *ChaincodeInput) String() string { return proto.CompactTextString(m) } +func (*ChaincodeInput) ProtoMessage() {} +func (*ChaincodeInput) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{1} +} + +func (m *ChaincodeInput) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeInput.Unmarshal(m, b) +} +func (m *ChaincodeInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeInput.Marshal(b, m, deterministic) +} +func (m *ChaincodeInput) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeInput.Merge(m, src) +} +func (m *ChaincodeInput) XXX_Size() int { + return xxx_messageInfo_ChaincodeInput.Size(m) +} +func (m *ChaincodeInput) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeInput.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeInput proto.InternalMessageInfo + +func (m *ChaincodeInput) GetArgs() [][]byte { + if m != nil { + return m.Args + } + return nil +} + +func (m *ChaincodeInput) GetDecorations() map[string][]byte { + if m != nil { + return m.Decorations + } + return nil +} + +func (m *ChaincodeInput) GetIsInit() bool { + if m != nil { + return m.IsInit + } + return false +} + +// Carries the chaincode specification. This is the actual metadata required for +// defining a chaincode. +type ChaincodeSpec struct { + Type ChaincodeSpec_Type `protobuf:"varint,1,opt,name=type,proto3,enum=protos.ChaincodeSpec_Type" json:"type,omitempty"` + ChaincodeId *ChaincodeID `protobuf:"bytes,2,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + Input *ChaincodeInput `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` + Timeout int32 `protobuf:"varint,4,opt,name=timeout,proto3" json:"timeout,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeSpec) Reset() { *m = ChaincodeSpec{} } +func (m *ChaincodeSpec) String() string { return proto.CompactTextString(m) } +func (*ChaincodeSpec) ProtoMessage() {} +func (*ChaincodeSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{2} +} + +func (m *ChaincodeSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeSpec.Unmarshal(m, b) +} +func (m *ChaincodeSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeSpec.Marshal(b, m, deterministic) +} +func (m *ChaincodeSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeSpec.Merge(m, src) +} +func (m *ChaincodeSpec) XXX_Size() int { + return xxx_messageInfo_ChaincodeSpec.Size(m) +} +func (m *ChaincodeSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeSpec proto.InternalMessageInfo + +func (m *ChaincodeSpec) GetType() ChaincodeSpec_Type { + if m != nil { + return m.Type + } + return ChaincodeSpec_UNDEFINED +} + +func (m *ChaincodeSpec) GetChaincodeId() *ChaincodeID { + if m != nil { + return m.ChaincodeId + } + return nil +} + +func (m *ChaincodeSpec) GetInput() *ChaincodeInput { + if m != nil { + return m.Input + } + return nil +} + +func (m *ChaincodeSpec) GetTimeout() int32 { + if m != nil { + return m.Timeout + } + return 0 +} + +// Specify the deployment of a chaincode. +// TODO: Define `codePackage`. +type ChaincodeDeploymentSpec struct { + ChaincodeSpec *ChaincodeSpec `protobuf:"bytes,1,opt,name=chaincode_spec,json=chaincodeSpec,proto3" json:"chaincode_spec,omitempty"` + CodePackage []byte `protobuf:"bytes,3,opt,name=code_package,json=codePackage,proto3" json:"code_package,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeDeploymentSpec) Reset() { *m = ChaincodeDeploymentSpec{} } +func (m *ChaincodeDeploymentSpec) String() string { return proto.CompactTextString(m) } +func (*ChaincodeDeploymentSpec) ProtoMessage() {} +func (*ChaincodeDeploymentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{3} +} + +func (m *ChaincodeDeploymentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeDeploymentSpec.Unmarshal(m, b) +} +func (m *ChaincodeDeploymentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeDeploymentSpec.Marshal(b, m, deterministic) +} +func (m *ChaincodeDeploymentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeDeploymentSpec.Merge(m, src) +} +func (m *ChaincodeDeploymentSpec) XXX_Size() int { + return xxx_messageInfo_ChaincodeDeploymentSpec.Size(m) +} +func (m *ChaincodeDeploymentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeDeploymentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeDeploymentSpec proto.InternalMessageInfo + +func (m *ChaincodeDeploymentSpec) GetChaincodeSpec() *ChaincodeSpec { + if m != nil { + return m.ChaincodeSpec + } + return nil +} + +func (m *ChaincodeDeploymentSpec) GetCodePackage() []byte { + if m != nil { + return m.CodePackage + } + return nil +} + +// Carries the chaincode function and its arguments. +type ChaincodeInvocationSpec struct { + ChaincodeSpec *ChaincodeSpec `protobuf:"bytes,1,opt,name=chaincode_spec,json=chaincodeSpec,proto3" json:"chaincode_spec,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeInvocationSpec) Reset() { *m = ChaincodeInvocationSpec{} } +func (m *ChaincodeInvocationSpec) String() string { return proto.CompactTextString(m) } +func (*ChaincodeInvocationSpec) ProtoMessage() {} +func (*ChaincodeInvocationSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{4} +} + +func (m *ChaincodeInvocationSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeInvocationSpec.Unmarshal(m, b) +} +func (m *ChaincodeInvocationSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeInvocationSpec.Marshal(b, m, deterministic) +} +func (m *ChaincodeInvocationSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeInvocationSpec.Merge(m, src) +} +func (m *ChaincodeInvocationSpec) XXX_Size() int { + return xxx_messageInfo_ChaincodeInvocationSpec.Size(m) +} +func (m *ChaincodeInvocationSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeInvocationSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeInvocationSpec proto.InternalMessageInfo + +func (m *ChaincodeInvocationSpec) GetChaincodeSpec() *ChaincodeSpec { + if m != nil { + return m.ChaincodeSpec + } + return nil +} + +// LifecycleEvent is used as the payload of the chaincode event emitted by LSCC +type LifecycleEvent struct { + ChaincodeName string `protobuf:"bytes,1,opt,name=chaincode_name,json=chaincodeName,proto3" json:"chaincode_name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LifecycleEvent) Reset() { *m = LifecycleEvent{} } +func (m *LifecycleEvent) String() string { return proto.CompactTextString(m) } +func (*LifecycleEvent) ProtoMessage() {} +func (*LifecycleEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_202814c635ff5fee, []int{5} +} + +func (m *LifecycleEvent) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LifecycleEvent.Unmarshal(m, b) +} +func (m *LifecycleEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LifecycleEvent.Marshal(b, m, deterministic) +} +func (m *LifecycleEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_LifecycleEvent.Merge(m, src) +} +func (m *LifecycleEvent) XXX_Size() int { + return xxx_messageInfo_LifecycleEvent.Size(m) +} +func (m *LifecycleEvent) XXX_DiscardUnknown() { + xxx_messageInfo_LifecycleEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_LifecycleEvent proto.InternalMessageInfo + +func (m *LifecycleEvent) GetChaincodeName() string { + if m != nil { + return m.ChaincodeName + } + return "" +} + +func init() { + proto.RegisterEnum("protos.ChaincodeSpec_Type", ChaincodeSpec_Type_name, ChaincodeSpec_Type_value) + proto.RegisterType((*ChaincodeID)(nil), "protos.ChaincodeID") + proto.RegisterType((*ChaincodeInput)(nil), "protos.ChaincodeInput") + proto.RegisterMapType((map[string][]byte)(nil), "protos.ChaincodeInput.DecorationsEntry") + proto.RegisterType((*ChaincodeSpec)(nil), "protos.ChaincodeSpec") + proto.RegisterType((*ChaincodeDeploymentSpec)(nil), "protos.ChaincodeDeploymentSpec") + proto.RegisterType((*ChaincodeInvocationSpec)(nil), "protos.ChaincodeInvocationSpec") + proto.RegisterType((*LifecycleEvent)(nil), "protos.LifecycleEvent") +} + +func init() { proto.RegisterFile("peer/chaincode.proto", fileDescriptor_202814c635ff5fee) } + +var fileDescriptor_202814c635ff5fee = []byte{ + // 560 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x4d, 0x6f, 0xd3, 0x40, + 0x10, 0xc5, 0xb1, 0xd3, 0xa6, 0xe3, 0x34, 0x32, 0x4b, 0xa1, 0x56, 0x4f, 0xc1, 0x12, 0x22, 0x87, + 0xd6, 0x91, 0x82, 0x04, 0x08, 0xa1, 0x4a, 0xa1, 0x0e, 0x55, 0xaa, 0x2a, 0x45, 0xcb, 0xc7, 0x81, + 0x4b, 0xe4, 0xac, 0x27, 0xce, 0xaa, 0xc9, 0xda, 0xb2, 0x37, 0x11, 0xfe, 0x37, 0xfc, 0x1c, 0xfe, + 0x15, 0x68, 0x77, 0xc9, 0x47, 0x69, 0x6f, 0x9c, 0x3c, 0x3b, 0x7e, 0x33, 0xf3, 0xde, 0xdb, 0x1d, + 0x38, 0xca, 0x11, 0x8b, 0x2e, 0x9b, 0xc5, 0x5c, 0xb0, 0x2c, 0xc1, 0x30, 0x2f, 0x32, 0x99, 0x91, + 0x3d, 0xfd, 0x29, 0x83, 0x1b, 0x70, 0x2f, 0xd6, 0xbf, 0x86, 0x11, 0x21, 0xe0, 0xe4, 0xb1, 0x9c, + 0xf9, 0x56, 0xdb, 0xea, 0x1c, 0x50, 0x1d, 0xab, 0x9c, 0x88, 0x17, 0xe8, 0xd7, 0x4c, 0x4e, 0xc5, + 0xc4, 0x87, 0xfd, 0x15, 0x16, 0x25, 0xcf, 0x84, 0x6f, 0xeb, 0xf4, 0xfa, 0x18, 0xfc, 0xb2, 0xa0, + 0xb5, 0xed, 0x28, 0xf2, 0xa5, 0x54, 0x0d, 0xe2, 0x22, 0x2d, 0x7d, 0xab, 0x6d, 0x77, 0x9a, 0x54, + 0xc7, 0x64, 0x08, 0x6e, 0x82, 0x2c, 0x2b, 0x62, 0xc9, 0x33, 0x51, 0xfa, 0xb5, 0xb6, 0xdd, 0x71, + 0x7b, 0x2f, 0x0d, 0xb9, 0x32, 0xbc, 0xdb, 0x20, 0x8c, 0xb6, 0xc8, 0x81, 0x90, 0x45, 0x45, 0x77, + 0x6b, 0xc9, 0x31, 0xec, 0xf3, 0x72, 0xcc, 0x05, 0x97, 0x9a, 0x4b, 0x83, 0xee, 0xf1, 0x72, 0x28, + 0xb8, 0x3c, 0x39, 0x07, 0xef, 0xdf, 0x4a, 0xe2, 0x81, 0x7d, 0x8b, 0xd5, 0x5f, 0x7d, 0x2a, 0x24, + 0x47, 0x50, 0x5f, 0xc5, 0xf3, 0xa5, 0xd1, 0xd7, 0xa4, 0xe6, 0xf0, 0xae, 0xf6, 0xd6, 0x0a, 0x7e, + 0x5b, 0x70, 0xb8, 0x61, 0xf2, 0x39, 0x47, 0x46, 0x42, 0x70, 0x64, 0x95, 0xa3, 0x2e, 0x6f, 0xf5, + 0x4e, 0xee, 0xd1, 0x55, 0xa0, 0xf0, 0x4b, 0x95, 0x23, 0xd5, 0x38, 0xf2, 0x1a, 0x9a, 0x1b, 0xe3, + 0xc7, 0x3c, 0xd1, 0x23, 0xdc, 0xde, 0x93, 0xfb, 0x32, 0x23, 0xea, 0x6e, 0x80, 0xc3, 0x84, 0x9c, + 0x42, 0x9d, 0x2b, 0xe5, 0x5a, 0x90, 0xdb, 0x7b, 0xf6, 0xb0, 0x2f, 0xd4, 0x80, 0xd4, 0x65, 0x48, + 0xbe, 0xc0, 0x6c, 0x29, 0x7d, 0xa7, 0x6d, 0x75, 0xea, 0x74, 0x7d, 0x0c, 0xce, 0xc1, 0x51, 0x6c, + 0xc8, 0x21, 0x1c, 0x7c, 0x1d, 0x45, 0x83, 0x8f, 0xc3, 0xd1, 0x20, 0xf2, 0x1e, 0x11, 0x80, 0xbd, + 0xcb, 0x9b, 0xeb, 0xfe, 0xe8, 0xd2, 0xb3, 0x48, 0x03, 0x9c, 0xd1, 0x4d, 0x34, 0xf0, 0x6a, 0x64, + 0x1f, 0xec, 0x8b, 0x3e, 0xf5, 0x6c, 0x95, 0xba, 0xea, 0x7f, 0xeb, 0x7b, 0x4e, 0xf0, 0xd3, 0x82, + 0xe3, 0xcd, 0xcc, 0x08, 0xf3, 0x79, 0x56, 0x2d, 0x50, 0x48, 0xed, 0xc5, 0x7b, 0x68, 0x6d, 0xb5, + 0x95, 0x39, 0x32, 0xed, 0x8a, 0xdb, 0x7b, 0xfa, 0xa0, 0x2b, 0xf4, 0x90, 0xdd, 0x71, 0xf2, 0x39, + 0x34, 0x75, 0x61, 0x1e, 0xb3, 0xdb, 0x38, 0x45, 0x2d, 0xb4, 0x49, 0x5d, 0x95, 0xfb, 0x64, 0x52, + 0x57, 0x4e, 0xa3, 0xe6, 0xd9, 0x57, 0x4e, 0xc3, 0xf1, 0xea, 0xb4, 0x85, 0xd3, 0x29, 0x32, 0xc9, + 0x57, 0x38, 0x4e, 0x62, 0x89, 0xb4, 0x81, 0x3f, 0x90, 0x8d, 0x51, 0xac, 0x82, 0x7c, 0x87, 0xe1, + 0x50, 0xac, 0x32, 0xa6, 0x6f, 0xfb, 0xff, 0x19, 0x9a, 0xf1, 0xf4, 0x31, 0x4f, 0xc6, 0x29, 0x0a, + 0x34, 0x8f, 0x68, 0x1c, 0xcf, 0xd3, 0xe0, 0x0d, 0xb4, 0xae, 0xf9, 0x14, 0x59, 0xc5, 0xe6, 0x38, + 0x58, 0xa1, 0x90, 0xe4, 0xc5, 0xee, 0x20, 0xbd, 0x2b, 0xe6, 0x7d, 0x6d, 0x3b, 0x8e, 0xe2, 0x05, + 0x7e, 0xa0, 0x10, 0x64, 0x45, 0x1a, 0xce, 0xaa, 0x1c, 0x8b, 0x39, 0x26, 0x29, 0x16, 0xe1, 0x34, + 0x9e, 0x14, 0x9c, 0xad, 0xf9, 0xa8, 0x4d, 0xfd, 0x7e, 0x9a, 0x72, 0x39, 0x5b, 0x4e, 0x42, 0x96, + 0x2d, 0xba, 0x3b, 0xd0, 0xae, 0x81, 0x9e, 0x19, 0xe8, 0x59, 0x9a, 0x75, 0x15, 0x7a, 0x62, 0xf6, + 0xf8, 0xd5, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9b, 0xb7, 0x82, 0x88, 0xe6, 0x03, 0x00, 0x00, +} diff --git a/peer/chaincode_event.pb.go b/peer/chaincode_event.pb.go new file mode 100644 index 0000000..8f46696 --- /dev/null +++ b/peer/chaincode_event.pb.go @@ -0,0 +1,110 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/chaincode_event.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +//ChaincodeEvent is used for events and registrations that are specific to chaincode +//string type - "chaincode" +type ChaincodeEvent struct { + ChaincodeId string `protobuf:"bytes,1,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + TxId string `protobuf:"bytes,2,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` + EventName string `protobuf:"bytes,3,opt,name=event_name,json=eventName,proto3" json:"event_name,omitempty"` + Payload []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeEvent) Reset() { *m = ChaincodeEvent{} } +func (m *ChaincodeEvent) String() string { return proto.CompactTextString(m) } +func (*ChaincodeEvent) ProtoMessage() {} +func (*ChaincodeEvent) Descriptor() ([]byte, []int) { + return fileDescriptor_e11f3d5e149f14fa, []int{0} +} + +func (m *ChaincodeEvent) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeEvent.Unmarshal(m, b) +} +func (m *ChaincodeEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeEvent.Marshal(b, m, deterministic) +} +func (m *ChaincodeEvent) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeEvent.Merge(m, src) +} +func (m *ChaincodeEvent) XXX_Size() int { + return xxx_messageInfo_ChaincodeEvent.Size(m) +} +func (m *ChaincodeEvent) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeEvent.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeEvent proto.InternalMessageInfo + +func (m *ChaincodeEvent) GetChaincodeId() string { + if m != nil { + return m.ChaincodeId + } + return "" +} + +func (m *ChaincodeEvent) GetTxId() string { + if m != nil { + return m.TxId + } + return "" +} + +func (m *ChaincodeEvent) GetEventName() string { + if m != nil { + return m.EventName + } + return "" +} + +func (m *ChaincodeEvent) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func init() { + proto.RegisterType((*ChaincodeEvent)(nil), "protos.ChaincodeEvent") +} + +func init() { proto.RegisterFile("peer/chaincode_event.proto", fileDescriptor_e11f3d5e149f14fa) } + +var fileDescriptor_e11f3d5e149f14fa = []byte{ + // 221 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x2a, 0x48, 0x4d, 0x2d, + 0xd2, 0x4f, 0xce, 0x48, 0xcc, 0xcc, 0x4b, 0xce, 0x4f, 0x49, 0x8d, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, + 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x03, 0x53, 0xc5, 0x4a, 0x8d, 0x8c, 0x5c, 0x7c, + 0xce, 0x30, 0x15, 0xae, 0x20, 0x05, 0x42, 0x8a, 0x5c, 0x3c, 0x08, 0x3d, 0x99, 0x29, 0x12, 0x8c, + 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0xdc, 0x70, 0x31, 0xcf, 0x14, 0x21, 0x61, 0x2e, 0xd6, 0x92, 0x0a, + 0x90, 0x1c, 0x13, 0x58, 0x8e, 0xa5, 0xa4, 0xc2, 0x33, 0x45, 0x48, 0x96, 0x8b, 0x0b, 0x6c, 0x43, + 0x7c, 0x5e, 0x62, 0x6e, 0xaa, 0x04, 0x33, 0x58, 0x86, 0x13, 0x2c, 0xe2, 0x97, 0x98, 0x9b, 0x2a, + 0x24, 0xc1, 0xc5, 0x5e, 0x90, 0x58, 0x99, 0x93, 0x9f, 0x98, 0x22, 0xc1, 0xa2, 0xc0, 0xa8, 0xc1, + 0x13, 0x04, 0xe3, 0x3a, 0x65, 0x72, 0x29, 0xe5, 0x17, 0xa5, 0xeb, 0x65, 0x54, 0x16, 0xa4, 0x16, + 0xe5, 0xa4, 0xa6, 0xa4, 0xa7, 0x16, 0xe9, 0xa5, 0x25, 0x26, 0x15, 0x65, 0x26, 0x43, 0xdc, 0x5a, + 0xac, 0x07, 0xf2, 0x87, 0x93, 0x28, 0xaa, 0x33, 0x03, 0x12, 0x93, 0xb3, 0x13, 0xd3, 0x53, 0xa3, + 0x74, 0xd2, 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x91, 0x4c, 0xd0, 0x87, + 0x98, 0xa0, 0x0b, 0x31, 0x41, 0x37, 0x3d, 0x5f, 0x1f, 0x64, 0x48, 0x12, 0xc4, 0xdb, 0xc6, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xe0, 0xae, 0xf8, 0x1b, 0x01, 0x00, 0x00, +} diff --git a/peer/chaincode_shim.pb.go b/peer/chaincode_shim.pb.go new file mode 100644 index 0000000..18d3d05 --- /dev/null +++ b/peer/chaincode_shim.pb.go @@ -0,0 +1,1206 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/chaincode_shim.proto + +package peer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type ChaincodeMessage_Type int32 + +const ( + ChaincodeMessage_UNDEFINED ChaincodeMessage_Type = 0 + ChaincodeMessage_REGISTER ChaincodeMessage_Type = 1 + ChaincodeMessage_REGISTERED ChaincodeMessage_Type = 2 + ChaincodeMessage_INIT ChaincodeMessage_Type = 3 + ChaincodeMessage_READY ChaincodeMessage_Type = 4 + ChaincodeMessage_TRANSACTION ChaincodeMessage_Type = 5 + ChaincodeMessage_COMPLETED ChaincodeMessage_Type = 6 + ChaincodeMessage_ERROR ChaincodeMessage_Type = 7 + ChaincodeMessage_GET_STATE ChaincodeMessage_Type = 8 + ChaincodeMessage_PUT_STATE ChaincodeMessage_Type = 9 + ChaincodeMessage_DEL_STATE ChaincodeMessage_Type = 10 + ChaincodeMessage_INVOKE_CHAINCODE ChaincodeMessage_Type = 11 + ChaincodeMessage_RESPONSE ChaincodeMessage_Type = 13 + ChaincodeMessage_GET_STATE_BY_RANGE ChaincodeMessage_Type = 14 + ChaincodeMessage_GET_QUERY_RESULT ChaincodeMessage_Type = 15 + ChaincodeMessage_QUERY_STATE_NEXT ChaincodeMessage_Type = 16 + ChaincodeMessage_QUERY_STATE_CLOSE ChaincodeMessage_Type = 17 + ChaincodeMessage_KEEPALIVE ChaincodeMessage_Type = 18 + ChaincodeMessage_GET_HISTORY_FOR_KEY ChaincodeMessage_Type = 19 + ChaincodeMessage_GET_STATE_METADATA ChaincodeMessage_Type = 20 + ChaincodeMessage_PUT_STATE_METADATA ChaincodeMessage_Type = 21 + ChaincodeMessage_GET_PRIVATE_DATA_HASH ChaincodeMessage_Type = 22 +) + +var ChaincodeMessage_Type_name = map[int32]string{ + 0: "UNDEFINED", + 1: "REGISTER", + 2: "REGISTERED", + 3: "INIT", + 4: "READY", + 5: "TRANSACTION", + 6: "COMPLETED", + 7: "ERROR", + 8: "GET_STATE", + 9: "PUT_STATE", + 10: "DEL_STATE", + 11: "INVOKE_CHAINCODE", + 13: "RESPONSE", + 14: "GET_STATE_BY_RANGE", + 15: "GET_QUERY_RESULT", + 16: "QUERY_STATE_NEXT", + 17: "QUERY_STATE_CLOSE", + 18: "KEEPALIVE", + 19: "GET_HISTORY_FOR_KEY", + 20: "GET_STATE_METADATA", + 21: "PUT_STATE_METADATA", + 22: "GET_PRIVATE_DATA_HASH", +} + +var ChaincodeMessage_Type_value = map[string]int32{ + "UNDEFINED": 0, + "REGISTER": 1, + "REGISTERED": 2, + "INIT": 3, + "READY": 4, + "TRANSACTION": 5, + "COMPLETED": 6, + "ERROR": 7, + "GET_STATE": 8, + "PUT_STATE": 9, + "DEL_STATE": 10, + "INVOKE_CHAINCODE": 11, + "RESPONSE": 13, + "GET_STATE_BY_RANGE": 14, + "GET_QUERY_RESULT": 15, + "QUERY_STATE_NEXT": 16, + "QUERY_STATE_CLOSE": 17, + "KEEPALIVE": 18, + "GET_HISTORY_FOR_KEY": 19, + "GET_STATE_METADATA": 20, + "PUT_STATE_METADATA": 21, + "GET_PRIVATE_DATA_HASH": 22, +} + +func (x ChaincodeMessage_Type) String() string { + return proto.EnumName(ChaincodeMessage_Type_name, int32(x)) +} + +func (ChaincodeMessage_Type) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{0, 0} +} + +type ChaincodeMessage struct { + Type ChaincodeMessage_Type `protobuf:"varint,1,opt,name=type,proto3,enum=protos.ChaincodeMessage_Type" json:"type,omitempty"` + Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + Txid string `protobuf:"bytes,4,opt,name=txid,proto3" json:"txid,omitempty"` + Proposal *SignedProposal `protobuf:"bytes,5,opt,name=proposal,proto3" json:"proposal,omitempty"` + //event emitted by chaincode. Used only with Init or Invoke. + // This event is then stored (currently) + //with Block.NonHashData.TransactionResult + ChaincodeEvent *ChaincodeEvent `protobuf:"bytes,6,opt,name=chaincode_event,json=chaincodeEvent,proto3" json:"chaincode_event,omitempty"` + //channel id + ChannelId string `protobuf:"bytes,7,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeMessage) Reset() { *m = ChaincodeMessage{} } +func (m *ChaincodeMessage) String() string { return proto.CompactTextString(m) } +func (*ChaincodeMessage) ProtoMessage() {} +func (*ChaincodeMessage) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{0} +} + +func (m *ChaincodeMessage) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeMessage.Unmarshal(m, b) +} +func (m *ChaincodeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeMessage.Marshal(b, m, deterministic) +} +func (m *ChaincodeMessage) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeMessage.Merge(m, src) +} +func (m *ChaincodeMessage) XXX_Size() int { + return xxx_messageInfo_ChaincodeMessage.Size(m) +} +func (m *ChaincodeMessage) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeMessage.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeMessage proto.InternalMessageInfo + +func (m *ChaincodeMessage) GetType() ChaincodeMessage_Type { + if m != nil { + return m.Type + } + return ChaincodeMessage_UNDEFINED +} + +func (m *ChaincodeMessage) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *ChaincodeMessage) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *ChaincodeMessage) GetTxid() string { + if m != nil { + return m.Txid + } + return "" +} + +func (m *ChaincodeMessage) GetProposal() *SignedProposal { + if m != nil { + return m.Proposal + } + return nil +} + +func (m *ChaincodeMessage) GetChaincodeEvent() *ChaincodeEvent { + if m != nil { + return m.ChaincodeEvent + } + return nil +} + +func (m *ChaincodeMessage) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +// GetState is the payload of a ChaincodeMessage. It contains a key which +// is to be fetched from the ledger. If the collection is specified, the key +// would be fetched from the collection (i.e., private state) +type GetState struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetState) Reset() { *m = GetState{} } +func (m *GetState) String() string { return proto.CompactTextString(m) } +func (*GetState) ProtoMessage() {} +func (*GetState) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{1} +} + +func (m *GetState) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetState.Unmarshal(m, b) +} +func (m *GetState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetState.Marshal(b, m, deterministic) +} +func (m *GetState) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetState.Merge(m, src) +} +func (m *GetState) XXX_Size() int { + return xxx_messageInfo_GetState.Size(m) +} +func (m *GetState) XXX_DiscardUnknown() { + xxx_messageInfo_GetState.DiscardUnknown(m) +} + +var xxx_messageInfo_GetState proto.InternalMessageInfo + +func (m *GetState) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *GetState) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +type GetStateMetadata struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetStateMetadata) Reset() { *m = GetStateMetadata{} } +func (m *GetStateMetadata) String() string { return proto.CompactTextString(m) } +func (*GetStateMetadata) ProtoMessage() {} +func (*GetStateMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{2} +} + +func (m *GetStateMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetStateMetadata.Unmarshal(m, b) +} +func (m *GetStateMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetStateMetadata.Marshal(b, m, deterministic) +} +func (m *GetStateMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetStateMetadata.Merge(m, src) +} +func (m *GetStateMetadata) XXX_Size() int { + return xxx_messageInfo_GetStateMetadata.Size(m) +} +func (m *GetStateMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_GetStateMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_GetStateMetadata proto.InternalMessageInfo + +func (m *GetStateMetadata) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *GetStateMetadata) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +// PutState is the payload of a ChaincodeMessage. It contains a key and value +// which needs to be written to the transaction's write set. If the collection is +// specified, the key and value would be written to the transaction's private +// write set. +type PutState struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PutState) Reset() { *m = PutState{} } +func (m *PutState) String() string { return proto.CompactTextString(m) } +func (*PutState) ProtoMessage() {} +func (*PutState) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{3} +} + +func (m *PutState) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PutState.Unmarshal(m, b) +} +func (m *PutState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PutState.Marshal(b, m, deterministic) +} +func (m *PutState) XXX_Merge(src proto.Message) { + xxx_messageInfo_PutState.Merge(m, src) +} +func (m *PutState) XXX_Size() int { + return xxx_messageInfo_PutState.Size(m) +} +func (m *PutState) XXX_DiscardUnknown() { + xxx_messageInfo_PutState.DiscardUnknown(m) +} + +var xxx_messageInfo_PutState proto.InternalMessageInfo + +func (m *PutState) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *PutState) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +func (m *PutState) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +type PutStateMetadata struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + Metadata *StateMetadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PutStateMetadata) Reset() { *m = PutStateMetadata{} } +func (m *PutStateMetadata) String() string { return proto.CompactTextString(m) } +func (*PutStateMetadata) ProtoMessage() {} +func (*PutStateMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{4} +} + +func (m *PutStateMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PutStateMetadata.Unmarshal(m, b) +} +func (m *PutStateMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PutStateMetadata.Marshal(b, m, deterministic) +} +func (m *PutStateMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_PutStateMetadata.Merge(m, src) +} +func (m *PutStateMetadata) XXX_Size() int { + return xxx_messageInfo_PutStateMetadata.Size(m) +} +func (m *PutStateMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_PutStateMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_PutStateMetadata proto.InternalMessageInfo + +func (m *PutStateMetadata) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *PutStateMetadata) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *PutStateMetadata) GetMetadata() *StateMetadata { + if m != nil { + return m.Metadata + } + return nil +} + +// DelState is the payload of a ChaincodeMessage. It contains a key which +// needs to be recorded in the transaction's write set as a delete operation. +// If the collection is specified, the key needs to be recorded in the +// transaction's private write set as a delete operation. +type DelState struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelState) Reset() { *m = DelState{} } +func (m *DelState) String() string { return proto.CompactTextString(m) } +func (*DelState) ProtoMessage() {} +func (*DelState) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{5} +} + +func (m *DelState) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelState.Unmarshal(m, b) +} +func (m *DelState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelState.Marshal(b, m, deterministic) +} +func (m *DelState) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelState.Merge(m, src) +} +func (m *DelState) XXX_Size() int { + return xxx_messageInfo_DelState.Size(m) +} +func (m *DelState) XXX_DiscardUnknown() { + xxx_messageInfo_DelState.DiscardUnknown(m) +} + +var xxx_messageInfo_DelState proto.InternalMessageInfo + +func (m *DelState) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +func (m *DelState) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +// GetStateByRange is the payload of a ChaincodeMessage. It contains a start key and +// a end key required to execute range query. If the collection is specified, +// the range query needs to be executed on the private data. The metadata hold +// the byte representation of QueryMetadata. +type GetStateByRange struct { + StartKey string `protobuf:"bytes,1,opt,name=startKey,proto3" json:"startKey,omitempty"` + EndKey string `protobuf:"bytes,2,opt,name=endKey,proto3" json:"endKey,omitempty"` + Collection string `protobuf:"bytes,3,opt,name=collection,proto3" json:"collection,omitempty"` + Metadata []byte `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetStateByRange) Reset() { *m = GetStateByRange{} } +func (m *GetStateByRange) String() string { return proto.CompactTextString(m) } +func (*GetStateByRange) ProtoMessage() {} +func (*GetStateByRange) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{6} +} + +func (m *GetStateByRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetStateByRange.Unmarshal(m, b) +} +func (m *GetStateByRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetStateByRange.Marshal(b, m, deterministic) +} +func (m *GetStateByRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetStateByRange.Merge(m, src) +} +func (m *GetStateByRange) XXX_Size() int { + return xxx_messageInfo_GetStateByRange.Size(m) +} +func (m *GetStateByRange) XXX_DiscardUnknown() { + xxx_messageInfo_GetStateByRange.DiscardUnknown(m) +} + +var xxx_messageInfo_GetStateByRange proto.InternalMessageInfo + +func (m *GetStateByRange) GetStartKey() string { + if m != nil { + return m.StartKey + } + return "" +} + +func (m *GetStateByRange) GetEndKey() string { + if m != nil { + return m.EndKey + } + return "" +} + +func (m *GetStateByRange) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *GetStateByRange) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// GetQueryResult is the payload of a ChaincodeMessage. It contains a query +// string in the form that is supported by the underlying state database. +// If the collection is specified, the query needs to be executed on the +// private data. The metadata hold the byte representation of QueryMetadata. +type GetQueryResult struct { + Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Collection string `protobuf:"bytes,2,opt,name=collection,proto3" json:"collection,omitempty"` + Metadata []byte `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetQueryResult) Reset() { *m = GetQueryResult{} } +func (m *GetQueryResult) String() string { return proto.CompactTextString(m) } +func (*GetQueryResult) ProtoMessage() {} +func (*GetQueryResult) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{7} +} + +func (m *GetQueryResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetQueryResult.Unmarshal(m, b) +} +func (m *GetQueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetQueryResult.Marshal(b, m, deterministic) +} +func (m *GetQueryResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetQueryResult.Merge(m, src) +} +func (m *GetQueryResult) XXX_Size() int { + return xxx_messageInfo_GetQueryResult.Size(m) +} +func (m *GetQueryResult) XXX_DiscardUnknown() { + xxx_messageInfo_GetQueryResult.DiscardUnknown(m) +} + +var xxx_messageInfo_GetQueryResult proto.InternalMessageInfo + +func (m *GetQueryResult) GetQuery() string { + if m != nil { + return m.Query + } + return "" +} + +func (m *GetQueryResult) GetCollection() string { + if m != nil { + return m.Collection + } + return "" +} + +func (m *GetQueryResult) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// QueryMetadata is the metadata of a GetStateByRange and GetQueryResult. +// It contains a pageSize which denotes the number of records to be fetched +// and a bookmark. +type QueryMetadata struct { + PageSize int32 `protobuf:"varint,1,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Bookmark string `protobuf:"bytes,2,opt,name=bookmark,proto3" json:"bookmark,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryMetadata) Reset() { *m = QueryMetadata{} } +func (m *QueryMetadata) String() string { return proto.CompactTextString(m) } +func (*QueryMetadata) ProtoMessage() {} +func (*QueryMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{8} +} + +func (m *QueryMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryMetadata.Unmarshal(m, b) +} +func (m *QueryMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryMetadata.Marshal(b, m, deterministic) +} +func (m *QueryMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryMetadata.Merge(m, src) +} +func (m *QueryMetadata) XXX_Size() int { + return xxx_messageInfo_QueryMetadata.Size(m) +} +func (m *QueryMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_QueryMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryMetadata proto.InternalMessageInfo + +func (m *QueryMetadata) GetPageSize() int32 { + if m != nil { + return m.PageSize + } + return 0 +} + +func (m *QueryMetadata) GetBookmark() string { + if m != nil { + return m.Bookmark + } + return "" +} + +// GetHistoryForKey is the payload of a ChaincodeMessage. It contains a key +// for which the historical values need to be retrieved. +type GetHistoryForKey struct { + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetHistoryForKey) Reset() { *m = GetHistoryForKey{} } +func (m *GetHistoryForKey) String() string { return proto.CompactTextString(m) } +func (*GetHistoryForKey) ProtoMessage() {} +func (*GetHistoryForKey) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{9} +} + +func (m *GetHistoryForKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetHistoryForKey.Unmarshal(m, b) +} +func (m *GetHistoryForKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetHistoryForKey.Marshal(b, m, deterministic) +} +func (m *GetHistoryForKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetHistoryForKey.Merge(m, src) +} +func (m *GetHistoryForKey) XXX_Size() int { + return xxx_messageInfo_GetHistoryForKey.Size(m) +} +func (m *GetHistoryForKey) XXX_DiscardUnknown() { + xxx_messageInfo_GetHistoryForKey.DiscardUnknown(m) +} + +var xxx_messageInfo_GetHistoryForKey proto.InternalMessageInfo + +func (m *GetHistoryForKey) GetKey() string { + if m != nil { + return m.Key + } + return "" +} + +type QueryStateNext struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryStateNext) Reset() { *m = QueryStateNext{} } +func (m *QueryStateNext) String() string { return proto.CompactTextString(m) } +func (*QueryStateNext) ProtoMessage() {} +func (*QueryStateNext) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{10} +} + +func (m *QueryStateNext) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryStateNext.Unmarshal(m, b) +} +func (m *QueryStateNext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryStateNext.Marshal(b, m, deterministic) +} +func (m *QueryStateNext) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStateNext.Merge(m, src) +} +func (m *QueryStateNext) XXX_Size() int { + return xxx_messageInfo_QueryStateNext.Size(m) +} +func (m *QueryStateNext) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStateNext.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStateNext proto.InternalMessageInfo + +func (m *QueryStateNext) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +type QueryStateClose struct { + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryStateClose) Reset() { *m = QueryStateClose{} } +func (m *QueryStateClose) String() string { return proto.CompactTextString(m) } +func (*QueryStateClose) ProtoMessage() {} +func (*QueryStateClose) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{11} +} + +func (m *QueryStateClose) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryStateClose.Unmarshal(m, b) +} +func (m *QueryStateClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryStateClose.Marshal(b, m, deterministic) +} +func (m *QueryStateClose) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStateClose.Merge(m, src) +} +func (m *QueryStateClose) XXX_Size() int { + return xxx_messageInfo_QueryStateClose.Size(m) +} +func (m *QueryStateClose) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStateClose.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStateClose proto.InternalMessageInfo + +func (m *QueryStateClose) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +// QueryResultBytes hold the byte representation of a record returned by the peer. +type QueryResultBytes struct { + ResultBytes []byte `protobuf:"bytes,1,opt,name=resultBytes,proto3" json:"resultBytes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResultBytes) Reset() { *m = QueryResultBytes{} } +func (m *QueryResultBytes) String() string { return proto.CompactTextString(m) } +func (*QueryResultBytes) ProtoMessage() {} +func (*QueryResultBytes) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{12} +} + +func (m *QueryResultBytes) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResultBytes.Unmarshal(m, b) +} +func (m *QueryResultBytes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResultBytes.Marshal(b, m, deterministic) +} +func (m *QueryResultBytes) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResultBytes.Merge(m, src) +} +func (m *QueryResultBytes) XXX_Size() int { + return xxx_messageInfo_QueryResultBytes.Size(m) +} +func (m *QueryResultBytes) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResultBytes.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResultBytes proto.InternalMessageInfo + +func (m *QueryResultBytes) GetResultBytes() []byte { + if m != nil { + return m.ResultBytes + } + return nil +} + +// QueryResponse is returned by the peer as a result of a GetStateByRange, +// GetQueryResult, and GetHistoryForKey. It holds a bunch of records in +// results field, a flag to denote whether more results need to be fetched from +// the peer in has_more field, transaction id in id field, and a QueryResponseMetadata +// in metadata field. +type QueryResponse struct { + Results []*QueryResultBytes `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + HasMore bool `protobuf:"varint,2,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Metadata []byte `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResponse) Reset() { *m = QueryResponse{} } +func (m *QueryResponse) String() string { return proto.CompactTextString(m) } +func (*QueryResponse) ProtoMessage() {} +func (*QueryResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{13} +} + +func (m *QueryResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResponse.Unmarshal(m, b) +} +func (m *QueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResponse.Marshal(b, m, deterministic) +} +func (m *QueryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResponse.Merge(m, src) +} +func (m *QueryResponse) XXX_Size() int { + return xxx_messageInfo_QueryResponse.Size(m) +} +func (m *QueryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResponse proto.InternalMessageInfo + +func (m *QueryResponse) GetResults() []*QueryResultBytes { + if m != nil { + return m.Results + } + return nil +} + +func (m *QueryResponse) GetHasMore() bool { + if m != nil { + return m.HasMore + } + return false +} + +func (m *QueryResponse) GetId() string { + if m != nil { + return m.Id + } + return "" +} + +func (m *QueryResponse) GetMetadata() []byte { + if m != nil { + return m.Metadata + } + return nil +} + +// QueryResponseMetadata is the metadata of a QueryResponse. It contains a count +// which denotes the number of records fetched from the ledger and a bookmark. +type QueryResponseMetadata struct { + FetchedRecordsCount int32 `protobuf:"varint,1,opt,name=fetched_records_count,json=fetchedRecordsCount,proto3" json:"fetched_records_count,omitempty"` + Bookmark string `protobuf:"bytes,2,opt,name=bookmark,proto3" json:"bookmark,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryResponseMetadata) Reset() { *m = QueryResponseMetadata{} } +func (m *QueryResponseMetadata) String() string { return proto.CompactTextString(m) } +func (*QueryResponseMetadata) ProtoMessage() {} +func (*QueryResponseMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{14} +} + +func (m *QueryResponseMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryResponseMetadata.Unmarshal(m, b) +} +func (m *QueryResponseMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryResponseMetadata.Marshal(b, m, deterministic) +} +func (m *QueryResponseMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryResponseMetadata.Merge(m, src) +} +func (m *QueryResponseMetadata) XXX_Size() int { + return xxx_messageInfo_QueryResponseMetadata.Size(m) +} +func (m *QueryResponseMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_QueryResponseMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryResponseMetadata proto.InternalMessageInfo + +func (m *QueryResponseMetadata) GetFetchedRecordsCount() int32 { + if m != nil { + return m.FetchedRecordsCount + } + return 0 +} + +func (m *QueryResponseMetadata) GetBookmark() string { + if m != nil { + return m.Bookmark + } + return "" +} + +type StateMetadata struct { + Metakey string `protobuf:"bytes,1,opt,name=metakey,proto3" json:"metakey,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateMetadata) Reset() { *m = StateMetadata{} } +func (m *StateMetadata) String() string { return proto.CompactTextString(m) } +func (*StateMetadata) ProtoMessage() {} +func (*StateMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{15} +} + +func (m *StateMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateMetadata.Unmarshal(m, b) +} +func (m *StateMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateMetadata.Marshal(b, m, deterministic) +} +func (m *StateMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateMetadata.Merge(m, src) +} +func (m *StateMetadata) XXX_Size() int { + return xxx_messageInfo_StateMetadata.Size(m) +} +func (m *StateMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_StateMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_StateMetadata proto.InternalMessageInfo + +func (m *StateMetadata) GetMetakey() string { + if m != nil { + return m.Metakey + } + return "" +} + +func (m *StateMetadata) GetValue() []byte { + if m != nil { + return m.Value + } + return nil +} + +type StateMetadataResult struct { + Entries []*StateMetadata `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateMetadataResult) Reset() { *m = StateMetadataResult{} } +func (m *StateMetadataResult) String() string { return proto.CompactTextString(m) } +func (*StateMetadataResult) ProtoMessage() {} +func (*StateMetadataResult) Descriptor() ([]byte, []int) { + return fileDescriptor_e5819fec16c96da2, []int{16} +} + +func (m *StateMetadataResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateMetadataResult.Unmarshal(m, b) +} +func (m *StateMetadataResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateMetadataResult.Marshal(b, m, deterministic) +} +func (m *StateMetadataResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateMetadataResult.Merge(m, src) +} +func (m *StateMetadataResult) XXX_Size() int { + return xxx_messageInfo_StateMetadataResult.Size(m) +} +func (m *StateMetadataResult) XXX_DiscardUnknown() { + xxx_messageInfo_StateMetadataResult.DiscardUnknown(m) +} + +var xxx_messageInfo_StateMetadataResult proto.InternalMessageInfo + +func (m *StateMetadataResult) GetEntries() []*StateMetadata { + if m != nil { + return m.Entries + } + return nil +} + +func init() { + proto.RegisterEnum("protos.ChaincodeMessage_Type", ChaincodeMessage_Type_name, ChaincodeMessage_Type_value) + proto.RegisterType((*ChaincodeMessage)(nil), "protos.ChaincodeMessage") + proto.RegisterType((*GetState)(nil), "protos.GetState") + proto.RegisterType((*GetStateMetadata)(nil), "protos.GetStateMetadata") + proto.RegisterType((*PutState)(nil), "protos.PutState") + proto.RegisterType((*PutStateMetadata)(nil), "protos.PutStateMetadata") + proto.RegisterType((*DelState)(nil), "protos.DelState") + proto.RegisterType((*GetStateByRange)(nil), "protos.GetStateByRange") + proto.RegisterType((*GetQueryResult)(nil), "protos.GetQueryResult") + proto.RegisterType((*QueryMetadata)(nil), "protos.QueryMetadata") + proto.RegisterType((*GetHistoryForKey)(nil), "protos.GetHistoryForKey") + proto.RegisterType((*QueryStateNext)(nil), "protos.QueryStateNext") + proto.RegisterType((*QueryStateClose)(nil), "protos.QueryStateClose") + proto.RegisterType((*QueryResultBytes)(nil), "protos.QueryResultBytes") + proto.RegisterType((*QueryResponse)(nil), "protos.QueryResponse") + proto.RegisterType((*QueryResponseMetadata)(nil), "protos.QueryResponseMetadata") + proto.RegisterType((*StateMetadata)(nil), "protos.StateMetadata") + proto.RegisterType((*StateMetadataResult)(nil), "protos.StateMetadataResult") +} + +func init() { proto.RegisterFile("peer/chaincode_shim.proto", fileDescriptor_e5819fec16c96da2) } + +var fileDescriptor_e5819fec16c96da2 = []byte{ + // 1027 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcf, 0x73, 0xda, 0x46, + 0x14, 0x2e, 0x06, 0x8c, 0x78, 0xd8, 0x78, 0xb3, 0x0e, 0x2e, 0x66, 0x26, 0x2d, 0x65, 0x7a, 0xe0, + 0xd0, 0x40, 0x43, 0x7b, 0xe8, 0xa1, 0x33, 0x19, 0x0c, 0x6b, 0xcc, 0xd8, 0x06, 0xb2, 0x92, 0x3d, + 0x75, 0x2f, 0x1a, 0x21, 0xad, 0x85, 0xc6, 0x42, 0xab, 0x4a, 0x4b, 0x1a, 0x7a, 0xeb, 0xb5, 0xc7, + 0xfe, 0x71, 0xfd, 0x7b, 0x3a, 0xab, 0x5f, 0x06, 0x5c, 0x27, 0x9d, 0x9c, 0xd0, 0xf7, 0xde, 0xb7, + 0xdf, 0xfb, 0xb5, 0x0f, 0x09, 0x4e, 0x7d, 0xc6, 0x82, 0xae, 0xb9, 0x30, 0x1c, 0xcf, 0xe4, 0x16, + 0xd3, 0xc3, 0x85, 0xb3, 0xec, 0xf8, 0x01, 0x17, 0x1c, 0xef, 0x47, 0x3f, 0x61, 0xa3, 0xb1, 0x43, + 0x61, 0xef, 0x99, 0x27, 0x62, 0x4e, 0xe3, 0x38, 0xf2, 0xf9, 0x01, 0xf7, 0x79, 0x68, 0xb8, 0x89, + 0xf1, 0x6b, 0x9b, 0x73, 0xdb, 0x65, 0xdd, 0x08, 0xcd, 0x57, 0xf7, 0x5d, 0xe1, 0x2c, 0x59, 0x28, + 0x8c, 0xa5, 0x1f, 0x13, 0x5a, 0xff, 0x14, 0x01, 0x0d, 0x52, 0xbd, 0x6b, 0x16, 0x86, 0x86, 0xcd, + 0xf0, 0x1b, 0x28, 0x88, 0xb5, 0xcf, 0xea, 0xb9, 0x66, 0xae, 0x5d, 0xed, 0xbd, 0x8a, 0xa9, 0x61, + 0x67, 0x97, 0xd7, 0xd1, 0xd6, 0x3e, 0xa3, 0x11, 0x15, 0xff, 0x04, 0xe5, 0x4c, 0xba, 0xbe, 0xd7, + 0xcc, 0xb5, 0x2b, 0xbd, 0x46, 0x27, 0x0e, 0xde, 0x49, 0x83, 0x77, 0xb4, 0x94, 0x41, 0x1f, 0xc9, + 0xb8, 0x0e, 0x25, 0xdf, 0x58, 0xbb, 0xdc, 0xb0, 0xea, 0xf9, 0x66, 0xae, 0x7d, 0x40, 0x53, 0x88, + 0x31, 0x14, 0xc4, 0x07, 0xc7, 0xaa, 0x17, 0x9a, 0xb9, 0x76, 0x99, 0x46, 0xcf, 0xb8, 0x07, 0x4a, + 0x5a, 0x62, 0xbd, 0x18, 0x85, 0x39, 0x49, 0xd3, 0x53, 0x1d, 0xdb, 0x63, 0xd6, 0x2c, 0xf1, 0xd2, + 0x8c, 0x87, 0xdf, 0xc2, 0xd1, 0x4e, 0xcb, 0xea, 0xfb, 0xdb, 0x47, 0xb3, 0xca, 0x88, 0xf4, 0xd2, + 0xaa, 0xb9, 0x85, 0xf1, 0x2b, 0x00, 0x73, 0x61, 0x78, 0x1e, 0x73, 0x75, 0xc7, 0xaa, 0x97, 0xa2, + 0x74, 0xca, 0x89, 0x65, 0x6c, 0xb5, 0xfe, 0xce, 0x43, 0x41, 0xb6, 0x02, 0x1f, 0x42, 0xf9, 0x66, + 0x32, 0x24, 0xe7, 0xe3, 0x09, 0x19, 0xa2, 0x2f, 0xf0, 0x01, 0x28, 0x94, 0x8c, 0xc6, 0xaa, 0x46, + 0x28, 0xca, 0xe1, 0x2a, 0x40, 0x8a, 0xc8, 0x10, 0xed, 0x61, 0x05, 0x0a, 0xe3, 0xc9, 0x58, 0x43, + 0x79, 0x5c, 0x86, 0x22, 0x25, 0xfd, 0xe1, 0x1d, 0x2a, 0xe0, 0x23, 0xa8, 0x68, 0xb4, 0x3f, 0x51, + 0xfb, 0x03, 0x6d, 0x3c, 0x9d, 0xa0, 0xa2, 0x94, 0x1c, 0x4c, 0xaf, 0x67, 0x57, 0x44, 0x23, 0x43, + 0xb4, 0x2f, 0xa9, 0x84, 0xd2, 0x29, 0x45, 0x25, 0xe9, 0x19, 0x11, 0x4d, 0x57, 0xb5, 0xbe, 0x46, + 0x90, 0x22, 0xe1, 0xec, 0x26, 0x85, 0x65, 0x09, 0x87, 0xe4, 0x2a, 0x81, 0x80, 0x5f, 0x02, 0x1a, + 0x4f, 0x6e, 0xa7, 0x97, 0x44, 0x1f, 0x5c, 0xf4, 0xc7, 0x93, 0xc1, 0x74, 0x48, 0x50, 0x25, 0x4e, + 0x50, 0x9d, 0x4d, 0x27, 0x2a, 0x41, 0x87, 0xf8, 0x04, 0x70, 0x26, 0xa8, 0x9f, 0xdd, 0xe9, 0xb4, + 0x3f, 0x19, 0x11, 0x54, 0x95, 0x67, 0xa5, 0xfd, 0xdd, 0x0d, 0xa1, 0x77, 0x3a, 0x25, 0xea, 0xcd, + 0x95, 0x86, 0x8e, 0xa4, 0x35, 0xb6, 0xc4, 0xfc, 0x09, 0xf9, 0x45, 0x43, 0x08, 0xd7, 0xe0, 0xc5, + 0xa6, 0x75, 0x70, 0x35, 0x55, 0x09, 0x7a, 0x21, 0xb3, 0xb9, 0x24, 0x64, 0xd6, 0xbf, 0x1a, 0xdf, + 0x12, 0x84, 0xf1, 0x97, 0x70, 0x2c, 0x15, 0x2f, 0xc6, 0xaa, 0x36, 0xa5, 0x77, 0xfa, 0xf9, 0x94, + 0xea, 0x97, 0xe4, 0x0e, 0x1d, 0x6f, 0xa7, 0x70, 0x4d, 0xb4, 0xfe, 0xb0, 0xaf, 0xf5, 0xd1, 0x4b, + 0x69, 0xcf, 0x8a, 0x7b, 0xb4, 0xd7, 0xf0, 0x29, 0xd4, 0x24, 0x7f, 0x46, 0xc7, 0xb7, 0xd2, 0x23, + 0xad, 0xfa, 0x45, 0x5f, 0xbd, 0x40, 0x27, 0xad, 0x9f, 0x41, 0x19, 0x31, 0xa1, 0x0a, 0x43, 0x30, + 0x8c, 0x20, 0xff, 0xc0, 0xd6, 0xd1, 0x75, 0x2e, 0x53, 0xf9, 0x88, 0xbf, 0x02, 0x30, 0xb9, 0xeb, + 0x32, 0x53, 0x38, 0xdc, 0x8b, 0xee, 0x6b, 0x99, 0x6e, 0x58, 0x5a, 0x43, 0x40, 0xe9, 0xe9, 0x6b, + 0x26, 0x0c, 0xcb, 0x10, 0xc6, 0x67, 0xa8, 0x50, 0x50, 0x66, 0xab, 0x67, 0x73, 0x78, 0x09, 0xc5, + 0xf7, 0x86, 0xbb, 0x62, 0xd1, 0xc1, 0x03, 0x1a, 0x83, 0x1d, 0xcd, 0xfc, 0x13, 0xcd, 0xdf, 0x01, + 0xa5, 0x9a, 0xff, 0x3b, 0xb3, 0x27, 0x2a, 0xf8, 0x0d, 0x28, 0xcb, 0xe4, 0x74, 0xb4, 0x5e, 0x95, + 0x5e, 0x2d, 0x5b, 0xa3, 0x4d, 0x69, 0x9a, 0xd1, 0x64, 0x43, 0x87, 0xcc, 0xfd, 0xdc, 0x86, 0xfe, + 0x99, 0x83, 0xa3, 0xb4, 0xa3, 0x67, 0x6b, 0x6a, 0x78, 0x36, 0xc3, 0x0d, 0x50, 0x42, 0x61, 0x04, + 0xe2, 0x32, 0x93, 0xca, 0x30, 0x3e, 0x81, 0x7d, 0xe6, 0x59, 0xd2, 0x13, 0x6b, 0x25, 0xe8, 0x93, + 0x85, 0x35, 0x76, 0x0a, 0x3b, 0xd8, 0xa8, 0x60, 0x0e, 0xd5, 0x11, 0x13, 0xef, 0x56, 0x2c, 0x58, + 0x53, 0x16, 0xae, 0x5c, 0x21, 0x47, 0xf0, 0x9b, 0x84, 0x49, 0xf8, 0x18, 0x7c, 0xaa, 0x96, 0xad, + 0x18, 0xf9, 0x9d, 0x18, 0x23, 0x38, 0x8c, 0x02, 0x64, 0xb3, 0x69, 0x80, 0xe2, 0x1b, 0x36, 0x53, + 0x9d, 0x3f, 0xe2, 0xff, 0xd3, 0x22, 0xcd, 0xb0, 0xf4, 0xcd, 0x39, 0x7f, 0x58, 0x1a, 0xc1, 0x43, + 0x12, 0x26, 0xc3, 0xad, 0x6f, 0xa3, 0x1b, 0x78, 0xe1, 0x84, 0x82, 0x07, 0xeb, 0x73, 0x1e, 0xc8, + 0xe2, 0x9f, 0xb4, 0xbd, 0xd5, 0x84, 0x6a, 0x14, 0x2e, 0xea, 0xeb, 0x84, 0x7d, 0x10, 0xb8, 0x0a, + 0x7b, 0x8e, 0x95, 0x50, 0xf6, 0x1c, 0xab, 0xf5, 0x0d, 0x1c, 0x3d, 0x32, 0x06, 0x2e, 0x0f, 0xd9, + 0x13, 0xca, 0x8f, 0x80, 0x36, 0x9a, 0x72, 0xb6, 0x16, 0x2c, 0xc4, 0x4d, 0xa8, 0x04, 0x8f, 0x30, + 0x22, 0x1f, 0xd0, 0x4d, 0x53, 0xeb, 0xaf, 0x5c, 0x52, 0x2a, 0x65, 0xa1, 0xcf, 0xbd, 0x90, 0xe1, + 0x1e, 0x94, 0x62, 0x82, 0xe4, 0xe7, 0xdb, 0x95, 0x5e, 0x3d, 0xbd, 0x53, 0xbb, 0xf2, 0x34, 0x25, + 0xe2, 0x53, 0x50, 0x16, 0x46, 0xa8, 0x2f, 0x79, 0x10, 0xef, 0x81, 0x42, 0x4b, 0x0b, 0x23, 0xbc, + 0xe6, 0x41, 0x9a, 0x66, 0x3e, 0x4d, 0xf3, 0xa3, 0xa3, 0xb5, 0xa1, 0xb6, 0x95, 0x4b, 0xd6, 0xfe, + 0x1e, 0xd4, 0xee, 0x99, 0x30, 0x17, 0xcc, 0xd2, 0x03, 0x66, 0xf2, 0xc0, 0x0a, 0x75, 0x93, 0xaf, + 0x3c, 0x91, 0xcc, 0xe2, 0x38, 0x71, 0xd2, 0xd8, 0x37, 0x90, 0xae, 0x8f, 0x8e, 0xe5, 0x2d, 0x1c, + 0x6e, 0xef, 0x5e, 0x1d, 0x4a, 0x32, 0x8b, 0xc7, 0xb9, 0xa4, 0xf0, 0xbf, 0xf7, 0xbb, 0x75, 0x0e, + 0xc7, 0xdb, 0x1b, 0x16, 0xdf, 0xc4, 0x2e, 0x94, 0x98, 0x27, 0x02, 0x87, 0xa5, 0xbd, 0x7b, 0x66, + 0x1f, 0x53, 0x56, 0xef, 0x76, 0xe3, 0xbd, 0xad, 0xae, 0x7c, 0x9f, 0x07, 0x02, 0x9f, 0x81, 0x42, + 0x99, 0xed, 0x84, 0x82, 0x05, 0xb8, 0xfe, 0xdc, 0x5b, 0xbb, 0xf1, 0xac, 0xa7, 0x9d, 0xfb, 0x3e, + 0x77, 0x46, 0xa1, 0xc5, 0x03, 0xbb, 0xb3, 0x58, 0xfb, 0x2c, 0x70, 0x99, 0x65, 0xb3, 0xa0, 0x73, + 0x6f, 0xcc, 0x03, 0xc7, 0x4c, 0x4f, 0xc9, 0xcf, 0x8c, 0x5f, 0xbf, 0xb3, 0x1d, 0xb1, 0x58, 0xcd, + 0x3b, 0x26, 0x5f, 0x76, 0x37, 0xa8, 0xdd, 0x98, 0xfa, 0x3a, 0xa6, 0xbe, 0xb6, 0x79, 0x57, 0xb2, + 0xe7, 0xf1, 0xe7, 0xcb, 0x0f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x25, 0xfe, 0x3a, 0x5b, 0xe2, + 0x08, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// ChaincodeSupportClient is the client API for ChaincodeSupport service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ChaincodeSupportClient interface { + Register(ctx context.Context, opts ...grpc.CallOption) (ChaincodeSupport_RegisterClient, error) +} + +type chaincodeSupportClient struct { + cc *grpc.ClientConn +} + +func NewChaincodeSupportClient(cc *grpc.ClientConn) ChaincodeSupportClient { + return &chaincodeSupportClient{cc} +} + +func (c *chaincodeSupportClient) Register(ctx context.Context, opts ...grpc.CallOption) (ChaincodeSupport_RegisterClient, error) { + stream, err := c.cc.NewStream(ctx, &_ChaincodeSupport_serviceDesc.Streams[0], "/protos.ChaincodeSupport/Register", opts...) + if err != nil { + return nil, err + } + x := &chaincodeSupportRegisterClient{stream} + return x, nil +} + +type ChaincodeSupport_RegisterClient interface { + Send(*ChaincodeMessage) error + Recv() (*ChaincodeMessage, error) + grpc.ClientStream +} + +type chaincodeSupportRegisterClient struct { + grpc.ClientStream +} + +func (x *chaincodeSupportRegisterClient) Send(m *ChaincodeMessage) error { + return x.ClientStream.SendMsg(m) +} + +func (x *chaincodeSupportRegisterClient) Recv() (*ChaincodeMessage, error) { + m := new(ChaincodeMessage) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// ChaincodeSupportServer is the server API for ChaincodeSupport service. +type ChaincodeSupportServer interface { + Register(ChaincodeSupport_RegisterServer) error +} + +// UnimplementedChaincodeSupportServer can be embedded to have forward compatible implementations. +type UnimplementedChaincodeSupportServer struct { +} + +func (*UnimplementedChaincodeSupportServer) Register(srv ChaincodeSupport_RegisterServer) error { + return status.Errorf(codes.Unimplemented, "method Register not implemented") +} + +func RegisterChaincodeSupportServer(s *grpc.Server, srv ChaincodeSupportServer) { + s.RegisterService(&_ChaincodeSupport_serviceDesc, srv) +} + +func _ChaincodeSupport_Register_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ChaincodeSupportServer).Register(&chaincodeSupportRegisterServer{stream}) +} + +type ChaincodeSupport_RegisterServer interface { + Send(*ChaincodeMessage) error + Recv() (*ChaincodeMessage, error) + grpc.ServerStream +} + +type chaincodeSupportRegisterServer struct { + grpc.ServerStream +} + +func (x *chaincodeSupportRegisterServer) Send(m *ChaincodeMessage) error { + return x.ServerStream.SendMsg(m) +} + +func (x *chaincodeSupportRegisterServer) Recv() (*ChaincodeMessage, error) { + m := new(ChaincodeMessage) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _ChaincodeSupport_serviceDesc = grpc.ServiceDesc{ + ServiceName: "protos.ChaincodeSupport", + HandlerType: (*ChaincodeSupportServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Register", + Handler: _ChaincodeSupport_Register_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "peer/chaincode_shim.proto", +} diff --git a/peer/configuration.pb.go b/peer/configuration.pb.go new file mode 100644 index 0000000..c85f2c0 --- /dev/null +++ b/peer/configuration.pb.go @@ -0,0 +1,225 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/configuration.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// AnchorPeers simply represents list of anchor peers which is used in ConfigurationItem +type AnchorPeers struct { + AnchorPeers []*AnchorPeer `protobuf:"bytes,1,rep,name=anchor_peers,json=anchorPeers,proto3" json:"anchor_peers,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnchorPeers) Reset() { *m = AnchorPeers{} } +func (m *AnchorPeers) String() string { return proto.CompactTextString(m) } +func (*AnchorPeers) ProtoMessage() {} +func (*AnchorPeers) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{0} +} + +func (m *AnchorPeers) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnchorPeers.Unmarshal(m, b) +} +func (m *AnchorPeers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnchorPeers.Marshal(b, m, deterministic) +} +func (m *AnchorPeers) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnchorPeers.Merge(m, src) +} +func (m *AnchorPeers) XXX_Size() int { + return xxx_messageInfo_AnchorPeers.Size(m) +} +func (m *AnchorPeers) XXX_DiscardUnknown() { + xxx_messageInfo_AnchorPeers.DiscardUnknown(m) +} + +var xxx_messageInfo_AnchorPeers proto.InternalMessageInfo + +func (m *AnchorPeers) GetAnchorPeers() []*AnchorPeer { + if m != nil { + return m.AnchorPeers + } + return nil +} + +// AnchorPeer message structure which provides information about anchor peer, it includes host name, +// port number and peer certificate. +type AnchorPeer struct { + Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AnchorPeer) Reset() { *m = AnchorPeer{} } +func (m *AnchorPeer) String() string { return proto.CompactTextString(m) } +func (*AnchorPeer) ProtoMessage() {} +func (*AnchorPeer) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{1} +} + +func (m *AnchorPeer) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AnchorPeer.Unmarshal(m, b) +} +func (m *AnchorPeer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AnchorPeer.Marshal(b, m, deterministic) +} +func (m *AnchorPeer) XXX_Merge(src proto.Message) { + xxx_messageInfo_AnchorPeer.Merge(m, src) +} +func (m *AnchorPeer) XXX_Size() int { + return xxx_messageInfo_AnchorPeer.Size(m) +} +func (m *AnchorPeer) XXX_DiscardUnknown() { + xxx_messageInfo_AnchorPeer.DiscardUnknown(m) +} + +var xxx_messageInfo_AnchorPeer proto.InternalMessageInfo + +func (m *AnchorPeer) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +func (m *AnchorPeer) GetPort() int32 { + if m != nil { + return m.Port + } + return 0 +} + +// APIResource represents an API resource in the peer whose ACL +// is determined by the policy_ref field +type APIResource struct { + PolicyRef string `protobuf:"bytes,1,opt,name=policy_ref,json=policyRef,proto3" json:"policy_ref,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *APIResource) Reset() { *m = APIResource{} } +func (m *APIResource) String() string { return proto.CompactTextString(m) } +func (*APIResource) ProtoMessage() {} +func (*APIResource) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{2} +} + +func (m *APIResource) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_APIResource.Unmarshal(m, b) +} +func (m *APIResource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_APIResource.Marshal(b, m, deterministic) +} +func (m *APIResource) XXX_Merge(src proto.Message) { + xxx_messageInfo_APIResource.Merge(m, src) +} +func (m *APIResource) XXX_Size() int { + return xxx_messageInfo_APIResource.Size(m) +} +func (m *APIResource) XXX_DiscardUnknown() { + xxx_messageInfo_APIResource.DiscardUnknown(m) +} + +var xxx_messageInfo_APIResource proto.InternalMessageInfo + +func (m *APIResource) GetPolicyRef() string { + if m != nil { + return m.PolicyRef + } + return "" +} + +// ACLs provides mappings for resources in a channel. APIResource encapsulates +// reference to a policy used to determine ACL for the resource +type ACLs struct { + Acls map[string]*APIResource `protobuf:"bytes,1,rep,name=acls,proto3" json:"acls,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ACLs) Reset() { *m = ACLs{} } +func (m *ACLs) String() string { return proto.CompactTextString(m) } +func (*ACLs) ProtoMessage() {} +func (*ACLs) Descriptor() ([]byte, []int) { + return fileDescriptor_4978ae8738390a60, []int{3} +} + +func (m *ACLs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ACLs.Unmarshal(m, b) +} +func (m *ACLs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ACLs.Marshal(b, m, deterministic) +} +func (m *ACLs) XXX_Merge(src proto.Message) { + xxx_messageInfo_ACLs.Merge(m, src) +} +func (m *ACLs) XXX_Size() int { + return xxx_messageInfo_ACLs.Size(m) +} +func (m *ACLs) XXX_DiscardUnknown() { + xxx_messageInfo_ACLs.DiscardUnknown(m) +} + +var xxx_messageInfo_ACLs proto.InternalMessageInfo + +func (m *ACLs) GetAcls() map[string]*APIResource { + if m != nil { + return m.Acls + } + return nil +} + +func init() { + proto.RegisterType((*AnchorPeers)(nil), "protos.AnchorPeers") + proto.RegisterType((*AnchorPeer)(nil), "protos.AnchorPeer") + proto.RegisterType((*APIResource)(nil), "protos.APIResource") + proto.RegisterType((*ACLs)(nil), "protos.ACLs") + proto.RegisterMapType((map[string]*APIResource)(nil), "protos.ACLs.AclsEntry") +} + +func init() { proto.RegisterFile("peer/configuration.proto", fileDescriptor_4978ae8738390a60) } + +var fileDescriptor_4978ae8738390a60 = []byte{ + // 296 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xcd, 0x4b, 0xc3, 0x40, + 0x10, 0xc5, 0x49, 0x3f, 0x84, 0x4e, 0x3c, 0xc8, 0x0a, 0x12, 0x04, 0xa1, 0xe4, 0x54, 0xa5, 0x4d, + 0xa0, 0x2a, 0x88, 0xb7, 0x58, 0x3d, 0x08, 0x3d, 0x94, 0x3d, 0x7a, 0x29, 0xe9, 0x3a, 0xf9, 0xc0, + 0x98, 0x09, 0xb3, 0x89, 0x90, 0x9b, 0x7f, 0xba, 0x64, 0xb7, 0x4d, 0x3c, 0xed, 0xdb, 0xb7, 0xbf, + 0x37, 0x3c, 0x76, 0xc0, 0xab, 0x10, 0x39, 0x54, 0x54, 0x26, 0x79, 0xda, 0x70, 0x5c, 0xe7, 0x54, + 0x06, 0x15, 0x53, 0x4d, 0xe2, 0xcc, 0x1c, 0xda, 0x7f, 0x05, 0x37, 0x2a, 0x55, 0x46, 0xbc, 0x43, + 0x64, 0x2d, 0x1e, 0xe1, 0x3c, 0x36, 0xd7, 0x7d, 0x97, 0xd4, 0x9e, 0x33, 0x1f, 0x2f, 0xdc, 0xb5, + 0xb0, 0x21, 0x1d, 0x0c, 0xa8, 0x74, 0xe3, 0x21, 0xe6, 0x3f, 0x00, 0x0c, 0x4f, 0x42, 0xc0, 0x24, + 0x23, 0x5d, 0x7b, 0xce, 0xdc, 0x59, 0xcc, 0xa4, 0xd1, 0x9d, 0x57, 0x11, 0xd7, 0xde, 0x68, 0xee, + 0x2c, 0xa6, 0xd2, 0x68, 0x7f, 0x09, 0x6e, 0xb4, 0x7b, 0x97, 0xa8, 0xa9, 0x61, 0x85, 0xe2, 0x06, + 0xa0, 0xa2, 0x22, 0x57, 0xed, 0x9e, 0x31, 0x39, 0x86, 0x67, 0xd6, 0x91, 0x98, 0xf8, 0xbf, 0x0e, + 0x4c, 0xa2, 0xcd, 0x56, 0x8b, 0x3b, 0x98, 0xc4, 0xaa, 0x38, 0x75, 0xbb, 0xea, 0xbb, 0x6d, 0xb6, + 0x3a, 0x88, 0x54, 0xa1, 0xdf, 0xca, 0x9a, 0x5b, 0x69, 0x98, 0xeb, 0x2d, 0xcc, 0x7a, 0x4b, 0x5c, + 0xc0, 0xf8, 0x0b, 0xdb, 0xe3, 0xe4, 0x4e, 0x8a, 0x5b, 0x98, 0xfe, 0xc4, 0x45, 0x83, 0xa6, 0x96, + 0xbb, 0xbe, 0xec, 0x67, 0x0d, 0xb5, 0xa4, 0x25, 0x9e, 0x47, 0x4f, 0xce, 0x8b, 0x04, 0x9f, 0x38, + 0x0d, 0xb2, 0xb6, 0x42, 0x2e, 0xf0, 0x33, 0x45, 0x0e, 0x92, 0xf8, 0xc0, 0xb9, 0x3a, 0xe5, 0xba, + 0x4f, 0xfb, 0x58, 0xa6, 0x79, 0x9d, 0x35, 0x87, 0x40, 0xd1, 0x77, 0xf8, 0x0f, 0x0d, 0x2d, 0xba, + 0xb2, 0xe8, 0x2a, 0xa5, 0xb0, 0xa3, 0x0f, 0x76, 0x11, 0xf7, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x10, 0x49, 0xdc, 0x44, 0xab, 0x01, 0x00, 0x00, +} diff --git a/peer/events.pb.go b/peer/events.pb.go new file mode 100644 index 0000000..1f68f9e --- /dev/null +++ b/peer/events.pb.go @@ -0,0 +1,742 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/events.proto + +package peer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + rwset "github.com/hyperledger/fabric-protos-go/ledger/rwset" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// FilteredBlock is a minimal set of information about a block +type FilteredBlock struct { + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Number uint64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"` + FilteredTransactions []*FilteredTransaction `protobuf:"bytes,4,rep,name=filtered_transactions,json=filteredTransactions,proto3" json:"filtered_transactions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredBlock) Reset() { *m = FilteredBlock{} } +func (m *FilteredBlock) String() string { return proto.CompactTextString(m) } +func (*FilteredBlock) ProtoMessage() {} +func (*FilteredBlock) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{0} +} + +func (m *FilteredBlock) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredBlock.Unmarshal(m, b) +} +func (m *FilteredBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredBlock.Marshal(b, m, deterministic) +} +func (m *FilteredBlock) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredBlock.Merge(m, src) +} +func (m *FilteredBlock) XXX_Size() int { + return xxx_messageInfo_FilteredBlock.Size(m) +} +func (m *FilteredBlock) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredBlock.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredBlock proto.InternalMessageInfo + +func (m *FilteredBlock) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func (m *FilteredBlock) GetNumber() uint64 { + if m != nil { + return m.Number + } + return 0 +} + +func (m *FilteredBlock) GetFilteredTransactions() []*FilteredTransaction { + if m != nil { + return m.FilteredTransactions + } + return nil +} + +// FilteredTransaction is a minimal set of information about a transaction +// within a block +type FilteredTransaction struct { + Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Type common.HeaderType `protobuf:"varint,2,opt,name=type,proto3,enum=common.HeaderType" json:"type,omitempty"` + TxValidationCode TxValidationCode `protobuf:"varint,3,opt,name=tx_validation_code,json=txValidationCode,proto3,enum=protos.TxValidationCode" json:"tx_validation_code,omitempty"` + // Types that are valid to be assigned to Data: + // *FilteredTransaction_TransactionActions + Data isFilteredTransaction_Data `protobuf_oneof:"Data"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredTransaction) Reset() { *m = FilteredTransaction{} } +func (m *FilteredTransaction) String() string { return proto.CompactTextString(m) } +func (*FilteredTransaction) ProtoMessage() {} +func (*FilteredTransaction) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{1} +} + +func (m *FilteredTransaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredTransaction.Unmarshal(m, b) +} +func (m *FilteredTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredTransaction.Marshal(b, m, deterministic) +} +func (m *FilteredTransaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredTransaction.Merge(m, src) +} +func (m *FilteredTransaction) XXX_Size() int { + return xxx_messageInfo_FilteredTransaction.Size(m) +} +func (m *FilteredTransaction) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredTransaction.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredTransaction proto.InternalMessageInfo + +func (m *FilteredTransaction) GetTxid() string { + if m != nil { + return m.Txid + } + return "" +} + +func (m *FilteredTransaction) GetType() common.HeaderType { + if m != nil { + return m.Type + } + return common.HeaderType_MESSAGE +} + +func (m *FilteredTransaction) GetTxValidationCode() TxValidationCode { + if m != nil { + return m.TxValidationCode + } + return TxValidationCode_VALID +} + +type isFilteredTransaction_Data interface { + isFilteredTransaction_Data() +} + +type FilteredTransaction_TransactionActions struct { + TransactionActions *FilteredTransactionActions `protobuf:"bytes,4,opt,name=transaction_actions,json=transactionActions,proto3,oneof"` +} + +func (*FilteredTransaction_TransactionActions) isFilteredTransaction_Data() {} + +func (m *FilteredTransaction) GetData() isFilteredTransaction_Data { + if m != nil { + return m.Data + } + return nil +} + +func (m *FilteredTransaction) GetTransactionActions() *FilteredTransactionActions { + if x, ok := m.GetData().(*FilteredTransaction_TransactionActions); ok { + return x.TransactionActions + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*FilteredTransaction) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*FilteredTransaction_TransactionActions)(nil), + } +} + +// FilteredTransactionActions is a wrapper for array of TransactionAction +// message from regular block +type FilteredTransactionActions struct { + ChaincodeActions []*FilteredChaincodeAction `protobuf:"bytes,1,rep,name=chaincode_actions,json=chaincodeActions,proto3" json:"chaincode_actions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredTransactionActions) Reset() { *m = FilteredTransactionActions{} } +func (m *FilteredTransactionActions) String() string { return proto.CompactTextString(m) } +func (*FilteredTransactionActions) ProtoMessage() {} +func (*FilteredTransactionActions) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{2} +} + +func (m *FilteredTransactionActions) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredTransactionActions.Unmarshal(m, b) +} +func (m *FilteredTransactionActions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredTransactionActions.Marshal(b, m, deterministic) +} +func (m *FilteredTransactionActions) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredTransactionActions.Merge(m, src) +} +func (m *FilteredTransactionActions) XXX_Size() int { + return xxx_messageInfo_FilteredTransactionActions.Size(m) +} +func (m *FilteredTransactionActions) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredTransactionActions.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredTransactionActions proto.InternalMessageInfo + +func (m *FilteredTransactionActions) GetChaincodeActions() []*FilteredChaincodeAction { + if m != nil { + return m.ChaincodeActions + } + return nil +} + +// FilteredChaincodeAction is a minimal set of information about an action +// within a transaction +type FilteredChaincodeAction struct { + ChaincodeEvent *ChaincodeEvent `protobuf:"bytes,1,opt,name=chaincode_event,json=chaincodeEvent,proto3" json:"chaincode_event,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FilteredChaincodeAction) Reset() { *m = FilteredChaincodeAction{} } +func (m *FilteredChaincodeAction) String() string { return proto.CompactTextString(m) } +func (*FilteredChaincodeAction) ProtoMessage() {} +func (*FilteredChaincodeAction) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{3} +} + +func (m *FilteredChaincodeAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FilteredChaincodeAction.Unmarshal(m, b) +} +func (m *FilteredChaincodeAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FilteredChaincodeAction.Marshal(b, m, deterministic) +} +func (m *FilteredChaincodeAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_FilteredChaincodeAction.Merge(m, src) +} +func (m *FilteredChaincodeAction) XXX_Size() int { + return xxx_messageInfo_FilteredChaincodeAction.Size(m) +} +func (m *FilteredChaincodeAction) XXX_DiscardUnknown() { + xxx_messageInfo_FilteredChaincodeAction.DiscardUnknown(m) +} + +var xxx_messageInfo_FilteredChaincodeAction proto.InternalMessageInfo + +func (m *FilteredChaincodeAction) GetChaincodeEvent() *ChaincodeEvent { + if m != nil { + return m.ChaincodeEvent + } + return nil +} + +// BlockAndPrivateData contains Block and a map from tx_seq_in_block to rwset.TxPvtReadWriteSet +type BlockAndPrivateData struct { + Block *common.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + // map from tx_seq_in_block to rwset.TxPvtReadWriteSet + PrivateDataMap map[uint64]*rwset.TxPvtReadWriteSet `protobuf:"bytes,2,rep,name=private_data_map,json=privateDataMap,proto3" json:"private_data_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockAndPrivateData) Reset() { *m = BlockAndPrivateData{} } +func (m *BlockAndPrivateData) String() string { return proto.CompactTextString(m) } +func (*BlockAndPrivateData) ProtoMessage() {} +func (*BlockAndPrivateData) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{4} +} + +func (m *BlockAndPrivateData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockAndPrivateData.Unmarshal(m, b) +} +func (m *BlockAndPrivateData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockAndPrivateData.Marshal(b, m, deterministic) +} +func (m *BlockAndPrivateData) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockAndPrivateData.Merge(m, src) +} +func (m *BlockAndPrivateData) XXX_Size() int { + return xxx_messageInfo_BlockAndPrivateData.Size(m) +} +func (m *BlockAndPrivateData) XXX_DiscardUnknown() { + xxx_messageInfo_BlockAndPrivateData.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockAndPrivateData proto.InternalMessageInfo + +func (m *BlockAndPrivateData) GetBlock() *common.Block { + if m != nil { + return m.Block + } + return nil +} + +func (m *BlockAndPrivateData) GetPrivateDataMap() map[uint64]*rwset.TxPvtReadWriteSet { + if m != nil { + return m.PrivateDataMap + } + return nil +} + +// DeliverResponse +type DeliverResponse struct { + // Types that are valid to be assigned to Type: + // *DeliverResponse_Status + // *DeliverResponse_Block + // *DeliverResponse_FilteredBlock + // *DeliverResponse_BlockAndPrivateData + Type isDeliverResponse_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeliverResponse) Reset() { *m = DeliverResponse{} } +func (m *DeliverResponse) String() string { return proto.CompactTextString(m) } +func (*DeliverResponse) ProtoMessage() {} +func (*DeliverResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_5eedcc5fab2714e6, []int{5} +} + +func (m *DeliverResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeliverResponse.Unmarshal(m, b) +} +func (m *DeliverResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeliverResponse.Marshal(b, m, deterministic) +} +func (m *DeliverResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeliverResponse.Merge(m, src) +} +func (m *DeliverResponse) XXX_Size() int { + return xxx_messageInfo_DeliverResponse.Size(m) +} +func (m *DeliverResponse) XXX_DiscardUnknown() { + xxx_messageInfo_DeliverResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_DeliverResponse proto.InternalMessageInfo + +type isDeliverResponse_Type interface { + isDeliverResponse_Type() +} + +type DeliverResponse_Status struct { + Status common.Status `protobuf:"varint,1,opt,name=status,proto3,enum=common.Status,oneof"` +} + +type DeliverResponse_Block struct { + Block *common.Block `protobuf:"bytes,2,opt,name=block,proto3,oneof"` +} + +type DeliverResponse_FilteredBlock struct { + FilteredBlock *FilteredBlock `protobuf:"bytes,3,opt,name=filtered_block,json=filteredBlock,proto3,oneof"` +} + +type DeliverResponse_BlockAndPrivateData struct { + BlockAndPrivateData *BlockAndPrivateData `protobuf:"bytes,4,opt,name=block_and_private_data,json=blockAndPrivateData,proto3,oneof"` +} + +func (*DeliverResponse_Status) isDeliverResponse_Type() {} + +func (*DeliverResponse_Block) isDeliverResponse_Type() {} + +func (*DeliverResponse_FilteredBlock) isDeliverResponse_Type() {} + +func (*DeliverResponse_BlockAndPrivateData) isDeliverResponse_Type() {} + +func (m *DeliverResponse) GetType() isDeliverResponse_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *DeliverResponse) GetStatus() common.Status { + if x, ok := m.GetType().(*DeliverResponse_Status); ok { + return x.Status + } + return common.Status_UNKNOWN +} + +func (m *DeliverResponse) GetBlock() *common.Block { + if x, ok := m.GetType().(*DeliverResponse_Block); ok { + return x.Block + } + return nil +} + +func (m *DeliverResponse) GetFilteredBlock() *FilteredBlock { + if x, ok := m.GetType().(*DeliverResponse_FilteredBlock); ok { + return x.FilteredBlock + } + return nil +} + +func (m *DeliverResponse) GetBlockAndPrivateData() *BlockAndPrivateData { + if x, ok := m.GetType().(*DeliverResponse_BlockAndPrivateData); ok { + return x.BlockAndPrivateData + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*DeliverResponse) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*DeliverResponse_Status)(nil), + (*DeliverResponse_Block)(nil), + (*DeliverResponse_FilteredBlock)(nil), + (*DeliverResponse_BlockAndPrivateData)(nil), + } +} + +func init() { + proto.RegisterType((*FilteredBlock)(nil), "protos.FilteredBlock") + proto.RegisterType((*FilteredTransaction)(nil), "protos.FilteredTransaction") + proto.RegisterType((*FilteredTransactionActions)(nil), "protos.FilteredTransactionActions") + proto.RegisterType((*FilteredChaincodeAction)(nil), "protos.FilteredChaincodeAction") + proto.RegisterType((*BlockAndPrivateData)(nil), "protos.BlockAndPrivateData") + proto.RegisterMapType((map[uint64]*rwset.TxPvtReadWriteSet)(nil), "protos.BlockAndPrivateData.PrivateDataMapEntry") + proto.RegisterType((*DeliverResponse)(nil), "protos.DeliverResponse") +} + +func init() { proto.RegisterFile("peer/events.proto", fileDescriptor_5eedcc5fab2714e6) } + +var fileDescriptor_5eedcc5fab2714e6 = []byte{ + // 700 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xda, 0x4a, + 0x14, 0xc5, 0x40, 0x78, 0xca, 0x45, 0x10, 0x32, 0xbc, 0x10, 0x8b, 0xe8, 0xe9, 0x45, 0x7e, 0x7a, + 0x15, 0x8b, 0xc6, 0x54, 0x74, 0x53, 0x65, 0xd1, 0x2a, 0xe4, 0x43, 0x44, 0x6a, 0x25, 0x34, 0xa1, + 0x8d, 0x9a, 0x2e, 0xac, 0xc1, 0xbe, 0x80, 0x1b, 0x63, 0x5b, 0xf6, 0x40, 0xe1, 0x9f, 0xf4, 0x87, + 0xf5, 0x97, 0x74, 0xd5, 0x55, 0x55, 0x79, 0xc6, 0xc3, 0x57, 0x48, 0xa4, 0x6c, 0xec, 0xf1, 0xbd, + 0xe7, 0x9c, 0x3b, 0xf7, 0xf8, 0xce, 0xc0, 0x7e, 0x88, 0x18, 0x35, 0x71, 0x8a, 0x3e, 0x8f, 0xcd, + 0x30, 0x0a, 0x78, 0x40, 0x0a, 0xe2, 0x15, 0xd7, 0xab, 0x76, 0x30, 0x1e, 0x07, 0x7e, 0x53, 0xbe, + 0x64, 0xb2, 0xae, 0x7b, 0xe8, 0x0c, 0x31, 0x6a, 0x46, 0xdf, 0x62, 0xe4, 0xf2, 0x99, 0x66, 0xea, + 0x42, 0xc9, 0x1e, 0x31, 0xd7, 0xb7, 0x03, 0x07, 0x2d, 0xa1, 0x99, 0xe6, 0x6a, 0x22, 0xc7, 0x23, + 0xe6, 0xc7, 0xcc, 0xe6, 0xae, 0x52, 0x33, 0xbe, 0x6b, 0x50, 0xba, 0x72, 0x3d, 0x8e, 0x11, 0x3a, + 0x6d, 0x2f, 0xb0, 0xef, 0xc9, 0x3f, 0x00, 0xf6, 0x88, 0xf9, 0x3e, 0x7a, 0x96, 0xeb, 0xe8, 0xda, + 0xb1, 0xd6, 0xd8, 0xa5, 0xbb, 0x69, 0xe4, 0xda, 0x21, 0x35, 0x28, 0xf8, 0x93, 0x71, 0x1f, 0x23, + 0x3d, 0x7b, 0xac, 0x35, 0xf2, 0x34, 0xfd, 0x22, 0x5d, 0x38, 0x18, 0xa4, 0x3a, 0xd6, 0x4a, 0x99, + 0x58, 0xcf, 0x1f, 0xe7, 0x1a, 0xc5, 0xd6, 0x91, 0xac, 0x17, 0x9b, 0xaa, 0x58, 0x6f, 0x89, 0xa1, + 0x7f, 0x0f, 0x1e, 0x06, 0x63, 0xe3, 0x97, 0x06, 0xd5, 0x2d, 0x68, 0x42, 0x20, 0xcf, 0x67, 0x8b, + 0xad, 0x89, 0x35, 0x79, 0x01, 0x79, 0x3e, 0x0f, 0x51, 0xec, 0xa9, 0xdc, 0x22, 0x66, 0xea, 0x58, + 0x07, 0x99, 0x83, 0x51, 0x6f, 0x1e, 0x22, 0x15, 0x79, 0x72, 0x05, 0x84, 0xcf, 0xac, 0x29, 0xf3, + 0x5c, 0x87, 0x25, 0x62, 0x56, 0x62, 0x94, 0x9e, 0x13, 0x2c, 0x5d, 0x6d, 0xb1, 0x37, 0xfb, 0xb4, + 0x00, 0x9c, 0x07, 0x0e, 0xd2, 0x0a, 0xdf, 0x88, 0x90, 0x8f, 0x50, 0x5d, 0x69, 0xd2, 0x5a, 0xf6, + 0xaa, 0x35, 0x8a, 0x2d, 0xe3, 0x89, 0x5e, 0xcf, 0x24, 0xb2, 0x93, 0xa1, 0x84, 0x3f, 0x88, 0xb6, + 0x0b, 0x90, 0xbf, 0x60, 0x9c, 0x19, 0x5f, 0xa1, 0xfe, 0x38, 0x97, 0xbc, 0x87, 0xfd, 0xe5, 0x4f, + 0x56, 0xa5, 0x35, 0x61, 0xf3, 0xbf, 0x9b, 0xa5, 0xcf, 0x15, 0x50, 0x92, 0x69, 0xc5, 0x5e, 0x0f, + 0xc4, 0xc6, 0x1d, 0x1c, 0x3e, 0x02, 0x26, 0xef, 0x60, 0x6f, 0x63, 0x9a, 0x84, 0xe9, 0xc5, 0x56, + 0x4d, 0x95, 0x59, 0x30, 0x2e, 0x93, 0x2c, 0x2d, 0xdb, 0x6b, 0xdf, 0xc6, 0x4f, 0x0d, 0xaa, 0x62, + 0xaa, 0xce, 0x7c, 0xa7, 0x1b, 0xb9, 0x53, 0xc6, 0x31, 0xe9, 0x8f, 0xfc, 0x07, 0x3b, 0xfd, 0x24, + 0x9c, 0xca, 0x95, 0xd4, 0xff, 0x12, 0x58, 0x2a, 0x73, 0xe4, 0x33, 0x54, 0x42, 0xc9, 0xb1, 0x1c, + 0xc6, 0x99, 0x35, 0x66, 0xa1, 0x9e, 0x15, 0x5d, 0x36, 0x55, 0xf9, 0x2d, 0xda, 0xe6, 0xca, 0xfa, + 0x03, 0x0b, 0x2f, 0x7d, 0x1e, 0xcd, 0x69, 0x39, 0x5c, 0x0b, 0xd6, 0xbf, 0x40, 0x75, 0x0b, 0x8c, + 0x54, 0x20, 0x77, 0x8f, 0x73, 0xb1, 0xa9, 0x3c, 0x4d, 0x96, 0xc4, 0x84, 0x9d, 0x29, 0xf3, 0x26, + 0x72, 0xb0, 0x8a, 0x2d, 0xdd, 0x94, 0xe7, 0xad, 0x37, 0xeb, 0x4e, 0x39, 0x45, 0xe6, 0xdc, 0x46, + 0x2e, 0xc7, 0x1b, 0xe4, 0x54, 0xc2, 0x4e, 0xb3, 0x6f, 0x34, 0xe3, 0xb7, 0x06, 0x7b, 0x17, 0xe8, + 0xb9, 0x53, 0x8c, 0x28, 0xc6, 0x61, 0xe0, 0xc7, 0x48, 0x1a, 0x50, 0x88, 0x39, 0xe3, 0x93, 0x58, + 0x88, 0x97, 0x5b, 0x65, 0xd5, 0xf1, 0x8d, 0x88, 0x76, 0x32, 0x34, 0xcd, 0x93, 0xff, 0x95, 0x35, + 0xd9, 0x2d, 0xd6, 0x74, 0x32, 0xca, 0x9c, 0xb7, 0x50, 0x5e, 0x1c, 0x37, 0x89, 0xcf, 0x09, 0xfc, + 0xc1, 0xe6, 0x00, 0x28, 0x5e, 0x69, 0xb0, 0x76, 0xca, 0x29, 0xd4, 0x04, 0xcd, 0x62, 0xbe, 0x63, + 0xad, 0xda, 0x9c, 0xce, 0xf0, 0xd1, 0x13, 0x16, 0x77, 0x32, 0xb4, 0xda, 0x7f, 0x18, 0x4e, 0xa6, + 0x37, 0x39, 0x6a, 0xad, 0x1f, 0x1a, 0xfc, 0x95, 0x1a, 0x40, 0x4e, 0x97, 0xcb, 0x8a, 0x6a, 0xe5, + 0xd2, 0x9f, 0xa2, 0x17, 0x84, 0x58, 0x3f, 0x54, 0x45, 0x36, 0xec, 0x32, 0x32, 0x0d, 0xed, 0x95, + 0x46, 0xda, 0x0b, 0x1f, 0x55, 0x33, 0xcf, 0xd7, 0xb8, 0x86, 0x5a, 0x9a, 0xb8, 0x75, 0xf9, 0x68, + 0x75, 0x06, 0x9f, 0x2b, 0xd5, 0x66, 0x60, 0x04, 0xd1, 0xd0, 0x1c, 0xcd, 0x43, 0x8c, 0xe4, 0x1d, + 0x6c, 0x0e, 0x58, 0x3f, 0x72, 0x6d, 0x45, 0x4b, 0xae, 0xd8, 0x76, 0x49, 0x4c, 0x7e, 0xdc, 0x65, + 0xf6, 0x3d, 0x1b, 0xe2, 0xdd, 0xcb, 0xa1, 0xcb, 0x47, 0x93, 0x7e, 0x52, 0xab, 0xb9, 0xc2, 0x6c, + 0x4a, 0xe6, 0x89, 0x64, 0x9e, 0x0c, 0x83, 0x66, 0x42, 0xee, 0xcb, 0x8b, 0xff, 0xf5, 0x9f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xe9, 0x5f, 0xb5, 0x2a, 0x14, 0x06, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// DeliverClient is the client API for Deliver service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type DeliverClient interface { + // Deliver first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block replies is received + Deliver(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverClient, error) + // DeliverFiltered first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of **filtered** block replies is received + DeliverFiltered(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverFilteredClient, error) + // DeliverWithPrivateData first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block and private data replies is received + DeliverWithPrivateData(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverWithPrivateDataClient, error) +} + +type deliverClient struct { + cc *grpc.ClientConn +} + +func NewDeliverClient(cc *grpc.ClientConn) DeliverClient { + return &deliverClient{cc} +} + +func (c *deliverClient) Deliver(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverClient, error) { + stream, err := c.cc.NewStream(ctx, &_Deliver_serviceDesc.Streams[0], "/protos.Deliver/Deliver", opts...) + if err != nil { + return nil, err + } + x := &deliverDeliverClient{stream} + return x, nil +} + +type Deliver_DeliverClient interface { + Send(*common.Envelope) error + Recv() (*DeliverResponse, error) + grpc.ClientStream +} + +type deliverDeliverClient struct { + grpc.ClientStream +} + +func (x *deliverDeliverClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *deliverDeliverClient) Recv() (*DeliverResponse, error) { + m := new(DeliverResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *deliverClient) DeliverFiltered(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverFilteredClient, error) { + stream, err := c.cc.NewStream(ctx, &_Deliver_serviceDesc.Streams[1], "/protos.Deliver/DeliverFiltered", opts...) + if err != nil { + return nil, err + } + x := &deliverDeliverFilteredClient{stream} + return x, nil +} + +type Deliver_DeliverFilteredClient interface { + Send(*common.Envelope) error + Recv() (*DeliverResponse, error) + grpc.ClientStream +} + +type deliverDeliverFilteredClient struct { + grpc.ClientStream +} + +func (x *deliverDeliverFilteredClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *deliverDeliverFilteredClient) Recv() (*DeliverResponse, error) { + m := new(DeliverResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *deliverClient) DeliverWithPrivateData(ctx context.Context, opts ...grpc.CallOption) (Deliver_DeliverWithPrivateDataClient, error) { + stream, err := c.cc.NewStream(ctx, &_Deliver_serviceDesc.Streams[2], "/protos.Deliver/DeliverWithPrivateData", opts...) + if err != nil { + return nil, err + } + x := &deliverDeliverWithPrivateDataClient{stream} + return x, nil +} + +type Deliver_DeliverWithPrivateDataClient interface { + Send(*common.Envelope) error + Recv() (*DeliverResponse, error) + grpc.ClientStream +} + +type deliverDeliverWithPrivateDataClient struct { + grpc.ClientStream +} + +func (x *deliverDeliverWithPrivateDataClient) Send(m *common.Envelope) error { + return x.ClientStream.SendMsg(m) +} + +func (x *deliverDeliverWithPrivateDataClient) Recv() (*DeliverResponse, error) { + m := new(DeliverResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// DeliverServer is the server API for Deliver service. +type DeliverServer interface { + // Deliver first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block replies is received + Deliver(Deliver_DeliverServer) error + // DeliverFiltered first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of **filtered** block replies is received + DeliverFiltered(Deliver_DeliverFilteredServer) error + // DeliverWithPrivateData first requires an Envelope of type ab.DELIVER_SEEK_INFO with + // Payload data as a marshaled orderer.SeekInfo message, + // then a stream of block and private data replies is received + DeliverWithPrivateData(Deliver_DeliverWithPrivateDataServer) error +} + +// UnimplementedDeliverServer can be embedded to have forward compatible implementations. +type UnimplementedDeliverServer struct { +} + +func (*UnimplementedDeliverServer) Deliver(srv Deliver_DeliverServer) error { + return status.Errorf(codes.Unimplemented, "method Deliver not implemented") +} +func (*UnimplementedDeliverServer) DeliverFiltered(srv Deliver_DeliverFilteredServer) error { + return status.Errorf(codes.Unimplemented, "method DeliverFiltered not implemented") +} +func (*UnimplementedDeliverServer) DeliverWithPrivateData(srv Deliver_DeliverWithPrivateDataServer) error { + return status.Errorf(codes.Unimplemented, "method DeliverWithPrivateData not implemented") +} + +func RegisterDeliverServer(s *grpc.Server, srv DeliverServer) { + s.RegisterService(&_Deliver_serviceDesc, srv) +} + +func _Deliver_Deliver_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(DeliverServer).Deliver(&deliverDeliverServer{stream}) +} + +type Deliver_DeliverServer interface { + Send(*DeliverResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type deliverDeliverServer struct { + grpc.ServerStream +} + +func (x *deliverDeliverServer) Send(m *DeliverResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *deliverDeliverServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Deliver_DeliverFiltered_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(DeliverServer).DeliverFiltered(&deliverDeliverFilteredServer{stream}) +} + +type Deliver_DeliverFilteredServer interface { + Send(*DeliverResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type deliverDeliverFilteredServer struct { + grpc.ServerStream +} + +func (x *deliverDeliverFilteredServer) Send(m *DeliverResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *deliverDeliverFilteredServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _Deliver_DeliverWithPrivateData_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(DeliverServer).DeliverWithPrivateData(&deliverDeliverWithPrivateDataServer{stream}) +} + +type Deliver_DeliverWithPrivateDataServer interface { + Send(*DeliverResponse) error + Recv() (*common.Envelope, error) + grpc.ServerStream +} + +type deliverDeliverWithPrivateDataServer struct { + grpc.ServerStream +} + +func (x *deliverDeliverWithPrivateDataServer) Send(m *DeliverResponse) error { + return x.ServerStream.SendMsg(m) +} + +func (x *deliverDeliverWithPrivateDataServer) Recv() (*common.Envelope, error) { + m := new(common.Envelope) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +var _Deliver_serviceDesc = grpc.ServiceDesc{ + ServiceName: "protos.Deliver", + HandlerType: (*DeliverServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "Deliver", + Handler: _Deliver_Deliver_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "DeliverFiltered", + Handler: _Deliver_DeliverFiltered_Handler, + ServerStreams: true, + ClientStreams: true, + }, + { + StreamName: "DeliverWithPrivateData", + Handler: _Deliver_DeliverWithPrivateData_Handler, + ServerStreams: true, + ClientStreams: true, + }, + }, + Metadata: "peer/events.proto", +} diff --git a/peer/lifecycle/chaincode_definition.pb.go b/peer/lifecycle/chaincode_definition.pb.go new file mode 100644 index 0000000..c202026 --- /dev/null +++ b/peer/lifecycle/chaincode_definition.pb.go @@ -0,0 +1,158 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/lifecycle/chaincode_definition.proto + +package lifecycle + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ChaincodeEndorsementInfo is (most) everything the peer needs to know in order +// to execute a chaincode +type ChaincodeEndorsementInfo struct { + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + InitRequired bool `protobuf:"varint,2,opt,name=init_required,json=initRequired,proto3" json:"init_required,omitempty"` + EndorsementPlugin string `protobuf:"bytes,3,opt,name=endorsement_plugin,json=endorsementPlugin,proto3" json:"endorsement_plugin,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeEndorsementInfo) Reset() { *m = ChaincodeEndorsementInfo{} } +func (m *ChaincodeEndorsementInfo) String() string { return proto.CompactTextString(m) } +func (*ChaincodeEndorsementInfo) ProtoMessage() {} +func (*ChaincodeEndorsementInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_f0faa93bbd697c66, []int{0} +} + +func (m *ChaincodeEndorsementInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeEndorsementInfo.Unmarshal(m, b) +} +func (m *ChaincodeEndorsementInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeEndorsementInfo.Marshal(b, m, deterministic) +} +func (m *ChaincodeEndorsementInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeEndorsementInfo.Merge(m, src) +} +func (m *ChaincodeEndorsementInfo) XXX_Size() int { + return xxx_messageInfo_ChaincodeEndorsementInfo.Size(m) +} +func (m *ChaincodeEndorsementInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeEndorsementInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeEndorsementInfo proto.InternalMessageInfo + +func (m *ChaincodeEndorsementInfo) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *ChaincodeEndorsementInfo) GetInitRequired() bool { + if m != nil { + return m.InitRequired + } + return false +} + +func (m *ChaincodeEndorsementInfo) GetEndorsementPlugin() string { + if m != nil { + return m.EndorsementPlugin + } + return "" +} + +// ValidationInfo is (most) everything the peer needs to know in order +// to validate a transaction +type ChaincodeValidationInfo struct { + ValidationPlugin string `protobuf:"bytes,1,opt,name=validation_plugin,json=validationPlugin,proto3" json:"validation_plugin,omitempty"` + ValidationParameter []byte `protobuf:"bytes,2,opt,name=validation_parameter,json=validationParameter,proto3" json:"validation_parameter,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeValidationInfo) Reset() { *m = ChaincodeValidationInfo{} } +func (m *ChaincodeValidationInfo) String() string { return proto.CompactTextString(m) } +func (*ChaincodeValidationInfo) ProtoMessage() {} +func (*ChaincodeValidationInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_f0faa93bbd697c66, []int{1} +} + +func (m *ChaincodeValidationInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeValidationInfo.Unmarshal(m, b) +} +func (m *ChaincodeValidationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeValidationInfo.Marshal(b, m, deterministic) +} +func (m *ChaincodeValidationInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeValidationInfo.Merge(m, src) +} +func (m *ChaincodeValidationInfo) XXX_Size() int { + return xxx_messageInfo_ChaincodeValidationInfo.Size(m) +} +func (m *ChaincodeValidationInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeValidationInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeValidationInfo proto.InternalMessageInfo + +func (m *ChaincodeValidationInfo) GetValidationPlugin() string { + if m != nil { + return m.ValidationPlugin + } + return "" +} + +func (m *ChaincodeValidationInfo) GetValidationParameter() []byte { + if m != nil { + return m.ValidationParameter + } + return nil +} + +func init() { + proto.RegisterType((*ChaincodeEndorsementInfo)(nil), "lifecycle.ChaincodeEndorsementInfo") + proto.RegisterType((*ChaincodeValidationInfo)(nil), "lifecycle.ChaincodeValidationInfo") +} + +func init() { + proto.RegisterFile("peer/lifecycle/chaincode_definition.proto", fileDescriptor_f0faa93bbd697c66) +} + +var fileDescriptor_f0faa93bbd697c66 = []byte{ + // 275 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0x4f, 0x4b, 0xb5, 0x40, + 0x14, 0xc6, 0xf1, 0x7d, 0xa1, 0xba, 0xc3, 0x0d, 0xba, 0x53, 0x90, 0xcb, 0xcb, 0x6d, 0x73, 0xa3, + 0x1c, 0x89, 0xa0, 0x0f, 0x50, 0xb4, 0x68, 0x17, 0x2e, 0x5a, 0xb4, 0x91, 0x71, 0xe6, 0xa8, 0x07, + 0x74, 0x8e, 0x1d, 0xf5, 0x82, 0xdf, 0xa0, 0x8f, 0x1d, 0x6a, 0x7a, 0x6d, 0x39, 0xe7, 0xf9, 0xc3, + 0x8f, 0x67, 0xc4, 0x6d, 0x05, 0xc0, 0x61, 0x81, 0x29, 0x98, 0xce, 0x14, 0x10, 0x9a, 0x5c, 0xa3, + 0x33, 0x64, 0x21, 0xb6, 0x90, 0xa2, 0xc3, 0x06, 0xc9, 0xa9, 0x8a, 0xa9, 0x21, 0xb9, 0x9a, 0x5d, + 0xbb, 0x6f, 0x4f, 0xf8, 0x2f, 0x93, 0xf3, 0xd5, 0x59, 0xe2, 0x1a, 0x4a, 0x70, 0xcd, 0x9b, 0x4b, + 0x49, 0xfa, 0xe2, 0xf4, 0x00, 0x5c, 0x23, 0x39, 0xdf, 0xdb, 0x7a, 0xfb, 0x55, 0x34, 0x3d, 0xe5, + 0x8d, 0x38, 0xef, 0x2b, 0x63, 0x86, 0xaf, 0x16, 0x19, 0xac, 0xff, 0x6f, 0xeb, 0xed, 0xcf, 0xa2, + 0x75, 0x7f, 0x8c, 0x7e, 0x6f, 0x32, 0x10, 0x12, 0x8e, 0x8d, 0x71, 0x55, 0xb4, 0x19, 0x3a, 0xff, + 0xff, 0xd0, 0xb4, 0x59, 0x28, 0xef, 0x83, 0xb0, 0xeb, 0xc4, 0xf5, 0x4c, 0xf2, 0xa1, 0x0b, 0xb4, + 0xba, 0x47, 0x1e, 0x40, 0xee, 0xc4, 0xe6, 0x30, 0x5f, 0xa6, 0xa2, 0x11, 0xe9, 0xe2, 0x28, 0x8c, + 0x3d, 0xf2, 0x41, 0x5c, 0x2d, 0xcd, 0x9a, 0x75, 0x09, 0x0d, 0xf0, 0x80, 0xb8, 0x8e, 0x2e, 0x17, + 0xfe, 0x49, 0x7a, 0x4e, 0xc5, 0x3d, 0x71, 0xa6, 0xf2, 0xae, 0x02, 0x2e, 0xc0, 0x66, 0xc0, 0x2a, + 0xd5, 0x09, 0xa3, 0x19, 0x07, 0xab, 0x55, 0xbf, 0xad, 0x9a, 0x57, 0xfb, 0x7c, 0xca, 0xb0, 0xc9, + 0xdb, 0x44, 0x19, 0x2a, 0xc3, 0x45, 0x28, 0x1c, 0x43, 0xc1, 0x18, 0x0a, 0x32, 0x0a, 0xff, 0xfe, + 0x49, 0x72, 0x32, 0x28, 0x8f, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd6, 0x94, 0x68, 0xee, 0xac, + 0x01, 0x00, 0x00, +} diff --git a/peer/lifecycle/db.pb.go b/peer/lifecycle/db.pb.go new file mode 100644 index 0000000..8284d16 --- /dev/null +++ b/peer/lifecycle/db.pb.go @@ -0,0 +1,193 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/lifecycle/db.proto + +package lifecycle + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// StateMetadata describes the keys in a namespace. It is necessary because +// in collections, range scans are not possible during transactions which +// write. Therefore we must track the keys in our namespace ourselves. +type StateMetadata struct { + Datatype string `protobuf:"bytes,1,opt,name=datatype,proto3" json:"datatype,omitempty"` + Fields []string `protobuf:"bytes,2,rep,name=fields,proto3" json:"fields,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateMetadata) Reset() { *m = StateMetadata{} } +func (m *StateMetadata) String() string { return proto.CompactTextString(m) } +func (*StateMetadata) ProtoMessage() {} +func (*StateMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_389b29a8aaf0aebb, []int{0} +} + +func (m *StateMetadata) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateMetadata.Unmarshal(m, b) +} +func (m *StateMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateMetadata.Marshal(b, m, deterministic) +} +func (m *StateMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateMetadata.Merge(m, src) +} +func (m *StateMetadata) XXX_Size() int { + return xxx_messageInfo_StateMetadata.Size(m) +} +func (m *StateMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_StateMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_StateMetadata proto.InternalMessageInfo + +func (m *StateMetadata) GetDatatype() string { + if m != nil { + return m.Datatype + } + return "" +} + +func (m *StateMetadata) GetFields() []string { + if m != nil { + return m.Fields + } + return nil +} + +// StateData encodes a particular field of a datatype +type StateData struct { + // Types that are valid to be assigned to Type: + // *StateData_Int64 + // *StateData_Bytes + // *StateData_String_ + Type isStateData_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StateData) Reset() { *m = StateData{} } +func (m *StateData) String() string { return proto.CompactTextString(m) } +func (*StateData) ProtoMessage() {} +func (*StateData) Descriptor() ([]byte, []int) { + return fileDescriptor_389b29a8aaf0aebb, []int{1} +} + +func (m *StateData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StateData.Unmarshal(m, b) +} +func (m *StateData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StateData.Marshal(b, m, deterministic) +} +func (m *StateData) XXX_Merge(src proto.Message) { + xxx_messageInfo_StateData.Merge(m, src) +} +func (m *StateData) XXX_Size() int { + return xxx_messageInfo_StateData.Size(m) +} +func (m *StateData) XXX_DiscardUnknown() { + xxx_messageInfo_StateData.DiscardUnknown(m) +} + +var xxx_messageInfo_StateData proto.InternalMessageInfo + +type isStateData_Type interface { + isStateData_Type() +} + +type StateData_Int64 struct { + Int64 int64 `protobuf:"varint,1,opt,name=Int64,proto3,oneof"` +} + +type StateData_Bytes struct { + Bytes []byte `protobuf:"bytes,2,opt,name=Bytes,proto3,oneof"` +} + +type StateData_String_ struct { + String_ string `protobuf:"bytes,3,opt,name=String,proto3,oneof"` +} + +func (*StateData_Int64) isStateData_Type() {} + +func (*StateData_Bytes) isStateData_Type() {} + +func (*StateData_String_) isStateData_Type() {} + +func (m *StateData) GetType() isStateData_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *StateData) GetInt64() int64 { + if x, ok := m.GetType().(*StateData_Int64); ok { + return x.Int64 + } + return 0 +} + +func (m *StateData) GetBytes() []byte { + if x, ok := m.GetType().(*StateData_Bytes); ok { + return x.Bytes + } + return nil +} + +func (m *StateData) GetString_() string { + if x, ok := m.GetType().(*StateData_String_); ok { + return x.String_ + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*StateData) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*StateData_Int64)(nil), + (*StateData_Bytes)(nil), + (*StateData_String_)(nil), + } +} + +func init() { + proto.RegisterType((*StateMetadata)(nil), "lifecycle.StateMetadata") + proto.RegisterType((*StateData)(nil), "lifecycle.StateData") +} + +func init() { proto.RegisterFile("peer/lifecycle/db.proto", fileDescriptor_389b29a8aaf0aebb) } + +var fileDescriptor_389b29a8aaf0aebb = []byte{ + // 235 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xb1, 0x4e, 0xc3, 0x30, + 0x14, 0x45, 0x1b, 0x02, 0x11, 0x79, 0x82, 0x25, 0x43, 0x89, 0x98, 0xaa, 0x4e, 0x19, 0xa8, 0x3d, + 0x80, 0xfa, 0x01, 0x81, 0xa1, 0x0c, 0x2c, 0x29, 0x13, 0x12, 0x83, 0x93, 0xbc, 0xb8, 0x96, 0x4c, + 0x6d, 0xb9, 0x8f, 0xc1, 0x7f, 0x8f, 0x6c, 0x57, 0x11, 0x9d, 0xac, 0x73, 0xad, 0x73, 0xad, 0x6b, + 0x78, 0xb0, 0x88, 0x8e, 0x6b, 0x35, 0xe1, 0xe0, 0x07, 0x8d, 0x7c, 0xec, 0x99, 0x75, 0x86, 0x4c, + 0x55, 0xce, 0xd9, 0xfa, 0x15, 0xee, 0xf7, 0x24, 0x08, 0x3f, 0x90, 0xc4, 0x28, 0x48, 0x54, 0x8f, + 0x70, 0x1b, 0x4e, 0xf2, 0x16, 0xeb, 0x6c, 0x95, 0x35, 0x65, 0x37, 0x73, 0xb5, 0x84, 0x62, 0x52, + 0xa8, 0xc7, 0x53, 0x7d, 0xb5, 0xca, 0x9b, 0xb2, 0x3b, 0xd3, 0xfa, 0x1b, 0xca, 0x58, 0xf2, 0x16, + 0x0a, 0x96, 0x70, 0xf3, 0x7e, 0xa4, 0xed, 0x4b, 0xb4, 0xf3, 0xdd, 0xa2, 0x4b, 0x18, 0xf2, 0xd6, + 0x13, 0x06, 0x37, 0x6b, 0xee, 0x42, 0x1e, 0xb1, 0xaa, 0xa1, 0xd8, 0x93, 0x53, 0x47, 0x59, 0xe7, + 0xe1, 0xb9, 0xdd, 0xa2, 0x3b, 0x73, 0x5b, 0xc0, 0xf5, 0xa7, 0xb7, 0xd8, 0x4e, 0xf0, 0x64, 0x9c, + 0x64, 0x07, 0x6f, 0xd1, 0x69, 0x1c, 0x25, 0x3a, 0x36, 0x89, 0xde, 0xa9, 0x21, 0xcd, 0x39, 0xb1, + 0xb0, 0x93, 0xcd, 0x9b, 0xbe, 0xb6, 0x52, 0xd1, 0xe1, 0xb7, 0x67, 0x83, 0xf9, 0xe1, 0xff, 0x24, + 0x9e, 0xa4, 0x4d, 0x92, 0x36, 0xd2, 0xf0, 0xcb, 0xff, 0xe9, 0x8b, 0x78, 0xf3, 0xfc, 0x17, 0x00, + 0x00, 0xff, 0xff, 0xc6, 0xbc, 0x63, 0x86, 0x38, 0x01, 0x00, 0x00, +} diff --git a/peer/lifecycle/lifecycle.pb.go b/peer/lifecycle/lifecycle.pb.go new file mode 100644 index 0000000..f372bdb --- /dev/null +++ b/peer/lifecycle/lifecycle.pb.go @@ -0,0 +1,1585 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/lifecycle/lifecycle.proto + +package lifecycle + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// InstallChaincodeArgs is the message used as the argument to +// '_lifecycle.InstallChaincode'. +type InstallChaincodeArgs struct { + ChaincodeInstallPackage []byte `protobuf:"bytes,1,opt,name=chaincode_install_package,json=chaincodeInstallPackage,proto3" json:"chaincode_install_package,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InstallChaincodeArgs) Reset() { *m = InstallChaincodeArgs{} } +func (m *InstallChaincodeArgs) String() string { return proto.CompactTextString(m) } +func (*InstallChaincodeArgs) ProtoMessage() {} +func (*InstallChaincodeArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{0} +} + +func (m *InstallChaincodeArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InstallChaincodeArgs.Unmarshal(m, b) +} +func (m *InstallChaincodeArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InstallChaincodeArgs.Marshal(b, m, deterministic) +} +func (m *InstallChaincodeArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_InstallChaincodeArgs.Merge(m, src) +} +func (m *InstallChaincodeArgs) XXX_Size() int { + return xxx_messageInfo_InstallChaincodeArgs.Size(m) +} +func (m *InstallChaincodeArgs) XXX_DiscardUnknown() { + xxx_messageInfo_InstallChaincodeArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_InstallChaincodeArgs proto.InternalMessageInfo + +func (m *InstallChaincodeArgs) GetChaincodeInstallPackage() []byte { + if m != nil { + return m.ChaincodeInstallPackage + } + return nil +} + +// InstallChaincodeArgs is the message returned by +// '_lifecycle.InstallChaincode'. +type InstallChaincodeResult struct { + PackageId string `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"` + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InstallChaincodeResult) Reset() { *m = InstallChaincodeResult{} } +func (m *InstallChaincodeResult) String() string { return proto.CompactTextString(m) } +func (*InstallChaincodeResult) ProtoMessage() {} +func (*InstallChaincodeResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{1} +} + +func (m *InstallChaincodeResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InstallChaincodeResult.Unmarshal(m, b) +} +func (m *InstallChaincodeResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InstallChaincodeResult.Marshal(b, m, deterministic) +} +func (m *InstallChaincodeResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_InstallChaincodeResult.Merge(m, src) +} +func (m *InstallChaincodeResult) XXX_Size() int { + return xxx_messageInfo_InstallChaincodeResult.Size(m) +} +func (m *InstallChaincodeResult) XXX_DiscardUnknown() { + xxx_messageInfo_InstallChaincodeResult.DiscardUnknown(m) +} + +var xxx_messageInfo_InstallChaincodeResult proto.InternalMessageInfo + +func (m *InstallChaincodeResult) GetPackageId() string { + if m != nil { + return m.PackageId + } + return "" +} + +func (m *InstallChaincodeResult) GetLabel() string { + if m != nil { + return m.Label + } + return "" +} + +// QueryInstalledChaincodeArgs is the message used as arguments +// '_lifecycle.QueryInstalledChaincode' +type QueryInstalledChaincodeArgs struct { + PackageId string `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodeArgs) Reset() { *m = QueryInstalledChaincodeArgs{} } +func (m *QueryInstalledChaincodeArgs) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodeArgs) ProtoMessage() {} +func (*QueryInstalledChaincodeArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{2} +} + +func (m *QueryInstalledChaincodeArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodeArgs.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodeArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodeArgs.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodeArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodeArgs.Merge(m, src) +} +func (m *QueryInstalledChaincodeArgs) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodeArgs.Size(m) +} +func (m *QueryInstalledChaincodeArgs) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodeArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodeArgs proto.InternalMessageInfo + +func (m *QueryInstalledChaincodeArgs) GetPackageId() string { + if m != nil { + return m.PackageId + } + return "" +} + +// QueryInstalledChaincodeResult is the message returned by +// '_lifecycle.QueryInstalledChaincode' +type QueryInstalledChaincodeResult struct { + PackageId string `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"` + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + References map[string]*QueryInstalledChaincodeResult_References `protobuf:"bytes,3,rep,name=references,proto3" json:"references,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodeResult) Reset() { *m = QueryInstalledChaincodeResult{} } +func (m *QueryInstalledChaincodeResult) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodeResult) ProtoMessage() {} +func (*QueryInstalledChaincodeResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{3} +} + +func (m *QueryInstalledChaincodeResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodeResult.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodeResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodeResult.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodeResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodeResult.Merge(m, src) +} +func (m *QueryInstalledChaincodeResult) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodeResult.Size(m) +} +func (m *QueryInstalledChaincodeResult) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodeResult.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodeResult proto.InternalMessageInfo + +func (m *QueryInstalledChaincodeResult) GetPackageId() string { + if m != nil { + return m.PackageId + } + return "" +} + +func (m *QueryInstalledChaincodeResult) GetLabel() string { + if m != nil { + return m.Label + } + return "" +} + +func (m *QueryInstalledChaincodeResult) GetReferences() map[string]*QueryInstalledChaincodeResult_References { + if m != nil { + return m.References + } + return nil +} + +type QueryInstalledChaincodeResult_References struct { + Chaincodes []*QueryInstalledChaincodeResult_Chaincode `protobuf:"bytes,1,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodeResult_References) Reset() { + *m = QueryInstalledChaincodeResult_References{} +} +func (m *QueryInstalledChaincodeResult_References) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodeResult_References) ProtoMessage() {} +func (*QueryInstalledChaincodeResult_References) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{3, 1} +} + +func (m *QueryInstalledChaincodeResult_References) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodeResult_References.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodeResult_References) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodeResult_References.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodeResult_References) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodeResult_References.Merge(m, src) +} +func (m *QueryInstalledChaincodeResult_References) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodeResult_References.Size(m) +} +func (m *QueryInstalledChaincodeResult_References) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodeResult_References.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodeResult_References proto.InternalMessageInfo + +func (m *QueryInstalledChaincodeResult_References) GetChaincodes() []*QueryInstalledChaincodeResult_Chaincode { + if m != nil { + return m.Chaincodes + } + return nil +} + +type QueryInstalledChaincodeResult_Chaincode struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodeResult_Chaincode) Reset() { + *m = QueryInstalledChaincodeResult_Chaincode{} +} +func (m *QueryInstalledChaincodeResult_Chaincode) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodeResult_Chaincode) ProtoMessage() {} +func (*QueryInstalledChaincodeResult_Chaincode) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{3, 2} +} + +func (m *QueryInstalledChaincodeResult_Chaincode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodeResult_Chaincode.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodeResult_Chaincode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodeResult_Chaincode.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodeResult_Chaincode) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodeResult_Chaincode.Merge(m, src) +} +func (m *QueryInstalledChaincodeResult_Chaincode) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodeResult_Chaincode.Size(m) +} +func (m *QueryInstalledChaincodeResult_Chaincode) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodeResult_Chaincode.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodeResult_Chaincode proto.InternalMessageInfo + +func (m *QueryInstalledChaincodeResult_Chaincode) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *QueryInstalledChaincodeResult_Chaincode) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +// GetInstalledChaincodePackageArgs is the message used as the argument to +// '_lifecycle.GetInstalledChaincodePackage'. +type GetInstalledChaincodePackageArgs struct { + PackageId string `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetInstalledChaincodePackageArgs) Reset() { *m = GetInstalledChaincodePackageArgs{} } +func (m *GetInstalledChaincodePackageArgs) String() string { return proto.CompactTextString(m) } +func (*GetInstalledChaincodePackageArgs) ProtoMessage() {} +func (*GetInstalledChaincodePackageArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{4} +} + +func (m *GetInstalledChaincodePackageArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInstalledChaincodePackageArgs.Unmarshal(m, b) +} +func (m *GetInstalledChaincodePackageArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInstalledChaincodePackageArgs.Marshal(b, m, deterministic) +} +func (m *GetInstalledChaincodePackageArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInstalledChaincodePackageArgs.Merge(m, src) +} +func (m *GetInstalledChaincodePackageArgs) XXX_Size() int { + return xxx_messageInfo_GetInstalledChaincodePackageArgs.Size(m) +} +func (m *GetInstalledChaincodePackageArgs) XXX_DiscardUnknown() { + xxx_messageInfo_GetInstalledChaincodePackageArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_GetInstalledChaincodePackageArgs proto.InternalMessageInfo + +func (m *GetInstalledChaincodePackageArgs) GetPackageId() string { + if m != nil { + return m.PackageId + } + return "" +} + +// GetInstalledChaincodePackageResult is the message returned by +// '_lifecycle.GetInstalledChaincodePackage'. +type GetInstalledChaincodePackageResult struct { + ChaincodeInstallPackage []byte `protobuf:"bytes,1,opt,name=chaincode_install_package,json=chaincodeInstallPackage,proto3" json:"chaincode_install_package,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetInstalledChaincodePackageResult) Reset() { *m = GetInstalledChaincodePackageResult{} } +func (m *GetInstalledChaincodePackageResult) String() string { return proto.CompactTextString(m) } +func (*GetInstalledChaincodePackageResult) ProtoMessage() {} +func (*GetInstalledChaincodePackageResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{5} +} + +func (m *GetInstalledChaincodePackageResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInstalledChaincodePackageResult.Unmarshal(m, b) +} +func (m *GetInstalledChaincodePackageResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInstalledChaincodePackageResult.Marshal(b, m, deterministic) +} +func (m *GetInstalledChaincodePackageResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInstalledChaincodePackageResult.Merge(m, src) +} +func (m *GetInstalledChaincodePackageResult) XXX_Size() int { + return xxx_messageInfo_GetInstalledChaincodePackageResult.Size(m) +} +func (m *GetInstalledChaincodePackageResult) XXX_DiscardUnknown() { + xxx_messageInfo_GetInstalledChaincodePackageResult.DiscardUnknown(m) +} + +var xxx_messageInfo_GetInstalledChaincodePackageResult proto.InternalMessageInfo + +func (m *GetInstalledChaincodePackageResult) GetChaincodeInstallPackage() []byte { + if m != nil { + return m.ChaincodeInstallPackage + } + return nil +} + +// QueryInstalledChaincodesArgs currently is an empty argument to +// '_lifecycle.QueryInstalledChaincodes'. In the future, it may be +// extended to have parameters. +type QueryInstalledChaincodesArgs struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodesArgs) Reset() { *m = QueryInstalledChaincodesArgs{} } +func (m *QueryInstalledChaincodesArgs) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodesArgs) ProtoMessage() {} +func (*QueryInstalledChaincodesArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{6} +} + +func (m *QueryInstalledChaincodesArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodesArgs.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodesArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodesArgs.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodesArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodesArgs.Merge(m, src) +} +func (m *QueryInstalledChaincodesArgs) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodesArgs.Size(m) +} +func (m *QueryInstalledChaincodesArgs) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodesArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodesArgs proto.InternalMessageInfo + +// QueryInstalledChaincodesResult is the message returned by +// '_lifecycle.QueryInstalledChaincodes'. It returns a list of installed +// chaincodes, including a map of channel name to chaincode name and version +// pairs of chaincode definitions that reference this chaincode package. +type QueryInstalledChaincodesResult struct { + InstalledChaincodes []*QueryInstalledChaincodesResult_InstalledChaincode `protobuf:"bytes,1,rep,name=installed_chaincodes,json=installedChaincodes,proto3" json:"installed_chaincodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodesResult) Reset() { *m = QueryInstalledChaincodesResult{} } +func (m *QueryInstalledChaincodesResult) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodesResult) ProtoMessage() {} +func (*QueryInstalledChaincodesResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{7} +} + +func (m *QueryInstalledChaincodesResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodesResult.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodesResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodesResult.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodesResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodesResult.Merge(m, src) +} +func (m *QueryInstalledChaincodesResult) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodesResult.Size(m) +} +func (m *QueryInstalledChaincodesResult) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodesResult.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodesResult proto.InternalMessageInfo + +func (m *QueryInstalledChaincodesResult) GetInstalledChaincodes() []*QueryInstalledChaincodesResult_InstalledChaincode { + if m != nil { + return m.InstalledChaincodes + } + return nil +} + +type QueryInstalledChaincodesResult_InstalledChaincode struct { + PackageId string `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"` + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + References map[string]*QueryInstalledChaincodesResult_References `protobuf:"bytes,3,rep,name=references,proto3" json:"references,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodesResult_InstalledChaincode) Reset() { + *m = QueryInstalledChaincodesResult_InstalledChaincode{} +} +func (m *QueryInstalledChaincodesResult_InstalledChaincode) String() string { + return proto.CompactTextString(m) +} +func (*QueryInstalledChaincodesResult_InstalledChaincode) ProtoMessage() {} +func (*QueryInstalledChaincodesResult_InstalledChaincode) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{7, 0} +} + +func (m *QueryInstalledChaincodesResult_InstalledChaincode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodesResult_InstalledChaincode.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodesResult_InstalledChaincode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodesResult_InstalledChaincode.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodesResult_InstalledChaincode) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodesResult_InstalledChaincode.Merge(m, src) +} +func (m *QueryInstalledChaincodesResult_InstalledChaincode) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodesResult_InstalledChaincode.Size(m) +} +func (m *QueryInstalledChaincodesResult_InstalledChaincode) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodesResult_InstalledChaincode.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodesResult_InstalledChaincode proto.InternalMessageInfo + +func (m *QueryInstalledChaincodesResult_InstalledChaincode) GetPackageId() string { + if m != nil { + return m.PackageId + } + return "" +} + +func (m *QueryInstalledChaincodesResult_InstalledChaincode) GetLabel() string { + if m != nil { + return m.Label + } + return "" +} + +func (m *QueryInstalledChaincodesResult_InstalledChaincode) GetReferences() map[string]*QueryInstalledChaincodesResult_References { + if m != nil { + return m.References + } + return nil +} + +type QueryInstalledChaincodesResult_References struct { + Chaincodes []*QueryInstalledChaincodesResult_Chaincode `protobuf:"bytes,1,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodesResult_References) Reset() { + *m = QueryInstalledChaincodesResult_References{} +} +func (m *QueryInstalledChaincodesResult_References) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodesResult_References) ProtoMessage() {} +func (*QueryInstalledChaincodesResult_References) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{7, 1} +} + +func (m *QueryInstalledChaincodesResult_References) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodesResult_References.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodesResult_References) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodesResult_References.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodesResult_References) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodesResult_References.Merge(m, src) +} +func (m *QueryInstalledChaincodesResult_References) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodesResult_References.Size(m) +} +func (m *QueryInstalledChaincodesResult_References) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodesResult_References.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodesResult_References proto.InternalMessageInfo + +func (m *QueryInstalledChaincodesResult_References) GetChaincodes() []*QueryInstalledChaincodesResult_Chaincode { + if m != nil { + return m.Chaincodes + } + return nil +} + +type QueryInstalledChaincodesResult_Chaincode struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryInstalledChaincodesResult_Chaincode) Reset() { + *m = QueryInstalledChaincodesResult_Chaincode{} +} +func (m *QueryInstalledChaincodesResult_Chaincode) String() string { return proto.CompactTextString(m) } +func (*QueryInstalledChaincodesResult_Chaincode) ProtoMessage() {} +func (*QueryInstalledChaincodesResult_Chaincode) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{7, 2} +} + +func (m *QueryInstalledChaincodesResult_Chaincode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryInstalledChaincodesResult_Chaincode.Unmarshal(m, b) +} +func (m *QueryInstalledChaincodesResult_Chaincode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryInstalledChaincodesResult_Chaincode.Marshal(b, m, deterministic) +} +func (m *QueryInstalledChaincodesResult_Chaincode) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryInstalledChaincodesResult_Chaincode.Merge(m, src) +} +func (m *QueryInstalledChaincodesResult_Chaincode) XXX_Size() int { + return xxx_messageInfo_QueryInstalledChaincodesResult_Chaincode.Size(m) +} +func (m *QueryInstalledChaincodesResult_Chaincode) XXX_DiscardUnknown() { + xxx_messageInfo_QueryInstalledChaincodesResult_Chaincode.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryInstalledChaincodesResult_Chaincode proto.InternalMessageInfo + +func (m *QueryInstalledChaincodesResult_Chaincode) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *QueryInstalledChaincodesResult_Chaincode) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +// ApproveChaincodeDefinitionForMyOrgArgs is the message used as arguments to +// `_lifecycle.ApproveChaincodeDefinitionForMyOrg`. +type ApproveChaincodeDefinitionForMyOrgArgs struct { + Sequence int64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + EndorsementPlugin string `protobuf:"bytes,4,opt,name=endorsement_plugin,json=endorsementPlugin,proto3" json:"endorsement_plugin,omitempty"` + ValidationPlugin string `protobuf:"bytes,5,opt,name=validation_plugin,json=validationPlugin,proto3" json:"validation_plugin,omitempty"` + ValidationParameter []byte `protobuf:"bytes,6,opt,name=validation_parameter,json=validationParameter,proto3" json:"validation_parameter,omitempty"` + Collections *common.CollectionConfigPackage `protobuf:"bytes,7,opt,name=collections,proto3" json:"collections,omitempty"` + InitRequired bool `protobuf:"varint,8,opt,name=init_required,json=initRequired,proto3" json:"init_required,omitempty"` + Source *ChaincodeSource `protobuf:"bytes,9,opt,name=source,proto3" json:"source,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) Reset() { + *m = ApproveChaincodeDefinitionForMyOrgArgs{} +} +func (m *ApproveChaincodeDefinitionForMyOrgArgs) String() string { return proto.CompactTextString(m) } +func (*ApproveChaincodeDefinitionForMyOrgArgs) ProtoMessage() {} +func (*ApproveChaincodeDefinitionForMyOrgArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{8} +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgArgs.Unmarshal(m, b) +} +func (m *ApproveChaincodeDefinitionForMyOrgArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgArgs.Marshal(b, m, deterministic) +} +func (m *ApproveChaincodeDefinitionForMyOrgArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgArgs.Merge(m, src) +} +func (m *ApproveChaincodeDefinitionForMyOrgArgs) XXX_Size() int { + return xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgArgs.Size(m) +} +func (m *ApproveChaincodeDefinitionForMyOrgArgs) XXX_DiscardUnknown() { + xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgArgs proto.InternalMessageInfo + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetSequence() int64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetEndorsementPlugin() string { + if m != nil { + return m.EndorsementPlugin + } + return "" +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetValidationPlugin() string { + if m != nil { + return m.ValidationPlugin + } + return "" +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetValidationParameter() []byte { + if m != nil { + return m.ValidationParameter + } + return nil +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetCollections() *common.CollectionConfigPackage { + if m != nil { + return m.Collections + } + return nil +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetInitRequired() bool { + if m != nil { + return m.InitRequired + } + return false +} + +func (m *ApproveChaincodeDefinitionForMyOrgArgs) GetSource() *ChaincodeSource { + if m != nil { + return m.Source + } + return nil +} + +type ChaincodeSource struct { + // Types that are valid to be assigned to Type: + // *ChaincodeSource_Unavailable_ + // *ChaincodeSource_LocalPackage + Type isChaincodeSource_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeSource) Reset() { *m = ChaincodeSource{} } +func (m *ChaincodeSource) String() string { return proto.CompactTextString(m) } +func (*ChaincodeSource) ProtoMessage() {} +func (*ChaincodeSource) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{9} +} + +func (m *ChaincodeSource) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeSource.Unmarshal(m, b) +} +func (m *ChaincodeSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeSource.Marshal(b, m, deterministic) +} +func (m *ChaincodeSource) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeSource.Merge(m, src) +} +func (m *ChaincodeSource) XXX_Size() int { + return xxx_messageInfo_ChaincodeSource.Size(m) +} +func (m *ChaincodeSource) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeSource.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeSource proto.InternalMessageInfo + +type isChaincodeSource_Type interface { + isChaincodeSource_Type() +} + +type ChaincodeSource_Unavailable_ struct { + Unavailable *ChaincodeSource_Unavailable `protobuf:"bytes,1,opt,name=unavailable,proto3,oneof"` +} + +type ChaincodeSource_LocalPackage struct { + LocalPackage *ChaincodeSource_Local `protobuf:"bytes,2,opt,name=local_package,json=localPackage,proto3,oneof"` +} + +func (*ChaincodeSource_Unavailable_) isChaincodeSource_Type() {} + +func (*ChaincodeSource_LocalPackage) isChaincodeSource_Type() {} + +func (m *ChaincodeSource) GetType() isChaincodeSource_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *ChaincodeSource) GetUnavailable() *ChaincodeSource_Unavailable { + if x, ok := m.GetType().(*ChaincodeSource_Unavailable_); ok { + return x.Unavailable + } + return nil +} + +func (m *ChaincodeSource) GetLocalPackage() *ChaincodeSource_Local { + if x, ok := m.GetType().(*ChaincodeSource_LocalPackage); ok { + return x.LocalPackage + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*ChaincodeSource) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*ChaincodeSource_Unavailable_)(nil), + (*ChaincodeSource_LocalPackage)(nil), + } +} + +type ChaincodeSource_Unavailable struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeSource_Unavailable) Reset() { *m = ChaincodeSource_Unavailable{} } +func (m *ChaincodeSource_Unavailable) String() string { return proto.CompactTextString(m) } +func (*ChaincodeSource_Unavailable) ProtoMessage() {} +func (*ChaincodeSource_Unavailable) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{9, 0} +} + +func (m *ChaincodeSource_Unavailable) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeSource_Unavailable.Unmarshal(m, b) +} +func (m *ChaincodeSource_Unavailable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeSource_Unavailable.Marshal(b, m, deterministic) +} +func (m *ChaincodeSource_Unavailable) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeSource_Unavailable.Merge(m, src) +} +func (m *ChaincodeSource_Unavailable) XXX_Size() int { + return xxx_messageInfo_ChaincodeSource_Unavailable.Size(m) +} +func (m *ChaincodeSource_Unavailable) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeSource_Unavailable.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeSource_Unavailable proto.InternalMessageInfo + +type ChaincodeSource_Local struct { + PackageId string `protobuf:"bytes,1,opt,name=package_id,json=packageId,proto3" json:"package_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeSource_Local) Reset() { *m = ChaincodeSource_Local{} } +func (m *ChaincodeSource_Local) String() string { return proto.CompactTextString(m) } +func (*ChaincodeSource_Local) ProtoMessage() {} +func (*ChaincodeSource_Local) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{9, 1} +} + +func (m *ChaincodeSource_Local) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeSource_Local.Unmarshal(m, b) +} +func (m *ChaincodeSource_Local) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeSource_Local.Marshal(b, m, deterministic) +} +func (m *ChaincodeSource_Local) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeSource_Local.Merge(m, src) +} +func (m *ChaincodeSource_Local) XXX_Size() int { + return xxx_messageInfo_ChaincodeSource_Local.Size(m) +} +func (m *ChaincodeSource_Local) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeSource_Local.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeSource_Local proto.InternalMessageInfo + +func (m *ChaincodeSource_Local) GetPackageId() string { + if m != nil { + return m.PackageId + } + return "" +} + +// ApproveChaincodeDefinitionForMyOrgResult is the message returned by +// `_lifecycle.ApproveChaincodeDefinitionForMyOrg`. Currently it returns +// nothing, but may be extended in the future. +type ApproveChaincodeDefinitionForMyOrgResult struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApproveChaincodeDefinitionForMyOrgResult) Reset() { + *m = ApproveChaincodeDefinitionForMyOrgResult{} +} +func (m *ApproveChaincodeDefinitionForMyOrgResult) String() string { return proto.CompactTextString(m) } +func (*ApproveChaincodeDefinitionForMyOrgResult) ProtoMessage() {} +func (*ApproveChaincodeDefinitionForMyOrgResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{10} +} + +func (m *ApproveChaincodeDefinitionForMyOrgResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgResult.Unmarshal(m, b) +} +func (m *ApproveChaincodeDefinitionForMyOrgResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgResult.Marshal(b, m, deterministic) +} +func (m *ApproveChaincodeDefinitionForMyOrgResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgResult.Merge(m, src) +} +func (m *ApproveChaincodeDefinitionForMyOrgResult) XXX_Size() int { + return xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgResult.Size(m) +} +func (m *ApproveChaincodeDefinitionForMyOrgResult) XXX_DiscardUnknown() { + xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgResult.DiscardUnknown(m) +} + +var xxx_messageInfo_ApproveChaincodeDefinitionForMyOrgResult proto.InternalMessageInfo + +// CommitChaincodeDefinitionArgs is the message used as arguments to +// `_lifecycle.CommitChaincodeDefinition`. +type CommitChaincodeDefinitionArgs struct { + Sequence int64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + EndorsementPlugin string `protobuf:"bytes,4,opt,name=endorsement_plugin,json=endorsementPlugin,proto3" json:"endorsement_plugin,omitempty"` + ValidationPlugin string `protobuf:"bytes,5,opt,name=validation_plugin,json=validationPlugin,proto3" json:"validation_plugin,omitempty"` + ValidationParameter []byte `protobuf:"bytes,6,opt,name=validation_parameter,json=validationParameter,proto3" json:"validation_parameter,omitempty"` + Collections *common.CollectionConfigPackage `protobuf:"bytes,7,opt,name=collections,proto3" json:"collections,omitempty"` + InitRequired bool `protobuf:"varint,8,opt,name=init_required,json=initRequired,proto3" json:"init_required,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CommitChaincodeDefinitionArgs) Reset() { *m = CommitChaincodeDefinitionArgs{} } +func (m *CommitChaincodeDefinitionArgs) String() string { return proto.CompactTextString(m) } +func (*CommitChaincodeDefinitionArgs) ProtoMessage() {} +func (*CommitChaincodeDefinitionArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{11} +} + +func (m *CommitChaincodeDefinitionArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommitChaincodeDefinitionArgs.Unmarshal(m, b) +} +func (m *CommitChaincodeDefinitionArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommitChaincodeDefinitionArgs.Marshal(b, m, deterministic) +} +func (m *CommitChaincodeDefinitionArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommitChaincodeDefinitionArgs.Merge(m, src) +} +func (m *CommitChaincodeDefinitionArgs) XXX_Size() int { + return xxx_messageInfo_CommitChaincodeDefinitionArgs.Size(m) +} +func (m *CommitChaincodeDefinitionArgs) XXX_DiscardUnknown() { + xxx_messageInfo_CommitChaincodeDefinitionArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_CommitChaincodeDefinitionArgs proto.InternalMessageInfo + +func (m *CommitChaincodeDefinitionArgs) GetSequence() int64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *CommitChaincodeDefinitionArgs) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *CommitChaincodeDefinitionArgs) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *CommitChaincodeDefinitionArgs) GetEndorsementPlugin() string { + if m != nil { + return m.EndorsementPlugin + } + return "" +} + +func (m *CommitChaincodeDefinitionArgs) GetValidationPlugin() string { + if m != nil { + return m.ValidationPlugin + } + return "" +} + +func (m *CommitChaincodeDefinitionArgs) GetValidationParameter() []byte { + if m != nil { + return m.ValidationParameter + } + return nil +} + +func (m *CommitChaincodeDefinitionArgs) GetCollections() *common.CollectionConfigPackage { + if m != nil { + return m.Collections + } + return nil +} + +func (m *CommitChaincodeDefinitionArgs) GetInitRequired() bool { + if m != nil { + return m.InitRequired + } + return false +} + +// CommitChaincodeDefinitionResult is the message returned by +// `_lifecycle.CommitChaincodeDefinition`. Currently it returns +// nothing, but may be extended in the future. +type CommitChaincodeDefinitionResult struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CommitChaincodeDefinitionResult) Reset() { *m = CommitChaincodeDefinitionResult{} } +func (m *CommitChaincodeDefinitionResult) String() string { return proto.CompactTextString(m) } +func (*CommitChaincodeDefinitionResult) ProtoMessage() {} +func (*CommitChaincodeDefinitionResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{12} +} + +func (m *CommitChaincodeDefinitionResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommitChaincodeDefinitionResult.Unmarshal(m, b) +} +func (m *CommitChaincodeDefinitionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommitChaincodeDefinitionResult.Marshal(b, m, deterministic) +} +func (m *CommitChaincodeDefinitionResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommitChaincodeDefinitionResult.Merge(m, src) +} +func (m *CommitChaincodeDefinitionResult) XXX_Size() int { + return xxx_messageInfo_CommitChaincodeDefinitionResult.Size(m) +} +func (m *CommitChaincodeDefinitionResult) XXX_DiscardUnknown() { + xxx_messageInfo_CommitChaincodeDefinitionResult.DiscardUnknown(m) +} + +var xxx_messageInfo_CommitChaincodeDefinitionResult proto.InternalMessageInfo + +// CheckCommitReadinessArgs is the message used as arguments to +// `_lifecycle.CheckCommitReadiness`. +type CheckCommitReadinessArgs struct { + Sequence int64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + EndorsementPlugin string `protobuf:"bytes,4,opt,name=endorsement_plugin,json=endorsementPlugin,proto3" json:"endorsement_plugin,omitempty"` + ValidationPlugin string `protobuf:"bytes,5,opt,name=validation_plugin,json=validationPlugin,proto3" json:"validation_plugin,omitempty"` + ValidationParameter []byte `protobuf:"bytes,6,opt,name=validation_parameter,json=validationParameter,proto3" json:"validation_parameter,omitempty"` + Collections *common.CollectionConfigPackage `protobuf:"bytes,7,opt,name=collections,proto3" json:"collections,omitempty"` + InitRequired bool `protobuf:"varint,8,opt,name=init_required,json=initRequired,proto3" json:"init_required,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CheckCommitReadinessArgs) Reset() { *m = CheckCommitReadinessArgs{} } +func (m *CheckCommitReadinessArgs) String() string { return proto.CompactTextString(m) } +func (*CheckCommitReadinessArgs) ProtoMessage() {} +func (*CheckCommitReadinessArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{13} +} + +func (m *CheckCommitReadinessArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CheckCommitReadinessArgs.Unmarshal(m, b) +} +func (m *CheckCommitReadinessArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CheckCommitReadinessArgs.Marshal(b, m, deterministic) +} +func (m *CheckCommitReadinessArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckCommitReadinessArgs.Merge(m, src) +} +func (m *CheckCommitReadinessArgs) XXX_Size() int { + return xxx_messageInfo_CheckCommitReadinessArgs.Size(m) +} +func (m *CheckCommitReadinessArgs) XXX_DiscardUnknown() { + xxx_messageInfo_CheckCommitReadinessArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckCommitReadinessArgs proto.InternalMessageInfo + +func (m *CheckCommitReadinessArgs) GetSequence() int64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *CheckCommitReadinessArgs) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *CheckCommitReadinessArgs) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *CheckCommitReadinessArgs) GetEndorsementPlugin() string { + if m != nil { + return m.EndorsementPlugin + } + return "" +} + +func (m *CheckCommitReadinessArgs) GetValidationPlugin() string { + if m != nil { + return m.ValidationPlugin + } + return "" +} + +func (m *CheckCommitReadinessArgs) GetValidationParameter() []byte { + if m != nil { + return m.ValidationParameter + } + return nil +} + +func (m *CheckCommitReadinessArgs) GetCollections() *common.CollectionConfigPackage { + if m != nil { + return m.Collections + } + return nil +} + +func (m *CheckCommitReadinessArgs) GetInitRequired() bool { + if m != nil { + return m.InitRequired + } + return false +} + +// CheckCommitReadinessResult is the message returned by +// `_lifecycle.CheckCommitReadiness`. It returns a map of +// orgs to their approval (true/false) for the definition +// supplied as args. +type CheckCommitReadinessResult struct { + Approvals map[string]bool `protobuf:"bytes,1,rep,name=approvals,proto3" json:"approvals,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CheckCommitReadinessResult) Reset() { *m = CheckCommitReadinessResult{} } +func (m *CheckCommitReadinessResult) String() string { return proto.CompactTextString(m) } +func (*CheckCommitReadinessResult) ProtoMessage() {} +func (*CheckCommitReadinessResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{14} +} + +func (m *CheckCommitReadinessResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CheckCommitReadinessResult.Unmarshal(m, b) +} +func (m *CheckCommitReadinessResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CheckCommitReadinessResult.Marshal(b, m, deterministic) +} +func (m *CheckCommitReadinessResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_CheckCommitReadinessResult.Merge(m, src) +} +func (m *CheckCommitReadinessResult) XXX_Size() int { + return xxx_messageInfo_CheckCommitReadinessResult.Size(m) +} +func (m *CheckCommitReadinessResult) XXX_DiscardUnknown() { + xxx_messageInfo_CheckCommitReadinessResult.DiscardUnknown(m) +} + +var xxx_messageInfo_CheckCommitReadinessResult proto.InternalMessageInfo + +func (m *CheckCommitReadinessResult) GetApprovals() map[string]bool { + if m != nil { + return m.Approvals + } + return nil +} + +// QueryChaincodeDefinitionArgs is the message used as arguments to +// `_lifecycle.QueryChaincodeDefinition`. +type QueryChaincodeDefinitionArgs struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryChaincodeDefinitionArgs) Reset() { *m = QueryChaincodeDefinitionArgs{} } +func (m *QueryChaincodeDefinitionArgs) String() string { return proto.CompactTextString(m) } +func (*QueryChaincodeDefinitionArgs) ProtoMessage() {} +func (*QueryChaincodeDefinitionArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{15} +} + +func (m *QueryChaincodeDefinitionArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryChaincodeDefinitionArgs.Unmarshal(m, b) +} +func (m *QueryChaincodeDefinitionArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryChaincodeDefinitionArgs.Marshal(b, m, deterministic) +} +func (m *QueryChaincodeDefinitionArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChaincodeDefinitionArgs.Merge(m, src) +} +func (m *QueryChaincodeDefinitionArgs) XXX_Size() int { + return xxx_messageInfo_QueryChaincodeDefinitionArgs.Size(m) +} +func (m *QueryChaincodeDefinitionArgs) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChaincodeDefinitionArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChaincodeDefinitionArgs proto.InternalMessageInfo + +func (m *QueryChaincodeDefinitionArgs) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// QueryChaincodeDefinitionResult is the message returned by +// `_lifecycle.QueryChaincodeDefinition`. +type QueryChaincodeDefinitionResult struct { + Sequence int64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + EndorsementPlugin string `protobuf:"bytes,3,opt,name=endorsement_plugin,json=endorsementPlugin,proto3" json:"endorsement_plugin,omitempty"` + ValidationPlugin string `protobuf:"bytes,4,opt,name=validation_plugin,json=validationPlugin,proto3" json:"validation_plugin,omitempty"` + ValidationParameter []byte `protobuf:"bytes,5,opt,name=validation_parameter,json=validationParameter,proto3" json:"validation_parameter,omitempty"` + Collections *common.CollectionConfigPackage `protobuf:"bytes,6,opt,name=collections,proto3" json:"collections,omitempty"` + InitRequired bool `protobuf:"varint,7,opt,name=init_required,json=initRequired,proto3" json:"init_required,omitempty"` + Approvals map[string]bool `protobuf:"bytes,8,rep,name=approvals,proto3" json:"approvals,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryChaincodeDefinitionResult) Reset() { *m = QueryChaincodeDefinitionResult{} } +func (m *QueryChaincodeDefinitionResult) String() string { return proto.CompactTextString(m) } +func (*QueryChaincodeDefinitionResult) ProtoMessage() {} +func (*QueryChaincodeDefinitionResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{16} +} + +func (m *QueryChaincodeDefinitionResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryChaincodeDefinitionResult.Unmarshal(m, b) +} +func (m *QueryChaincodeDefinitionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryChaincodeDefinitionResult.Marshal(b, m, deterministic) +} +func (m *QueryChaincodeDefinitionResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChaincodeDefinitionResult.Merge(m, src) +} +func (m *QueryChaincodeDefinitionResult) XXX_Size() int { + return xxx_messageInfo_QueryChaincodeDefinitionResult.Size(m) +} +func (m *QueryChaincodeDefinitionResult) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChaincodeDefinitionResult.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChaincodeDefinitionResult proto.InternalMessageInfo + +func (m *QueryChaincodeDefinitionResult) GetSequence() int64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *QueryChaincodeDefinitionResult) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *QueryChaincodeDefinitionResult) GetEndorsementPlugin() string { + if m != nil { + return m.EndorsementPlugin + } + return "" +} + +func (m *QueryChaincodeDefinitionResult) GetValidationPlugin() string { + if m != nil { + return m.ValidationPlugin + } + return "" +} + +func (m *QueryChaincodeDefinitionResult) GetValidationParameter() []byte { + if m != nil { + return m.ValidationParameter + } + return nil +} + +func (m *QueryChaincodeDefinitionResult) GetCollections() *common.CollectionConfigPackage { + if m != nil { + return m.Collections + } + return nil +} + +func (m *QueryChaincodeDefinitionResult) GetInitRequired() bool { + if m != nil { + return m.InitRequired + } + return false +} + +func (m *QueryChaincodeDefinitionResult) GetApprovals() map[string]bool { + if m != nil { + return m.Approvals + } + return nil +} + +// QueryChaincodeDefinitionsArgs is the message used as arguments to +// `_lifecycle.QueryChaincodeDefinitions`. +type QueryChaincodeDefinitionsArgs struct { + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryChaincodeDefinitionsArgs) Reset() { *m = QueryChaincodeDefinitionsArgs{} } +func (m *QueryChaincodeDefinitionsArgs) String() string { return proto.CompactTextString(m) } +func (*QueryChaincodeDefinitionsArgs) ProtoMessage() {} +func (*QueryChaincodeDefinitionsArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{17} +} + +func (m *QueryChaincodeDefinitionsArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryChaincodeDefinitionsArgs.Unmarshal(m, b) +} +func (m *QueryChaincodeDefinitionsArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryChaincodeDefinitionsArgs.Marshal(b, m, deterministic) +} +func (m *QueryChaincodeDefinitionsArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChaincodeDefinitionsArgs.Merge(m, src) +} +func (m *QueryChaincodeDefinitionsArgs) XXX_Size() int { + return xxx_messageInfo_QueryChaincodeDefinitionsArgs.Size(m) +} +func (m *QueryChaincodeDefinitionsArgs) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChaincodeDefinitionsArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChaincodeDefinitionsArgs proto.InternalMessageInfo + +// QueryChaincodeDefinitionsResult is the message returned by +// `_lifecycle.QueryChaincodeDefinitions`. +type QueryChaincodeDefinitionsResult struct { + ChaincodeDefinitions []*QueryChaincodeDefinitionsResult_ChaincodeDefinition `protobuf:"bytes,1,rep,name=chaincode_definitions,json=chaincodeDefinitions,proto3" json:"chaincode_definitions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryChaincodeDefinitionsResult) Reset() { *m = QueryChaincodeDefinitionsResult{} } +func (m *QueryChaincodeDefinitionsResult) String() string { return proto.CompactTextString(m) } +func (*QueryChaincodeDefinitionsResult) ProtoMessage() {} +func (*QueryChaincodeDefinitionsResult) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{18} +} + +func (m *QueryChaincodeDefinitionsResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryChaincodeDefinitionsResult.Unmarshal(m, b) +} +func (m *QueryChaincodeDefinitionsResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryChaincodeDefinitionsResult.Marshal(b, m, deterministic) +} +func (m *QueryChaincodeDefinitionsResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChaincodeDefinitionsResult.Merge(m, src) +} +func (m *QueryChaincodeDefinitionsResult) XXX_Size() int { + return xxx_messageInfo_QueryChaincodeDefinitionsResult.Size(m) +} +func (m *QueryChaincodeDefinitionsResult) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChaincodeDefinitionsResult.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChaincodeDefinitionsResult proto.InternalMessageInfo + +func (m *QueryChaincodeDefinitionsResult) GetChaincodeDefinitions() []*QueryChaincodeDefinitionsResult_ChaincodeDefinition { + if m != nil { + return m.ChaincodeDefinitions + } + return nil +} + +type QueryChaincodeDefinitionsResult_ChaincodeDefinition struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Sequence int64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + EndorsementPlugin string `protobuf:"bytes,4,opt,name=endorsement_plugin,json=endorsementPlugin,proto3" json:"endorsement_plugin,omitempty"` + ValidationPlugin string `protobuf:"bytes,5,opt,name=validation_plugin,json=validationPlugin,proto3" json:"validation_plugin,omitempty"` + ValidationParameter []byte `protobuf:"bytes,6,opt,name=validation_parameter,json=validationParameter,proto3" json:"validation_parameter,omitempty"` + Collections *common.CollectionConfigPackage `protobuf:"bytes,7,opt,name=collections,proto3" json:"collections,omitempty"` + InitRequired bool `protobuf:"varint,8,opt,name=init_required,json=initRequired,proto3" json:"init_required,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) Reset() { + *m = QueryChaincodeDefinitionsResult_ChaincodeDefinition{} +} +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) String() string { + return proto.CompactTextString(m) +} +func (*QueryChaincodeDefinitionsResult_ChaincodeDefinition) ProtoMessage() {} +func (*QueryChaincodeDefinitionsResult_ChaincodeDefinition) Descriptor() ([]byte, []int) { + return fileDescriptor_6625a5b20951add3, []int{18, 0} +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryChaincodeDefinitionsResult_ChaincodeDefinition.Unmarshal(m, b) +} +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryChaincodeDefinitionsResult_ChaincodeDefinition.Marshal(b, m, deterministic) +} +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryChaincodeDefinitionsResult_ChaincodeDefinition.Merge(m, src) +} +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) XXX_Size() int { + return xxx_messageInfo_QueryChaincodeDefinitionsResult_ChaincodeDefinition.Size(m) +} +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) XXX_DiscardUnknown() { + xxx_messageInfo_QueryChaincodeDefinitionsResult_ChaincodeDefinition.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryChaincodeDefinitionsResult_ChaincodeDefinition proto.InternalMessageInfo + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetSequence() int64 { + if m != nil { + return m.Sequence + } + return 0 +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetEndorsementPlugin() string { + if m != nil { + return m.EndorsementPlugin + } + return "" +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetValidationPlugin() string { + if m != nil { + return m.ValidationPlugin + } + return "" +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetValidationParameter() []byte { + if m != nil { + return m.ValidationParameter + } + return nil +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetCollections() *common.CollectionConfigPackage { + if m != nil { + return m.Collections + } + return nil +} + +func (m *QueryChaincodeDefinitionsResult_ChaincodeDefinition) GetInitRequired() bool { + if m != nil { + return m.InitRequired + } + return false +} + +func init() { + proto.RegisterType((*InstallChaincodeArgs)(nil), "lifecycle.InstallChaincodeArgs") + proto.RegisterType((*InstallChaincodeResult)(nil), "lifecycle.InstallChaincodeResult") + proto.RegisterType((*QueryInstalledChaincodeArgs)(nil), "lifecycle.QueryInstalledChaincodeArgs") + proto.RegisterType((*QueryInstalledChaincodeResult)(nil), "lifecycle.QueryInstalledChaincodeResult") + proto.RegisterMapType((map[string]*QueryInstalledChaincodeResult_References)(nil), "lifecycle.QueryInstalledChaincodeResult.ReferencesEntry") + proto.RegisterType((*QueryInstalledChaincodeResult_References)(nil), "lifecycle.QueryInstalledChaincodeResult.References") + proto.RegisterType((*QueryInstalledChaincodeResult_Chaincode)(nil), "lifecycle.QueryInstalledChaincodeResult.Chaincode") + proto.RegisterType((*GetInstalledChaincodePackageArgs)(nil), "lifecycle.GetInstalledChaincodePackageArgs") + proto.RegisterType((*GetInstalledChaincodePackageResult)(nil), "lifecycle.GetInstalledChaincodePackageResult") + proto.RegisterType((*QueryInstalledChaincodesArgs)(nil), "lifecycle.QueryInstalledChaincodesArgs") + proto.RegisterType((*QueryInstalledChaincodesResult)(nil), "lifecycle.QueryInstalledChaincodesResult") + proto.RegisterType((*QueryInstalledChaincodesResult_InstalledChaincode)(nil), "lifecycle.QueryInstalledChaincodesResult.InstalledChaincode") + proto.RegisterMapType((map[string]*QueryInstalledChaincodesResult_References)(nil), "lifecycle.QueryInstalledChaincodesResult.InstalledChaincode.ReferencesEntry") + proto.RegisterType((*QueryInstalledChaincodesResult_References)(nil), "lifecycle.QueryInstalledChaincodesResult.References") + proto.RegisterType((*QueryInstalledChaincodesResult_Chaincode)(nil), "lifecycle.QueryInstalledChaincodesResult.Chaincode") + proto.RegisterType((*ApproveChaincodeDefinitionForMyOrgArgs)(nil), "lifecycle.ApproveChaincodeDefinitionForMyOrgArgs") + proto.RegisterType((*ChaincodeSource)(nil), "lifecycle.ChaincodeSource") + proto.RegisterType((*ChaincodeSource_Unavailable)(nil), "lifecycle.ChaincodeSource.Unavailable") + proto.RegisterType((*ChaincodeSource_Local)(nil), "lifecycle.ChaincodeSource.Local") + proto.RegisterType((*ApproveChaincodeDefinitionForMyOrgResult)(nil), "lifecycle.ApproveChaincodeDefinitionForMyOrgResult") + proto.RegisterType((*CommitChaincodeDefinitionArgs)(nil), "lifecycle.CommitChaincodeDefinitionArgs") + proto.RegisterType((*CommitChaincodeDefinitionResult)(nil), "lifecycle.CommitChaincodeDefinitionResult") + proto.RegisterType((*CheckCommitReadinessArgs)(nil), "lifecycle.CheckCommitReadinessArgs") + proto.RegisterType((*CheckCommitReadinessResult)(nil), "lifecycle.CheckCommitReadinessResult") + proto.RegisterMapType((map[string]bool)(nil), "lifecycle.CheckCommitReadinessResult.ApprovalsEntry") + proto.RegisterType((*QueryChaincodeDefinitionArgs)(nil), "lifecycle.QueryChaincodeDefinitionArgs") + proto.RegisterType((*QueryChaincodeDefinitionResult)(nil), "lifecycle.QueryChaincodeDefinitionResult") + proto.RegisterMapType((map[string]bool)(nil), "lifecycle.QueryChaincodeDefinitionResult.ApprovalsEntry") + proto.RegisterType((*QueryChaincodeDefinitionsArgs)(nil), "lifecycle.QueryChaincodeDefinitionsArgs") + proto.RegisterType((*QueryChaincodeDefinitionsResult)(nil), "lifecycle.QueryChaincodeDefinitionsResult") + proto.RegisterType((*QueryChaincodeDefinitionsResult_ChaincodeDefinition)(nil), "lifecycle.QueryChaincodeDefinitionsResult.ChaincodeDefinition") +} + +func init() { proto.RegisterFile("peer/lifecycle/lifecycle.proto", fileDescriptor_6625a5b20951add3) } + +var fileDescriptor_6625a5b20951add3 = []byte{ + // 992 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0xef, 0x6e, 0xdb, 0x54, + 0x14, 0x5f, 0xe2, 0x24, 0x4d, 0x4e, 0x5a, 0xb6, 0xdd, 0x06, 0x66, 0x0c, 0x6d, 0x83, 0x91, 0xaa, + 0x0a, 0xa8, 0x23, 0xd2, 0x09, 0x8d, 0xa9, 0x42, 0xca, 0x02, 0x6c, 0x9d, 0x36, 0x31, 0x3c, 0x40, + 0x88, 0x2f, 0xd9, 0x8d, 0x7d, 0x92, 0x5e, 0xd5, 0xb1, 0xb3, 0x6b, 0x27, 0x52, 0x1e, 0x86, 0x37, + 0x40, 0xbc, 0x02, 0x6f, 0xc1, 0x17, 0x24, 0x84, 0x84, 0xf8, 0xcc, 0x2b, 0x20, 0x5f, 0xdf, 0xd8, + 0x4e, 0x63, 0xa7, 0x59, 0x5b, 0xbe, 0xf5, 0x9b, 0xef, 0x3d, 0xbf, 0xf3, 0xe7, 0x9e, 0xf3, 0x3b, + 0xf7, 0xdc, 0x04, 0x76, 0xc7, 0x88, 0xbc, 0xe5, 0xb0, 0x01, 0x5a, 0x33, 0xcb, 0xc1, 0xe4, 0xcb, + 0x18, 0x73, 0x2f, 0xf0, 0x48, 0x2d, 0xde, 0xd0, 0xee, 0x59, 0xde, 0x68, 0xe4, 0xb9, 0x2d, 0xcb, + 0x73, 0x1c, 0xb4, 0x02, 0xe6, 0xb9, 0x11, 0x46, 0x37, 0xa1, 0x71, 0xe2, 0xfa, 0x01, 0x75, 0x9c, + 0xee, 0x29, 0x65, 0xae, 0xe5, 0xd9, 0xd8, 0xe1, 0x43, 0x9f, 0x3c, 0x84, 0x77, 0xad, 0xf9, 0x46, + 0x8f, 0x45, 0x88, 0xde, 0x98, 0x5a, 0x67, 0x74, 0x88, 0x6a, 0xa1, 0x59, 0x38, 0xd8, 0x34, 0xef, + 0xc5, 0x00, 0x69, 0xe1, 0x45, 0x24, 0xd6, 0x9f, 0xc3, 0x3b, 0xe7, 0x6d, 0x9a, 0xe8, 0x4f, 0x9c, + 0x80, 0xec, 0x00, 0x48, 0x1b, 0x3d, 0x66, 0x0b, 0x33, 0x35, 0xb3, 0x26, 0x77, 0x4e, 0x6c, 0xd2, + 0x80, 0xb2, 0x43, 0xfb, 0xe8, 0xa8, 0x45, 0x21, 0x89, 0x16, 0xfa, 0x31, 0xbc, 0xf7, 0xed, 0x04, + 0xf9, 0x4c, 0xda, 0x44, 0x7b, 0x31, 0xd2, 0xd5, 0x36, 0xf5, 0xdf, 0x14, 0xd8, 0xc9, 0x51, 0xbf, + 0x42, 0x50, 0xe4, 0x47, 0x00, 0x8e, 0x03, 0xe4, 0xe8, 0x5a, 0xe8, 0xab, 0x4a, 0x53, 0x39, 0xa8, + 0xb7, 0x1f, 0x18, 0x49, 0x05, 0x56, 0xba, 0x34, 0xcc, 0x58, 0xf5, 0x2b, 0x37, 0xe0, 0x33, 0x33, + 0x65, 0x4b, 0xe3, 0x70, 0xfb, 0x9c, 0x98, 0xdc, 0x01, 0xe5, 0x0c, 0x67, 0x32, 0xb4, 0xf0, 0x93, + 0x9c, 0x40, 0x79, 0x4a, 0x9d, 0x09, 0x8a, 0xa0, 0xea, 0xed, 0xa3, 0x4b, 0x78, 0x36, 0x23, 0x0b, + 0x0f, 0x8b, 0x0f, 0x0a, 0xda, 0x2b, 0x80, 0x44, 0x40, 0x4c, 0x80, 0xb8, 0xb4, 0xbe, 0x5a, 0x10, + 0x67, 0x6b, 0xaf, 0xed, 0x21, 0x59, 0xa7, 0xac, 0x68, 0x9f, 0x43, 0x2d, 0x16, 0x10, 0x02, 0x25, + 0x97, 0x8e, 0x50, 0x1e, 0x48, 0x7c, 0x13, 0x15, 0x36, 0xa6, 0xc8, 0x7d, 0xe6, 0xb9, 0x32, 0xd1, + 0xf3, 0xa5, 0xde, 0x81, 0xe6, 0x63, 0x0c, 0x96, 0xfd, 0x49, 0xba, 0xad, 0x43, 0x82, 0x57, 0xa0, + 0xaf, 0x32, 0x21, 0x89, 0x70, 0x15, 0xce, 0xef, 0xc2, 0xfb, 0x39, 0x69, 0xf1, 0xc3, 0x00, 0xf5, + 0x3f, 0x4b, 0xb0, 0x9b, 0x07, 0x90, 0xee, 0x3d, 0x68, 0xb0, 0xb9, 0xb0, 0xb7, 0x54, 0x80, 0xe3, + 0x8b, 0x0b, 0x20, 0x0d, 0x19, 0x19, 0xa5, 0xd9, 0x66, 0xcb, 0x68, 0xed, 0x97, 0x22, 0x90, 0x65, + 0xec, 0xe5, 0xfa, 0xc1, 0xc9, 0xe8, 0x87, 0x67, 0x57, 0x09, 0x79, 0x65, 0x8f, 0xf8, 0xeb, 0xf4, + 0xc8, 0xd3, 0xc5, 0x1e, 0xb9, 0xbf, 0x7e, 0x34, 0xd9, 0x4d, 0x42, 0x17, 0x9a, 0xe4, 0x65, 0x46, + 0x93, 0x1c, 0xad, 0xef, 0xe2, 0xda, 0xbb, 0xe4, 0x67, 0x05, 0xf6, 0x3b, 0xe3, 0x31, 0xf7, 0xa6, + 0x18, 0x9b, 0xf8, 0x12, 0x07, 0xcc, 0x65, 0xe1, 0x6d, 0xff, 0xb5, 0xc7, 0x9f, 0xcf, 0xbe, 0xe1, + 0x43, 0xd1, 0x2c, 0x1a, 0x54, 0x7d, 0x7c, 0x3d, 0x09, 0xcf, 0x21, 0x8c, 0x2b, 0x66, 0xbc, 0x8e, + 0x9d, 0x16, 0xb3, 0x9d, 0x2a, 0x0b, 0x4e, 0xc9, 0x21, 0x10, 0x74, 0x6d, 0x8f, 0xfb, 0x38, 0x42, + 0x37, 0xe8, 0x8d, 0x9d, 0xc9, 0x90, 0xb9, 0x6a, 0x49, 0x80, 0xee, 0xa6, 0x24, 0x2f, 0x84, 0x80, + 0x7c, 0x0c, 0x77, 0xa7, 0xd4, 0x61, 0x36, 0x0d, 0x43, 0x9a, 0xa3, 0xcb, 0x02, 0x7d, 0x27, 0x11, + 0x48, 0xf0, 0xa7, 0xd0, 0x48, 0x83, 0x29, 0xa7, 0x23, 0x0c, 0x90, 0xab, 0x15, 0xd1, 0x88, 0xdb, + 0x29, 0xfc, 0x5c, 0x44, 0x3a, 0x50, 0x4f, 0x06, 0x9c, 0xaf, 0x6e, 0x88, 0xba, 0xef, 0x19, 0xd1, + 0xec, 0x33, 0xba, 0xb1, 0xa8, 0xeb, 0xb9, 0x03, 0x36, 0x9c, 0x37, 0x7f, 0x5a, 0x87, 0x7c, 0x08, + 0x5b, 0x61, 0xca, 0x7a, 0x1c, 0x5f, 0x4f, 0x18, 0x47, 0x5b, 0xad, 0x36, 0x0b, 0x07, 0x55, 0x73, + 0x33, 0xdc, 0x34, 0xe5, 0x1e, 0x69, 0x43, 0xc5, 0xf7, 0x26, 0xdc, 0x42, 0xb5, 0x26, 0x5c, 0x68, + 0xa9, 0xba, 0xc7, 0xc9, 0x7f, 0x29, 0x10, 0xa6, 0x44, 0xea, 0xff, 0x14, 0xe0, 0xf6, 0x39, 0x19, + 0x79, 0x0a, 0xf5, 0x89, 0x4b, 0xa7, 0x94, 0x39, 0xb4, 0xef, 0x44, 0xb5, 0xa8, 0xb7, 0xf7, 0xf3, + 0x8d, 0x19, 0xdf, 0x27, 0xe8, 0x27, 0xb7, 0xcc, 0xb4, 0x32, 0x79, 0x0c, 0x5b, 0x8e, 0x67, 0xd1, + 0xe4, 0xc2, 0x8a, 0x58, 0xdf, 0x5c, 0x61, 0xed, 0x59, 0x88, 0x7f, 0x72, 0xcb, 0xdc, 0x14, 0x8a, + 0x32, 0x1d, 0xda, 0x16, 0xd4, 0x53, 0x6e, 0xb4, 0x7d, 0x28, 0x0b, 0xdc, 0x05, 0xd7, 0xc2, 0xa3, + 0x0a, 0x94, 0xbe, 0x9b, 0x8d, 0x51, 0xff, 0x08, 0x0e, 0x2e, 0xa6, 0x61, 0xd4, 0x04, 0xfa, 0x5f, + 0x45, 0xd8, 0xe9, 0x7a, 0xa3, 0x11, 0x0b, 0x32, 0xb0, 0x37, 0x54, 0xbd, 0x06, 0xaa, 0xea, 0x1f, + 0xc0, 0x5e, 0x6e, 0x86, 0x65, 0x15, 0xfe, 0x28, 0x82, 0xda, 0x3d, 0x45, 0xeb, 0x2c, 0x02, 0x9a, + 0x48, 0x6d, 0xe6, 0xa2, 0xef, 0xdf, 0x14, 0xe0, 0x3a, 0x0a, 0xf0, 0x6b, 0x01, 0xb4, 0xac, 0xec, + 0xca, 0xa1, 0x6f, 0x42, 0x8d, 0x8a, 0x76, 0xa1, 0xce, 0x7c, 0x8a, 0xdc, 0x5f, 0x68, 0xd9, 0x3c, + 0x4d, 0xa3, 0x33, 0x57, 0x8b, 0xc6, 0x63, 0x62, 0x46, 0x3b, 0x86, 0xb7, 0x16, 0x85, 0x19, 0xc3, + 0xb1, 0x91, 0x1e, 0x8e, 0xd5, 0xd4, 0x98, 0xd3, 0xdb, 0xf2, 0x25, 0x93, 0xd7, 0x92, 0x19, 0x63, + 0x49, 0xff, 0x5b, 0x91, 0xaf, 0x9b, 0x5c, 0x96, 0xad, 0x24, 0x52, 0xee, 0x54, 0xcb, 0x21, 0x8d, + 0xf2, 0x46, 0xa4, 0x29, 0xbd, 0x21, 0x69, 0xca, 0x6b, 0x93, 0xa6, 0x72, 0x1d, 0xa4, 0xd9, 0xc8, + 0x18, 0x30, 0x3f, 0xa4, 0x59, 0x51, 0xcd, 0xfe, 0x71, 0x91, 0x9b, 0xea, 0xff, 0x8d, 0x19, 0x7b, + 0xf2, 0x97, 0x54, 0x86, 0xe7, 0xe8, 0x91, 0xfb, 0xaf, 0x02, 0x7b, 0xb9, 0x08, 0xc9, 0x03, 0x1f, + 0xde, 0x4e, 0x1e, 0xd9, 0x76, 0x22, 0x96, 0xe4, 0xff, 0x62, 0x8d, 0x63, 0x2e, 0xbd, 0xa1, 0x52, + 0x19, 0x68, 0x58, 0x19, 0x78, 0xed, 0xf7, 0x22, 0x6c, 0x67, 0xa0, 0x33, 0x9f, 0x58, 0x69, 0xa2, + 0x16, 0xf3, 0x89, 0x7a, 0x73, 0xbb, 0x71, 0xb4, 0x1f, 0x0d, 0xe0, 0x13, 0x8f, 0x0f, 0x8d, 0xd3, + 0xd9, 0x18, 0xb9, 0x83, 0xf6, 0x10, 0xb9, 0x31, 0xa0, 0x7d, 0xce, 0xac, 0xe8, 0xef, 0x05, 0xdf, + 0x18, 0x23, 0xf2, 0xa4, 0xa4, 0x3f, 0x7d, 0x36, 0x64, 0xc1, 0xe9, 0xa4, 0x1f, 0x06, 0xd2, 0x4a, + 0x29, 0xb5, 0x22, 0xa5, 0xc3, 0x48, 0xe9, 0x70, 0xe8, 0xb5, 0x16, 0xff, 0xda, 0xe8, 0x57, 0x84, + 0xe4, 0xe8, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x60, 0xe7, 0x64, 0x00, 0xf3, 0x10, 0x00, 0x00, +} diff --git a/peer/peer.pb.go b/peer/peer.pb.go new file mode 100644 index 0000000..0446f11 --- /dev/null +++ b/peer/peer.pb.go @@ -0,0 +1,123 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/peer.proto + +package peer + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +func init() { proto.RegisterFile("peer/peer.proto", fileDescriptor_c302117fbb08ad42) } + +var fileDescriptor_c302117fbb08ad42 = []byte{ + // 177 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xb1, 0x0a, 0xc2, 0x30, + 0x10, 0x86, 0x37, 0x91, 0x2c, 0x85, 0x0a, 0x22, 0xc5, 0xc9, 0xd9, 0xa6, 0xa0, 0x6f, 0xa0, 0x38, + 0x5b, 0xea, 0xe6, 0x22, 0x6d, 0x73, 0xa6, 0x81, 0x9a, 0x0b, 0x77, 0x75, 0xf0, 0xed, 0xa5, 0xbd, + 0x06, 0x74, 0x49, 0xe0, 0xfb, 0xbf, 0x3b, 0xee, 0x57, 0x49, 0x00, 0xa0, 0x62, 0x7c, 0x74, 0x20, + 0x1c, 0x30, 0x5d, 0x4c, 0x1f, 0x67, 0x2b, 0x09, 0x08, 0x03, 0x72, 0xdd, 0x4b, 0x98, 0x6d, 0xff, + 0xe0, 0x83, 0x80, 0x03, 0x7a, 0x06, 0x49, 0x0f, 0x57, 0xb5, 0xbc, 0x78, 0x83, 0xc4, 0x40, 0xe9, + 0x59, 0x25, 0x25, 0x61, 0x0b, 0xcc, 0xe5, 0x6c, 0xa7, 0x6b, 0xd1, 0x58, 0xdf, 0x9c, 0xf5, 0x60, + 0x22, 0xcf, 0x36, 0x91, 0x47, 0x52, 0xcd, 0x6b, 0x4f, 0x95, 0xda, 0x21, 0x59, 0xdd, 0x7d, 0x02, + 0x50, 0x0f, 0xc6, 0x02, 0xe9, 0x67, 0xdd, 0x90, 0x6b, 0xe3, 0xc4, 0x78, 0xce, 0x7d, 0x6f, 0xdd, + 0xd0, 0xbd, 0x1b, 0xdd, 0xe2, 0xab, 0xf8, 0x51, 0x0b, 0x51, 0x73, 0x51, 0x73, 0x8b, 0x53, 0xcb, + 0x46, 0xfa, 0x1d, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd5, 0x12, 0xef, 0x66, 0xf9, 0x00, 0x00, + 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// EndorserClient is the client API for Endorser service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type EndorserClient interface { + ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error) +} + +type endorserClient struct { + cc *grpc.ClientConn +} + +func NewEndorserClient(cc *grpc.ClientConn) EndorserClient { + return &endorserClient{cc} +} + +func (c *endorserClient) ProcessProposal(ctx context.Context, in *SignedProposal, opts ...grpc.CallOption) (*ProposalResponse, error) { + out := new(ProposalResponse) + err := c.cc.Invoke(ctx, "/protos.Endorser/ProcessProposal", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// EndorserServer is the server API for Endorser service. +type EndorserServer interface { + ProcessProposal(context.Context, *SignedProposal) (*ProposalResponse, error) +} + +// UnimplementedEndorserServer can be embedded to have forward compatible implementations. +type UnimplementedEndorserServer struct { +} + +func (*UnimplementedEndorserServer) ProcessProposal(ctx context.Context, req *SignedProposal) (*ProposalResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ProcessProposal not implemented") +} + +func RegisterEndorserServer(s *grpc.Server, srv EndorserServer) { + s.RegisterService(&_Endorser_serviceDesc, srv) +} + +func _Endorser_ProcessProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SignedProposal) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(EndorserServer).ProcessProposal(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/protos.Endorser/ProcessProposal", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(EndorserServer).ProcessProposal(ctx, req.(*SignedProposal)) + } + return interceptor(ctx, in, info, handler) +} + +var _Endorser_serviceDesc = grpc.ServiceDesc{ + ServiceName: "protos.Endorser", + HandlerType: (*EndorserServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ProcessProposal", + Handler: _Endorser_ProcessProposal_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "peer/peer.proto", +} diff --git a/peer/policy.pb.go b/peer/policy.pb.go new file mode 100644 index 0000000..dd9874a --- /dev/null +++ b/peer/policy.pb.go @@ -0,0 +1,130 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/policy.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ApplicationPolicy captures the diffenrent policy types that +// are set and evaluted at the application level. +type ApplicationPolicy struct { + // Types that are valid to be assigned to Type: + // *ApplicationPolicy_SignaturePolicy + // *ApplicationPolicy_ChannelConfigPolicyReference + Type isApplicationPolicy_Type `protobuf_oneof:"Type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApplicationPolicy) Reset() { *m = ApplicationPolicy{} } +func (m *ApplicationPolicy) String() string { return proto.CompactTextString(m) } +func (*ApplicationPolicy) ProtoMessage() {} +func (*ApplicationPolicy) Descriptor() ([]byte, []int) { + return fileDescriptor_17aa1dd1e55c3e19, []int{0} +} + +func (m *ApplicationPolicy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplicationPolicy.Unmarshal(m, b) +} +func (m *ApplicationPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplicationPolicy.Marshal(b, m, deterministic) +} +func (m *ApplicationPolicy) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplicationPolicy.Merge(m, src) +} +func (m *ApplicationPolicy) XXX_Size() int { + return xxx_messageInfo_ApplicationPolicy.Size(m) +} +func (m *ApplicationPolicy) XXX_DiscardUnknown() { + xxx_messageInfo_ApplicationPolicy.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplicationPolicy proto.InternalMessageInfo + +type isApplicationPolicy_Type interface { + isApplicationPolicy_Type() +} + +type ApplicationPolicy_SignaturePolicy struct { + SignaturePolicy *common.SignaturePolicyEnvelope `protobuf:"bytes,1,opt,name=signature_policy,json=signaturePolicy,proto3,oneof"` +} + +type ApplicationPolicy_ChannelConfigPolicyReference struct { + ChannelConfigPolicyReference string `protobuf:"bytes,2,opt,name=channel_config_policy_reference,json=channelConfigPolicyReference,proto3,oneof"` +} + +func (*ApplicationPolicy_SignaturePolicy) isApplicationPolicy_Type() {} + +func (*ApplicationPolicy_ChannelConfigPolicyReference) isApplicationPolicy_Type() {} + +func (m *ApplicationPolicy) GetType() isApplicationPolicy_Type { + if m != nil { + return m.Type + } + return nil +} + +func (m *ApplicationPolicy) GetSignaturePolicy() *common.SignaturePolicyEnvelope { + if x, ok := m.GetType().(*ApplicationPolicy_SignaturePolicy); ok { + return x.SignaturePolicy + } + return nil +} + +func (m *ApplicationPolicy) GetChannelConfigPolicyReference() string { + if x, ok := m.GetType().(*ApplicationPolicy_ChannelConfigPolicyReference); ok { + return x.ChannelConfigPolicyReference + } + return "" +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*ApplicationPolicy) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*ApplicationPolicy_SignaturePolicy)(nil), + (*ApplicationPolicy_ChannelConfigPolicyReference)(nil), + } +} + +func init() { + proto.RegisterType((*ApplicationPolicy)(nil), "protos.ApplicationPolicy") +} + +func init() { proto.RegisterFile("peer/policy.proto", fileDescriptor_17aa1dd1e55c3e19) } + +var fileDescriptor_17aa1dd1e55c3e19 = []byte{ + // 243 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xc1, 0x4a, 0xc3, 0x40, + 0x10, 0x86, 0x1b, 0x91, 0x82, 0xeb, 0x41, 0x1b, 0x10, 0x8a, 0x08, 0x2d, 0x3d, 0xf5, 0x60, 0x37, + 0xa0, 0x4f, 0x60, 0x45, 0xec, 0xc1, 0x83, 0x44, 0x4f, 0x5e, 0x42, 0xb2, 0x4e, 0x36, 0x0b, 0xdb, + 0x9d, 0x61, 0x36, 0x15, 0xf2, 0x5a, 0x3e, 0xa1, 0x24, 0xd3, 0x80, 0x3d, 0xed, 0xe1, 0xfb, 0xfe, + 0x9f, 0x9d, 0x5f, 0xcd, 0x08, 0x80, 0x33, 0x42, 0xef, 0x4c, 0xa7, 0x89, 0xb1, 0xc5, 0x74, 0x3a, + 0x3c, 0xf1, 0xf6, 0xc6, 0xe0, 0x7e, 0x8f, 0x41, 0xa0, 0x83, 0x28, 0x78, 0xf5, 0x9b, 0xa8, 0xd9, + 0x13, 0x91, 0x77, 0xa6, 0x6c, 0x1d, 0x86, 0xf7, 0x21, 0x9a, 0xbe, 0xa9, 0xeb, 0xe8, 0x6c, 0x28, + 0xdb, 0x03, 0x43, 0x21, 0x75, 0xf3, 0x64, 0x99, 0xac, 0x2f, 0x1f, 0x16, 0x5a, 0x7a, 0xf4, 0xc7, + 0xc8, 0x25, 0xf2, 0x12, 0x7e, 0xc0, 0x23, 0xc1, 0x6e, 0x92, 0x5f, 0xc5, 0x53, 0x94, 0xbe, 0xaa, + 0x85, 0x69, 0xca, 0x10, 0xc0, 0x17, 0x06, 0x43, 0xed, 0xec, 0xb1, 0xb2, 0x60, 0xa8, 0x81, 0x21, + 0x18, 0x98, 0x9f, 0x2d, 0x93, 0xf5, 0xc5, 0x6e, 0x92, 0xdf, 0x1d, 0xc5, 0xe7, 0xc1, 0x93, 0x7c, + 0x3e, 0x5a, 0xdb, 0xa9, 0x3a, 0xff, 0xec, 0x08, 0xb6, 0xb9, 0x5a, 0x21, 0x5b, 0xdd, 0x74, 0x04, + 0xec, 0xe1, 0xdb, 0x02, 0xeb, 0xba, 0xac, 0xd8, 0x19, 0x39, 0x2a, 0xea, 0x7e, 0x86, 0xaf, 0x7b, + 0xeb, 0xda, 0xe6, 0x50, 0xf5, 0x1f, 0xce, 0xfe, 0xa9, 0x99, 0xa8, 0x1b, 0x51, 0x37, 0x16, 0xb3, + 0xde, 0xae, 0x64, 0xa7, 0xc7, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x89, 0x76, 0x3a, 0x03, 0x43, + 0x01, 0x00, 0x00, +} diff --git a/peer/proposal.pb.go b/peer/proposal.pb.go new file mode 100644 index 0000000..6c36747 --- /dev/null +++ b/peer/proposal.pb.go @@ -0,0 +1,415 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/proposal.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// This structure is necessary to sign the proposal which contains the header +// and the payload. Without this structure, we would have to concatenate the +// header and the payload to verify the signature, which could be expensive +// with large payload +// +// When an endorser receives a SignedProposal message, it should verify the +// signature over the proposal bytes. This verification requires the following +// steps: +// 1. Verification of the validity of the certificate that was used to produce +// the signature. The certificate will be available once proposalBytes has +// been unmarshalled to a Proposal message, and Proposal.header has been +// unmarshalled to a Header message. While this unmarshalling-before-verifying +// might not be ideal, it is unavoidable because i) the signature needs to also +// protect the signing certificate; ii) it is desirable that Header is created +// once by the client and never changed (for the sake of accountability and +// non-repudiation). Note also that it is actually impossible to conclusively +// verify the validity of the certificate included in a Proposal, because the +// proposal needs to first be endorsed and ordered with respect to certificate +// expiration transactions. Still, it is useful to pre-filter expired +// certificates at this stage. +// 2. Verification that the certificate is trusted (signed by a trusted CA) and +// that it is allowed to transact with us (with respect to some ACLs); +// 3. Verification that the signature on proposalBytes is valid; +// 4. Detect replay attacks; +type SignedProposal struct { + // The bytes of Proposal + ProposalBytes []byte `protobuf:"bytes,1,opt,name=proposal_bytes,json=proposalBytes,proto3" json:"proposal_bytes,omitempty"` + // Signaure over proposalBytes; this signature is to be verified against + // the creator identity contained in the header of the Proposal message + // marshaled as proposalBytes + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignedProposal) Reset() { *m = SignedProposal{} } +func (m *SignedProposal) String() string { return proto.CompactTextString(m) } +func (*SignedProposal) ProtoMessage() {} +func (*SignedProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{0} +} + +func (m *SignedProposal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignedProposal.Unmarshal(m, b) +} +func (m *SignedProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignedProposal.Marshal(b, m, deterministic) +} +func (m *SignedProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedProposal.Merge(m, src) +} +func (m *SignedProposal) XXX_Size() int { + return xxx_messageInfo_SignedProposal.Size(m) +} +func (m *SignedProposal) XXX_DiscardUnknown() { + xxx_messageInfo_SignedProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedProposal proto.InternalMessageInfo + +func (m *SignedProposal) GetProposalBytes() []byte { + if m != nil { + return m.ProposalBytes + } + return nil +} + +func (m *SignedProposal) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +// A Proposal is sent to an endorser for endorsement. The proposal contains: +// 1. A header which should be unmarshaled to a Header message. Note that +// Header is both the header of a Proposal and of a Transaction, in that i) +// both headers should be unmarshaled to this message; and ii) it is used to +// compute cryptographic hashes and signatures. The header has fields common +// to all proposals/transactions. In addition it has a type field for +// additional customization. An example of this is the ChaincodeHeaderExtension +// message used to extend the Header for type CHAINCODE. +// 2. A payload whose type depends on the header's type field. +// 3. An extension whose type depends on the header's type field. +// +// Let us see an example. For type CHAINCODE (see the Header message), +// we have the following: +// 1. The header is a Header message whose extensions field is a +// ChaincodeHeaderExtension message. +// 2. The payload is a ChaincodeProposalPayload message. +// 3. The extension is a ChaincodeAction that might be used to ask the +// endorsers to endorse a specific ChaincodeAction, thus emulating the +// submitting peer model. +type Proposal struct { + // The header of the proposal. It is the bytes of the Header + Header []byte `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // The payload of the proposal as defined by the type in the proposal + // header. + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + // Optional extensions to the proposal. Its content depends on the Header's + // type field. For the type CHAINCODE, it might be the bytes of a + // ChaincodeAction message. + Extension []byte `protobuf:"bytes,3,opt,name=extension,proto3" json:"extension,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Proposal) Reset() { *m = Proposal{} } +func (m *Proposal) String() string { return proto.CompactTextString(m) } +func (*Proposal) ProtoMessage() {} +func (*Proposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{1} +} + +func (m *Proposal) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Proposal.Unmarshal(m, b) +} +func (m *Proposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Proposal.Marshal(b, m, deterministic) +} +func (m *Proposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_Proposal.Merge(m, src) +} +func (m *Proposal) XXX_Size() int { + return xxx_messageInfo_Proposal.Size(m) +} +func (m *Proposal) XXX_DiscardUnknown() { + xxx_messageInfo_Proposal.DiscardUnknown(m) +} + +var xxx_messageInfo_Proposal proto.InternalMessageInfo + +func (m *Proposal) GetHeader() []byte { + if m != nil { + return m.Header + } + return nil +} + +func (m *Proposal) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *Proposal) GetExtension() []byte { + if m != nil { + return m.Extension + } + return nil +} + +// ChaincodeHeaderExtension is the Header's extentions message to be used when +// the Header's type is CHAINCODE. This extensions is used to specify which +// chaincode to invoke and what should appear on the ledger. +type ChaincodeHeaderExtension struct { + // The PayloadVisibility field controls to what extent the Proposal's payload + // (recall that for the type CHAINCODE, it is ChaincodeProposalPayload + // message) field will be visible in the final transaction and in the ledger. + // Ideally, it would be configurable, supporting at least 3 main visibility + // modes: + // 1. all bytes of the payload are visible; + // 2. only a hash of the payload is visible; + // 3. nothing is visible. + // Notice that the visibility function may be potentially part of the ESCC. + // In that case it overrides PayloadVisibility field. Finally notice that + // this field impacts the content of ProposalResponsePayload.proposalHash. + PayloadVisibility []byte `protobuf:"bytes,1,opt,name=payload_visibility,json=payloadVisibility,proto3" json:"payload_visibility,omitempty"` + // The ID of the chaincode to target. + ChaincodeId *ChaincodeID `protobuf:"bytes,2,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeHeaderExtension) Reset() { *m = ChaincodeHeaderExtension{} } +func (m *ChaincodeHeaderExtension) String() string { return proto.CompactTextString(m) } +func (*ChaincodeHeaderExtension) ProtoMessage() {} +func (*ChaincodeHeaderExtension) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{2} +} + +func (m *ChaincodeHeaderExtension) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeHeaderExtension.Unmarshal(m, b) +} +func (m *ChaincodeHeaderExtension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeHeaderExtension.Marshal(b, m, deterministic) +} +func (m *ChaincodeHeaderExtension) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeHeaderExtension.Merge(m, src) +} +func (m *ChaincodeHeaderExtension) XXX_Size() int { + return xxx_messageInfo_ChaincodeHeaderExtension.Size(m) +} +func (m *ChaincodeHeaderExtension) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeHeaderExtension.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeHeaderExtension proto.InternalMessageInfo + +func (m *ChaincodeHeaderExtension) GetPayloadVisibility() []byte { + if m != nil { + return m.PayloadVisibility + } + return nil +} + +func (m *ChaincodeHeaderExtension) GetChaincodeId() *ChaincodeID { + if m != nil { + return m.ChaincodeId + } + return nil +} + +// ChaincodeProposalPayload is the Proposal's payload message to be used when +// the Header's type is CHAINCODE. It contains the arguments for this +// invocation. +type ChaincodeProposalPayload struct { + // Input contains the arguments for this invocation. If this invocation + // deploys a new chaincode, ESCC/VSCC are part of this field. + // This is usually a marshaled ChaincodeInvocationSpec + Input []byte `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"` + // TransientMap contains data (e.g. cryptographic material) that might be used + // to implement some form of application-level confidentiality. The contents + // of this field are supposed to always be omitted from the transaction and + // excluded from the ledger. + TransientMap map[string][]byte `protobuf:"bytes,2,rep,name=TransientMap,proto3" json:"TransientMap,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeProposalPayload) Reset() { *m = ChaincodeProposalPayload{} } +func (m *ChaincodeProposalPayload) String() string { return proto.CompactTextString(m) } +func (*ChaincodeProposalPayload) ProtoMessage() {} +func (*ChaincodeProposalPayload) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{3} +} + +func (m *ChaincodeProposalPayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeProposalPayload.Unmarshal(m, b) +} +func (m *ChaincodeProposalPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeProposalPayload.Marshal(b, m, deterministic) +} +func (m *ChaincodeProposalPayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeProposalPayload.Merge(m, src) +} +func (m *ChaincodeProposalPayload) XXX_Size() int { + return xxx_messageInfo_ChaincodeProposalPayload.Size(m) +} +func (m *ChaincodeProposalPayload) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeProposalPayload.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeProposalPayload proto.InternalMessageInfo + +func (m *ChaincodeProposalPayload) GetInput() []byte { + if m != nil { + return m.Input + } + return nil +} + +func (m *ChaincodeProposalPayload) GetTransientMap() map[string][]byte { + if m != nil { + return m.TransientMap + } + return nil +} + +// ChaincodeAction contains the actions the events generated by the execution +// of the chaincode. +type ChaincodeAction struct { + // This field contains the read set and the write set produced by the + // chaincode executing this invocation. + Results []byte `protobuf:"bytes,1,opt,name=results,proto3" json:"results,omitempty"` + // This field contains the events generated by the chaincode executing this + // invocation. + Events []byte `protobuf:"bytes,2,opt,name=events,proto3" json:"events,omitempty"` + // This field contains the result of executing this invocation. + Response *Response `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"` + // This field contains the ChaincodeID of executing this invocation. Endorser + // will set it with the ChaincodeID called by endorser while simulating proposal. + // Committer will validate the version matching with latest chaincode version. + // Adding ChaincodeID to keep version opens up the possibility of multiple + // ChaincodeAction per transaction. + ChaincodeId *ChaincodeID `protobuf:"bytes,4,opt,name=chaincode_id,json=chaincodeId,proto3" json:"chaincode_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeAction) Reset() { *m = ChaincodeAction{} } +func (m *ChaincodeAction) String() string { return proto.CompactTextString(m) } +func (*ChaincodeAction) ProtoMessage() {} +func (*ChaincodeAction) Descriptor() ([]byte, []int) { + return fileDescriptor_c4dbb4372a94bd5b, []int{4} +} + +func (m *ChaincodeAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeAction.Unmarshal(m, b) +} +func (m *ChaincodeAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeAction.Marshal(b, m, deterministic) +} +func (m *ChaincodeAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeAction.Merge(m, src) +} +func (m *ChaincodeAction) XXX_Size() int { + return xxx_messageInfo_ChaincodeAction.Size(m) +} +func (m *ChaincodeAction) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeAction.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeAction proto.InternalMessageInfo + +func (m *ChaincodeAction) GetResults() []byte { + if m != nil { + return m.Results + } + return nil +} + +func (m *ChaincodeAction) GetEvents() []byte { + if m != nil { + return m.Events + } + return nil +} + +func (m *ChaincodeAction) GetResponse() *Response { + if m != nil { + return m.Response + } + return nil +} + +func (m *ChaincodeAction) GetChaincodeId() *ChaincodeID { + if m != nil { + return m.ChaincodeId + } + return nil +} + +func init() { + proto.RegisterType((*SignedProposal)(nil), "protos.SignedProposal") + proto.RegisterType((*Proposal)(nil), "protos.Proposal") + proto.RegisterType((*ChaincodeHeaderExtension)(nil), "protos.ChaincodeHeaderExtension") + proto.RegisterType((*ChaincodeProposalPayload)(nil), "protos.ChaincodeProposalPayload") + proto.RegisterMapType((map[string][]byte)(nil), "protos.ChaincodeProposalPayload.TransientMapEntry") + proto.RegisterType((*ChaincodeAction)(nil), "protos.ChaincodeAction") +} + +func init() { proto.RegisterFile("peer/proposal.proto", fileDescriptor_c4dbb4372a94bd5b) } + +var fileDescriptor_c4dbb4372a94bd5b = []byte{ + // 470 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xc1, 0x6a, 0xdb, 0x40, + 0x10, 0x45, 0x71, 0xe2, 0x38, 0x63, 0x37, 0x71, 0x36, 0xa1, 0x08, 0x93, 0x43, 0x10, 0x14, 0x72, + 0x88, 0x65, 0x70, 0xa1, 0x94, 0x5e, 0x4a, 0xdd, 0x06, 0x9a, 0x42, 0x21, 0xa8, 0x6d, 0x0e, 0xb9, + 0x98, 0x95, 0x34, 0x95, 0x17, 0xab, 0xbb, 0xcb, 0xee, 0xca, 0x54, 0xc7, 0x7e, 0x5a, 0x8f, 0xfd, + 0xab, 0x22, 0xed, 0xae, 0xe2, 0xd4, 0x97, 0x9e, 0xec, 0x99, 0x79, 0xef, 0xcd, 0xcc, 0x1b, 0x2d, + 0x9c, 0x49, 0x44, 0x35, 0x93, 0x4a, 0x48, 0xa1, 0x69, 0x19, 0x4b, 0x25, 0x8c, 0x20, 0xfd, 0xf6, + 0x47, 0x4f, 0xce, 0xdb, 0x62, 0xb6, 0xa2, 0x8c, 0x67, 0x22, 0x47, 0x5b, 0x9d, 0x5c, 0x3c, 0xa1, + 0x2c, 0x15, 0x6a, 0x29, 0xb8, 0x76, 0xd5, 0xe8, 0x1b, 0x1c, 0x7f, 0x61, 0x05, 0xc7, 0xfc, 0xce, + 0x01, 0xc8, 0x0b, 0x38, 0xee, 0xc0, 0x69, 0x6d, 0x50, 0x87, 0xc1, 0x65, 0x70, 0x35, 0x4a, 0x9e, + 0xf9, 0xec, 0xa2, 0x49, 0x92, 0x0b, 0x38, 0xd2, 0xac, 0xe0, 0xd4, 0x54, 0x0a, 0xc3, 0xbd, 0x16, + 0xf1, 0x98, 0x88, 0x1e, 0x60, 0xd0, 0x09, 0x3e, 0x87, 0xfe, 0x0a, 0x69, 0x8e, 0xca, 0x09, 0xb9, + 0x88, 0x84, 0x70, 0x28, 0x69, 0x5d, 0x0a, 0x9a, 0x3b, 0xbe, 0x0f, 0x1b, 0x6d, 0xfc, 0x69, 0x90, + 0x6b, 0x26, 0x78, 0xd8, 0xb3, 0xda, 0x5d, 0x22, 0xfa, 0x15, 0x40, 0xf8, 0xde, 0x2f, 0xf9, 0xb1, + 0xd5, 0xba, 0xf1, 0x45, 0x32, 0x05, 0xe2, 0x54, 0x96, 0x1b, 0xa6, 0x59, 0xca, 0x4a, 0x66, 0x6a, + 0xd7, 0xf8, 0xd4, 0x55, 0xee, 0xbb, 0x02, 0x79, 0x05, 0xa3, 0xce, 0xaf, 0x25, 0xb3, 0x83, 0x0c, + 0xe7, 0x67, 0xd6, 0x1c, 0x1d, 0x77, 0x6d, 0x6e, 0x3f, 0x24, 0xc3, 0x0e, 0x78, 0x9b, 0x47, 0x7f, + 0xb6, 0x67, 0xf0, 0x9b, 0xde, 0xb9, 0xf1, 0xcf, 0xe1, 0x80, 0x71, 0x59, 0x19, 0xd7, 0xd6, 0x06, + 0xe4, 0x1e, 0x46, 0x5f, 0x15, 0xe5, 0x9a, 0x21, 0x37, 0x9f, 0xa9, 0x0c, 0xf7, 0x2e, 0x7b, 0x57, + 0xc3, 0xf9, 0x7c, 0xa7, 0xd5, 0x3f, 0x6a, 0xf1, 0x36, 0xe9, 0x86, 0x1b, 0x55, 0x27, 0x4f, 0x74, + 0x26, 0x6f, 0xe1, 0x74, 0x07, 0x42, 0xc6, 0xd0, 0x5b, 0xa3, 0xdd, 0xfb, 0x28, 0x69, 0xfe, 0x36, + 0x43, 0x6d, 0x68, 0x59, 0xf9, 0x5b, 0xd9, 0xe0, 0xcd, 0xde, 0xeb, 0x20, 0xfa, 0x1d, 0xc0, 0x49, + 0xd7, 0xfd, 0x5d, 0x66, 0x1a, 0x1b, 0x43, 0x38, 0x54, 0xa8, 0xab, 0xd2, 0xf8, 0xeb, 0xfb, 0xb0, + 0xb9, 0x26, 0x6e, 0x90, 0x1b, 0xed, 0x84, 0x5c, 0x44, 0xae, 0x61, 0xe0, 0x3f, 0xad, 0xf6, 0x64, + 0xc3, 0xf9, 0xd8, 0xaf, 0x96, 0xb8, 0x7c, 0xd2, 0x21, 0x76, 0x7c, 0xdf, 0xff, 0x3f, 0xdf, 0x3f, + 0xed, 0x0f, 0x0e, 0xc6, 0xfd, 0x64, 0x6c, 0xc4, 0x1a, 0xf9, 0x52, 0x48, 0x54, 0xb4, 0x19, 0x57, + 0x2f, 0x32, 0x88, 0x84, 0x2a, 0xe2, 0x55, 0x2d, 0x51, 0x95, 0x98, 0x17, 0xa8, 0xe2, 0xef, 0x34, + 0x55, 0x2c, 0xf3, 0x8a, 0xcd, 0x23, 0x58, 0x9c, 0x3c, 0x7a, 0x9b, 0xad, 0x69, 0x81, 0x0f, 0xd7, + 0x05, 0x33, 0xab, 0x2a, 0x8d, 0x33, 0xf1, 0x63, 0xb6, 0xc5, 0x9d, 0x59, 0xee, 0xd4, 0x72, 0xa7, + 0x85, 0x98, 0x35, 0xf4, 0xd4, 0xbe, 0xb3, 0x97, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x97, 0xa6, + 0x18, 0x3f, 0x85, 0x03, 0x00, 0x00, +} diff --git a/peer/proposal_response.pb.go b/peer/proposal_response.pb.go new file mode 100644 index 0000000..41d9a14 --- /dev/null +++ b/peer/proposal_response.pb.go @@ -0,0 +1,337 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/proposal_response.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// A ProposalResponse is returned from an endorser to the proposal submitter. +// The idea is that this message contains the endorser's response to the +// request of a client to perform an action over a chaincode (or more +// generically on the ledger); the response might be success/error (conveyed in +// the Response field) together with a description of the action and a +// signature over it by that endorser. If a sufficient number of distinct +// endorsers agree on the same action and produce signature to that effect, a +// transaction can be generated and sent for ordering. +type ProposalResponse struct { + // Version indicates message protocol version + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + // Timestamp is the time that the message + // was created as defined by the sender + Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // A response message indicating whether the + // endorsement of the action was successful + Response *Response `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` + // The payload of response. It is the bytes of ProposalResponsePayload + Payload []byte `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` + // The endorsement of the proposal, basically + // the endorser's signature over the payload + Endorsement *Endorsement `protobuf:"bytes,6,opt,name=endorsement,proto3" json:"endorsement,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProposalResponse) Reset() { *m = ProposalResponse{} } +func (m *ProposalResponse) String() string { return proto.CompactTextString(m) } +func (*ProposalResponse) ProtoMessage() {} +func (*ProposalResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{0} +} + +func (m *ProposalResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProposalResponse.Unmarshal(m, b) +} +func (m *ProposalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProposalResponse.Marshal(b, m, deterministic) +} +func (m *ProposalResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProposalResponse.Merge(m, src) +} +func (m *ProposalResponse) XXX_Size() int { + return xxx_messageInfo_ProposalResponse.Size(m) +} +func (m *ProposalResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ProposalResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ProposalResponse proto.InternalMessageInfo + +func (m *ProposalResponse) GetVersion() int32 { + if m != nil { + return m.Version + } + return 0 +} + +func (m *ProposalResponse) GetTimestamp() *timestamp.Timestamp { + if m != nil { + return m.Timestamp + } + return nil +} + +func (m *ProposalResponse) GetResponse() *Response { + if m != nil { + return m.Response + } + return nil +} + +func (m *ProposalResponse) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +func (m *ProposalResponse) GetEndorsement() *Endorsement { + if m != nil { + return m.Endorsement + } + return nil +} + +// A response with a representation similar to an HTTP response that can +// be used within another message. +type Response struct { + // A status code that should follow the HTTP status codes. + Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` + // A message associated with the response code. + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // A payload that can be used to include metadata with this response. + Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Response) Reset() { *m = Response{} } +func (m *Response) String() string { return proto.CompactTextString(m) } +func (*Response) ProtoMessage() {} +func (*Response) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{1} +} + +func (m *Response) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Response.Unmarshal(m, b) +} +func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Response.Marshal(b, m, deterministic) +} +func (m *Response) XXX_Merge(src proto.Message) { + xxx_messageInfo_Response.Merge(m, src) +} +func (m *Response) XXX_Size() int { + return xxx_messageInfo_Response.Size(m) +} +func (m *Response) XXX_DiscardUnknown() { + xxx_messageInfo_Response.DiscardUnknown(m) +} + +var xxx_messageInfo_Response proto.InternalMessageInfo + +func (m *Response) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *Response) GetMessage() string { + if m != nil { + return m.Message + } + return "" +} + +func (m *Response) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +// ProposalResponsePayload is the payload of a proposal response. This message +// is the "bridge" between the client's request and the endorser's action in +// response to that request. Concretely, for chaincodes, it contains a hashed +// representation of the proposal (proposalHash) and a representation of the +// chaincode state changes and events inside the extension field. +type ProposalResponsePayload struct { + // Hash of the proposal that triggered this response. The hash is used to + // link a response with its proposal, both for bookeeping purposes on an + // asynchronous system and for security reasons (accountability, + // non-repudiation). The hash usually covers the entire Proposal message + // (byte-by-byte). However this implies that the hash can only be verified + // if the entire proposal message is available when ProposalResponsePayload is + // included in a transaction or stored in the ledger. For confidentiality + // reasons, with chaincodes it might be undesirable to store the proposal + // payload in the ledger. If the type is CHAINCODE, this is handled by + // separating the proposal's header and + // the payload: the header is always hashed in its entirety whereas the + // payload can either be hashed fully, or only its hash may be hashed, or + // nothing from the payload can be hashed. The PayloadVisibility field in the + // Header's extension controls to which extent the proposal payload is + // "visible" in the sense that was just explained. + ProposalHash []byte `protobuf:"bytes,1,opt,name=proposal_hash,json=proposalHash,proto3" json:"proposal_hash,omitempty"` + // Extension should be unmarshaled to a type-specific message. The type of + // the extension in any proposal response depends on the type of the proposal + // that the client selected when the proposal was initially sent out. In + // particular, this information is stored in the type field of a Header. For + // chaincode, it's a ChaincodeAction message + Extension []byte `protobuf:"bytes,2,opt,name=extension,proto3" json:"extension,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProposalResponsePayload) Reset() { *m = ProposalResponsePayload{} } +func (m *ProposalResponsePayload) String() string { return proto.CompactTextString(m) } +func (*ProposalResponsePayload) ProtoMessage() {} +func (*ProposalResponsePayload) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{2} +} + +func (m *ProposalResponsePayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProposalResponsePayload.Unmarshal(m, b) +} +func (m *ProposalResponsePayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProposalResponsePayload.Marshal(b, m, deterministic) +} +func (m *ProposalResponsePayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProposalResponsePayload.Merge(m, src) +} +func (m *ProposalResponsePayload) XXX_Size() int { + return xxx_messageInfo_ProposalResponsePayload.Size(m) +} +func (m *ProposalResponsePayload) XXX_DiscardUnknown() { + xxx_messageInfo_ProposalResponsePayload.DiscardUnknown(m) +} + +var xxx_messageInfo_ProposalResponsePayload proto.InternalMessageInfo + +func (m *ProposalResponsePayload) GetProposalHash() []byte { + if m != nil { + return m.ProposalHash + } + return nil +} + +func (m *ProposalResponsePayload) GetExtension() []byte { + if m != nil { + return m.Extension + } + return nil +} + +// An endorsement is a signature of an endorser over a proposal response. By +// producing an endorsement message, an endorser implicitly "approves" that +// proposal response and the actions contained therein. When enough +// endorsements have been collected, a transaction can be generated out of a +// set of proposal responses. Note that this message only contains an identity +// and a signature but no signed payload. This is intentional because +// endorsements are supposed to be collected in a transaction, and they are all +// expected to endorse a single proposal response/action (many endorsements +// over a single proposal response) +type Endorsement struct { + // Identity of the endorser (e.g. its certificate) + Endorser []byte `protobuf:"bytes,1,opt,name=endorser,proto3" json:"endorser,omitempty"` + // Signature of the payload included in ProposalResponse concatenated with + // the endorser's certificate; ie, sign(ProposalResponse.payload + endorser) + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Endorsement) Reset() { *m = Endorsement{} } +func (m *Endorsement) String() string { return proto.CompactTextString(m) } +func (*Endorsement) ProtoMessage() {} +func (*Endorsement) Descriptor() ([]byte, []int) { + return fileDescriptor_2ed51030656d961a, []int{3} +} + +func (m *Endorsement) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Endorsement.Unmarshal(m, b) +} +func (m *Endorsement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Endorsement.Marshal(b, m, deterministic) +} +func (m *Endorsement) XXX_Merge(src proto.Message) { + xxx_messageInfo_Endorsement.Merge(m, src) +} +func (m *Endorsement) XXX_Size() int { + return xxx_messageInfo_Endorsement.Size(m) +} +func (m *Endorsement) XXX_DiscardUnknown() { + xxx_messageInfo_Endorsement.DiscardUnknown(m) +} + +var xxx_messageInfo_Endorsement proto.InternalMessageInfo + +func (m *Endorsement) GetEndorser() []byte { + if m != nil { + return m.Endorser + } + return nil +} + +func (m *Endorsement) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +func init() { + proto.RegisterType((*ProposalResponse)(nil), "protos.ProposalResponse") + proto.RegisterType((*Response)(nil), "protos.Response") + proto.RegisterType((*ProposalResponsePayload)(nil), "protos.ProposalResponsePayload") + proto.RegisterType((*Endorsement)(nil), "protos.Endorsement") +} + +func init() { proto.RegisterFile("peer/proposal_response.proto", fileDescriptor_2ed51030656d961a) } + +var fileDescriptor_2ed51030656d961a = []byte{ + // 371 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x41, 0x6b, 0xe3, 0x30, + 0x10, 0x85, 0x71, 0x76, 0x93, 0x4d, 0x94, 0x2c, 0x04, 0x2f, 0xec, 0x9a, 0x10, 0xd8, 0xe0, 0x5e, + 0x72, 0x48, 0x64, 0x68, 0x29, 0xf4, 0x1c, 0x28, 0xed, 0x31, 0x88, 0xd2, 0x43, 0x29, 0x14, 0x39, + 0x99, 0xc8, 0x26, 0xb6, 0x25, 0x34, 0x72, 0x69, 0x7e, 0x70, 0xff, 0x47, 0xb1, 0x6c, 0x39, 0x6e, + 0xe9, 0xc9, 0xbc, 0xf1, 0xd3, 0x37, 0xf3, 0x46, 0x22, 0x73, 0x05, 0xa0, 0x23, 0xa5, 0xa5, 0x92, + 0xc8, 0xb3, 0x17, 0x0d, 0xa8, 0x64, 0x81, 0x40, 0x95, 0x96, 0x46, 0xfa, 0x03, 0xfb, 0xc1, 0xd9, + 0x7f, 0x21, 0xa5, 0xc8, 0x20, 0xb2, 0x32, 0x2e, 0x0f, 0x91, 0x49, 0x73, 0x40, 0xc3, 0x73, 0x55, + 0x1b, 0xc3, 0x77, 0x8f, 0x4c, 0xb7, 0x0d, 0x84, 0x35, 0x0c, 0x3f, 0x20, 0xbf, 0x5e, 0x41, 0x63, + 0x2a, 0x8b, 0xc0, 0x5b, 0x78, 0xcb, 0x3e, 0x73, 0xd2, 0xbf, 0x21, 0xa3, 0x96, 0x10, 0xf4, 0x16, + 0xde, 0x72, 0x7c, 0x39, 0xa3, 0x75, 0x0f, 0xea, 0x7a, 0xd0, 0x07, 0xe7, 0x60, 0x67, 0xb3, 0xbf, + 0x22, 0x43, 0x37, 0x63, 0xf0, 0xd3, 0x1e, 0x9c, 0xd6, 0x27, 0x90, 0xba, 0xbe, 0xac, 0x75, 0x54, + 0x13, 0x28, 0x7e, 0xca, 0x24, 0xdf, 0x07, 0xfd, 0x85, 0xb7, 0x9c, 0x30, 0x27, 0xfd, 0x6b, 0x32, + 0x86, 0x62, 0x2f, 0x35, 0x42, 0x0e, 0x85, 0x09, 0x06, 0x16, 0xf5, 0xc7, 0xa1, 0x6e, 0xcf, 0xbf, + 0x58, 0xd7, 0x17, 0x3e, 0x92, 0x61, 0x1b, 0xef, 0x2f, 0x19, 0xa0, 0xe1, 0xa6, 0xc4, 0x26, 0x5d, + 0xa3, 0xaa, 0xa6, 0x39, 0x20, 0x72, 0x01, 0x36, 0xda, 0x88, 0x39, 0xd9, 0x1d, 0xe7, 0xc7, 0xa7, + 0x71, 0xc2, 0x67, 0xf2, 0xef, 0xeb, 0xfa, 0xb6, 0xcd, 0xa4, 0x17, 0xe4, 0x77, 0x7b, 0x3d, 0x09, + 0xc7, 0xc4, 0x76, 0x9b, 0xb0, 0x89, 0x2b, 0xde, 0x73, 0x4c, 0xfc, 0x39, 0x19, 0xc1, 0x9b, 0x81, + 0xc2, 0x2e, 0xbb, 0x67, 0x0d, 0xe7, 0x42, 0x78, 0x47, 0xc6, 0x9d, 0x44, 0xfe, 0x8c, 0x0c, 0x9b, + 0x4c, 0xba, 0x81, 0xb5, 0xba, 0x02, 0x61, 0x2a, 0x0a, 0x6e, 0x4a, 0x0d, 0x0e, 0xd4, 0x16, 0x36, + 0x47, 0x12, 0x4a, 0x2d, 0x68, 0x72, 0x52, 0xa0, 0x33, 0xd8, 0x0b, 0xd0, 0xf4, 0xc0, 0x63, 0x9d, + 0xee, 0xdc, 0xe2, 0xaa, 0xd7, 0xb4, 0xf9, 0x26, 0xca, 0xee, 0xc8, 0x05, 0x3c, 0xad, 0x44, 0x6a, + 0x92, 0x32, 0xa6, 0x3b, 0x99, 0x47, 0x1d, 0x46, 0x54, 0x33, 0xd6, 0x35, 0x63, 0x2d, 0x64, 0x54, + 0x61, 0xe2, 0xfa, 0xf1, 0x5d, 0x7d, 0x04, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xd6, 0x97, 0x69, 0xa3, + 0x02, 0x00, 0x00, +} diff --git a/peer/query.pb.go b/peer/query.pb.go new file mode 100644 index 0000000..1ad3b27 --- /dev/null +++ b/peer/query.pb.go @@ -0,0 +1,279 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/query.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ChaincodeQueryResponse returns information about each chaincode that pertains +// to a query in lscc.go, such as GetChaincodes (returns all chaincodes +// instantiated on a channel), and GetInstalledChaincodes (returns all chaincodes +// installed on a peer) +type ChaincodeQueryResponse struct { + Chaincodes []*ChaincodeInfo `protobuf:"bytes,1,rep,name=chaincodes,proto3" json:"chaincodes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeQueryResponse) Reset() { *m = ChaincodeQueryResponse{} } +func (m *ChaincodeQueryResponse) String() string { return proto.CompactTextString(m) } +func (*ChaincodeQueryResponse) ProtoMessage() {} +func (*ChaincodeQueryResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{0} +} + +func (m *ChaincodeQueryResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeQueryResponse.Unmarshal(m, b) +} +func (m *ChaincodeQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeQueryResponse.Marshal(b, m, deterministic) +} +func (m *ChaincodeQueryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeQueryResponse.Merge(m, src) +} +func (m *ChaincodeQueryResponse) XXX_Size() int { + return xxx_messageInfo_ChaincodeQueryResponse.Size(m) +} +func (m *ChaincodeQueryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeQueryResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeQueryResponse proto.InternalMessageInfo + +func (m *ChaincodeQueryResponse) GetChaincodes() []*ChaincodeInfo { + if m != nil { + return m.Chaincodes + } + return nil +} + +// ChaincodeInfo contains general information about an installed/instantiated +// chaincode +type ChaincodeInfo struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // the path as specified by the install/instantiate transaction + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + // the chaincode function upon instantiation and its arguments. This will be + // blank if the query is returning information about installed chaincodes. + Input string `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // the name of the ESCC for this chaincode. This will be + // blank if the query is returning information about installed chaincodes. + Escc string `protobuf:"bytes,5,opt,name=escc,proto3" json:"escc,omitempty"` + // the name of the VSCC for this chaincode. This will be + // blank if the query is returning information about installed chaincodes. + Vscc string `protobuf:"bytes,6,opt,name=vscc,proto3" json:"vscc,omitempty"` + // the chaincode unique id. + // computed as: H( + // H(name || version) || + // H(CodePackage) + // ) + Id []byte `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeInfo) Reset() { *m = ChaincodeInfo{} } +func (m *ChaincodeInfo) String() string { return proto.CompactTextString(m) } +func (*ChaincodeInfo) ProtoMessage() {} +func (*ChaincodeInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{1} +} + +func (m *ChaincodeInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeInfo.Unmarshal(m, b) +} +func (m *ChaincodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeInfo.Marshal(b, m, deterministic) +} +func (m *ChaincodeInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeInfo.Merge(m, src) +} +func (m *ChaincodeInfo) XXX_Size() int { + return xxx_messageInfo_ChaincodeInfo.Size(m) +} +func (m *ChaincodeInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeInfo proto.InternalMessageInfo + +func (m *ChaincodeInfo) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeInfo) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *ChaincodeInfo) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *ChaincodeInfo) GetInput() string { + if m != nil { + return m.Input + } + return "" +} + +func (m *ChaincodeInfo) GetEscc() string { + if m != nil { + return m.Escc + } + return "" +} + +func (m *ChaincodeInfo) GetVscc() string { + if m != nil { + return m.Vscc + } + return "" +} + +func (m *ChaincodeInfo) GetId() []byte { + if m != nil { + return m.Id + } + return nil +} + +// ChannelQueryResponse returns information about each channel that pertains +// to a query in lscc.go, such as GetChannels (returns all channels for a +// given peer) +type ChannelQueryResponse struct { + Channels []*ChannelInfo `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelQueryResponse) Reset() { *m = ChannelQueryResponse{} } +func (m *ChannelQueryResponse) String() string { return proto.CompactTextString(m) } +func (*ChannelQueryResponse) ProtoMessage() {} +func (*ChannelQueryResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{2} +} + +func (m *ChannelQueryResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelQueryResponse.Unmarshal(m, b) +} +func (m *ChannelQueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelQueryResponse.Marshal(b, m, deterministic) +} +func (m *ChannelQueryResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelQueryResponse.Merge(m, src) +} +func (m *ChannelQueryResponse) XXX_Size() int { + return xxx_messageInfo_ChannelQueryResponse.Size(m) +} +func (m *ChannelQueryResponse) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelQueryResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelQueryResponse proto.InternalMessageInfo + +func (m *ChannelQueryResponse) GetChannels() []*ChannelInfo { + if m != nil { + return m.Channels + } + return nil +} + +// ChannelInfo contains general information about channels +type ChannelInfo struct { + ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChannelInfo) Reset() { *m = ChannelInfo{} } +func (m *ChannelInfo) String() string { return proto.CompactTextString(m) } +func (*ChannelInfo) ProtoMessage() {} +func (*ChannelInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_d45bcf7fe2423301, []int{3} +} + +func (m *ChannelInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChannelInfo.Unmarshal(m, b) +} +func (m *ChannelInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChannelInfo.Marshal(b, m, deterministic) +} +func (m *ChannelInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChannelInfo.Merge(m, src) +} +func (m *ChannelInfo) XXX_Size() int { + return xxx_messageInfo_ChannelInfo.Size(m) +} +func (m *ChannelInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ChannelInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ChannelInfo proto.InternalMessageInfo + +func (m *ChannelInfo) GetChannelId() string { + if m != nil { + return m.ChannelId + } + return "" +} + +func init() { + proto.RegisterType((*ChaincodeQueryResponse)(nil), "protos.ChaincodeQueryResponse") + proto.RegisterType((*ChaincodeInfo)(nil), "protos.ChaincodeInfo") + proto.RegisterType((*ChannelQueryResponse)(nil), "protos.ChannelQueryResponse") + proto.RegisterType((*ChannelInfo)(nil), "protos.ChannelInfo") +} + +func init() { proto.RegisterFile("peer/query.proto", fileDescriptor_d45bcf7fe2423301) } + +var fileDescriptor_d45bcf7fe2423301 = []byte{ + // 300 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xcd, 0x6a, 0xeb, 0x30, + 0x10, 0x85, 0x71, 0x7e, 0x6f, 0x26, 0xb7, 0xa5, 0xa8, 0x69, 0xd1, 0xa6, 0x10, 0xbc, 0xca, 0x22, + 0xb1, 0xa1, 0xa5, 0x2f, 0xd0, 0x2c, 0x4a, 0x56, 0xa5, 0x5e, 0x76, 0x53, 0x1c, 0x79, 0x62, 0x0b, + 0x12, 0x49, 0x95, 0xec, 0x40, 0x9e, 0xa6, 0xaf, 0x5a, 0x46, 0x8a, 0x83, 0xb3, 0xf2, 0xcc, 0x77, + 0x3e, 0x61, 0x8e, 0x04, 0x77, 0x06, 0xd1, 0xa6, 0x3f, 0x0d, 0xda, 0x53, 0x62, 0xac, 0xae, 0x35, + 0x1b, 0xf9, 0x8f, 0x8b, 0x3f, 0xe0, 0x71, 0x5d, 0xe5, 0x52, 0x09, 0x5d, 0xe0, 0x27, 0xe5, 0x19, + 0x3a, 0xa3, 0x95, 0x43, 0xf6, 0x0a, 0x20, 0xda, 0xc4, 0xf1, 0x68, 0xde, 0x5f, 0x4c, 0x9f, 0x1f, + 0xc2, 0x69, 0x97, 0x5c, 0xce, 0x6c, 0xd4, 0x4e, 0x67, 0x1d, 0x31, 0xfe, 0x8d, 0xe0, 0xe6, 0x2a, + 0x65, 0x0c, 0x06, 0x2a, 0x3f, 0x20, 0x8f, 0xe6, 0xd1, 0x62, 0x92, 0xf9, 0x99, 0x71, 0x18, 0x1f, + 0xd1, 0x3a, 0xa9, 0x15, 0xef, 0x79, 0xdc, 0xae, 0x64, 0x9b, 0xbc, 0xae, 0x78, 0x3f, 0xd8, 0x34, + 0xb3, 0x19, 0x0c, 0xa5, 0x32, 0x4d, 0xcd, 0x07, 0x1e, 0x86, 0x85, 0x4c, 0x74, 0x42, 0xf0, 0x61, + 0x30, 0x69, 0x26, 0x76, 0x24, 0x36, 0x0a, 0x8c, 0x66, 0x76, 0x0b, 0x3d, 0x59, 0xf0, 0xf1, 0x3c, + 0x5a, 0xfc, 0xcf, 0x7a, 0xb2, 0x88, 0xdf, 0x61, 0xb6, 0xae, 0x72, 0xa5, 0x70, 0x7f, 0x5d, 0x38, + 0x85, 0x7f, 0x22, 0xf0, 0xb6, 0xee, 0x7d, 0xa7, 0x2e, 0x71, 0x5f, 0xf6, 0x22, 0xc5, 0x4b, 0x98, + 0x76, 0x02, 0xf6, 0xe4, 0x2f, 0x8c, 0xd6, 0x6f, 0x59, 0x9c, 0xdb, 0x4e, 0xce, 0x64, 0x53, 0xbc, + 0x65, 0x10, 0x6b, 0x5b, 0x26, 0xd5, 0xc9, 0xa0, 0xdd, 0x63, 0x51, 0xa2, 0x4d, 0x76, 0xf9, 0xd6, + 0x4a, 0xd1, 0xfe, 0x84, 0xde, 0xe8, 0x6b, 0x59, 0xca, 0xba, 0x6a, 0xb6, 0x89, 0xd0, 0x87, 0xb4, + 0xa3, 0xa6, 0x41, 0x5d, 0x05, 0x75, 0x55, 0xea, 0x94, 0xec, 0x6d, 0x78, 0xc5, 0x97, 0xbf, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x22, 0x43, 0xb6, 0x12, 0xe0, 0x01, 0x00, 0x00, +} diff --git a/peer/resources.pb.go b/peer/resources.pb.go new file mode 100644 index 0000000..abd54c9 --- /dev/null +++ b/peer/resources.pb.go @@ -0,0 +1,292 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/resources.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// ChaincodeIdentifier identifies a piece of chaincode. For a peer to accept invocations of +// this chaincode, the hash of the installed code must match, as must the version string +// included with the install command. +type ChaincodeIdentifier struct { + Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeIdentifier) Reset() { *m = ChaincodeIdentifier{} } +func (m *ChaincodeIdentifier) String() string { return proto.CompactTextString(m) } +func (*ChaincodeIdentifier) ProtoMessage() {} +func (*ChaincodeIdentifier) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{0} +} + +func (m *ChaincodeIdentifier) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeIdentifier.Unmarshal(m, b) +} +func (m *ChaincodeIdentifier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeIdentifier.Marshal(b, m, deterministic) +} +func (m *ChaincodeIdentifier) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeIdentifier.Merge(m, src) +} +func (m *ChaincodeIdentifier) XXX_Size() int { + return xxx_messageInfo_ChaincodeIdentifier.Size(m) +} +func (m *ChaincodeIdentifier) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeIdentifier.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeIdentifier proto.InternalMessageInfo + +func (m *ChaincodeIdentifier) GetHash() []byte { + if m != nil { + return m.Hash + } + return nil +} + +func (m *ChaincodeIdentifier) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +// ChaincodeValidation instructs the peer how transactions for this chaincode should be +// validated. The only validation mechanism which ships with fabric today is the standard +// 'vscc' validation mechanism. This built in validation method utilizes an endorsement policy +// which checks that a sufficient number of signatures have been included. The 'arguement' +// field encodes any parameters required by the validation implementation. +type ChaincodeValidation struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Argument []byte `protobuf:"bytes,2,opt,name=argument,proto3" json:"argument,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeValidation) Reset() { *m = ChaincodeValidation{} } +func (m *ChaincodeValidation) String() string { return proto.CompactTextString(m) } +func (*ChaincodeValidation) ProtoMessage() {} +func (*ChaincodeValidation) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{1} +} + +func (m *ChaincodeValidation) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeValidation.Unmarshal(m, b) +} +func (m *ChaincodeValidation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeValidation.Marshal(b, m, deterministic) +} +func (m *ChaincodeValidation) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeValidation.Merge(m, src) +} +func (m *ChaincodeValidation) XXX_Size() int { + return xxx_messageInfo_ChaincodeValidation.Size(m) +} +func (m *ChaincodeValidation) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeValidation.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeValidation proto.InternalMessageInfo + +func (m *ChaincodeValidation) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ChaincodeValidation) GetArgument() []byte { + if m != nil { + return m.Argument + } + return nil +} + +// VSCCArgs is passed (marshaled) as a parameter to the VSCC imlementation via the +// argument field of the ChaincodeValidation message. +type VSCCArgs struct { + EndorsementPolicyRef string `protobuf:"bytes,1,opt,name=endorsement_policy_ref,json=endorsementPolicyRef,proto3" json:"endorsement_policy_ref,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *VSCCArgs) Reset() { *m = VSCCArgs{} } +func (m *VSCCArgs) String() string { return proto.CompactTextString(m) } +func (*VSCCArgs) ProtoMessage() {} +func (*VSCCArgs) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{2} +} + +func (m *VSCCArgs) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_VSCCArgs.Unmarshal(m, b) +} +func (m *VSCCArgs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_VSCCArgs.Marshal(b, m, deterministic) +} +func (m *VSCCArgs) XXX_Merge(src proto.Message) { + xxx_messageInfo_VSCCArgs.Merge(m, src) +} +func (m *VSCCArgs) XXX_Size() int { + return xxx_messageInfo_VSCCArgs.Size(m) +} +func (m *VSCCArgs) XXX_DiscardUnknown() { + xxx_messageInfo_VSCCArgs.DiscardUnknown(m) +} + +var xxx_messageInfo_VSCCArgs proto.InternalMessageInfo + +func (m *VSCCArgs) GetEndorsementPolicyRef() string { + if m != nil { + return m.EndorsementPolicyRef + } + return "" +} + +// ChaincodeEndorsement instructs the peer how transactions should be endorsed. The only +// endorsement mechanism which ships with the fabric today is the standard 'escc' mechanism. +// This code simply simulates the proposal to generate a RW set, then signs the result +// using the peer's local signing identity. +type ChaincodeEndorsement struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeEndorsement) Reset() { *m = ChaincodeEndorsement{} } +func (m *ChaincodeEndorsement) String() string { return proto.CompactTextString(m) } +func (*ChaincodeEndorsement) ProtoMessage() {} +func (*ChaincodeEndorsement) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{3} +} + +func (m *ChaincodeEndorsement) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeEndorsement.Unmarshal(m, b) +} +func (m *ChaincodeEndorsement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeEndorsement.Marshal(b, m, deterministic) +} +func (m *ChaincodeEndorsement) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeEndorsement.Merge(m, src) +} +func (m *ChaincodeEndorsement) XXX_Size() int { + return xxx_messageInfo_ChaincodeEndorsement.Size(m) +} +func (m *ChaincodeEndorsement) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeEndorsement.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeEndorsement proto.InternalMessageInfo + +func (m *ChaincodeEndorsement) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +// ConfigTree encapsulates channel and resources configuration of a channel. +// Both configurations are represented as common.Config +type ConfigTree struct { + ChannelConfig *common.Config `protobuf:"bytes,1,opt,name=channel_config,json=channelConfig,proto3" json:"channel_config,omitempty"` + ResourcesConfig *common.Config `protobuf:"bytes,2,opt,name=resources_config,json=resourcesConfig,proto3" json:"resources_config,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigTree) Reset() { *m = ConfigTree{} } +func (m *ConfigTree) String() string { return proto.CompactTextString(m) } +func (*ConfigTree) ProtoMessage() {} +func (*ConfigTree) Descriptor() ([]byte, []int) { + return fileDescriptor_4991d8496920b696, []int{4} +} + +func (m *ConfigTree) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigTree.Unmarshal(m, b) +} +func (m *ConfigTree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigTree.Marshal(b, m, deterministic) +} +func (m *ConfigTree) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigTree.Merge(m, src) +} +func (m *ConfigTree) XXX_Size() int { + return xxx_messageInfo_ConfigTree.Size(m) +} +func (m *ConfigTree) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigTree.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigTree proto.InternalMessageInfo + +func (m *ConfigTree) GetChannelConfig() *common.Config { + if m != nil { + return m.ChannelConfig + } + return nil +} + +func (m *ConfigTree) GetResourcesConfig() *common.Config { + if m != nil { + return m.ResourcesConfig + } + return nil +} + +func init() { + proto.RegisterType((*ChaincodeIdentifier)(nil), "protos.ChaincodeIdentifier") + proto.RegisterType((*ChaincodeValidation)(nil), "protos.ChaincodeValidation") + proto.RegisterType((*VSCCArgs)(nil), "protos.VSCCArgs") + proto.RegisterType((*ChaincodeEndorsement)(nil), "protos.ChaincodeEndorsement") + proto.RegisterType((*ConfigTree)(nil), "protos.ConfigTree") +} + +func init() { proto.RegisterFile("peer/resources.proto", fileDescriptor_4991d8496920b696) } + +var fileDescriptor_4991d8496920b696 = []byte{ + // 327 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x91, 0x3f, 0x4f, 0xc3, 0x30, + 0x10, 0xc5, 0xd5, 0x0a, 0x41, 0x6b, 0x4a, 0x41, 0xa6, 0xa0, 0xaa, 0x53, 0x95, 0xa9, 0x42, 0x34, + 0x91, 0xf8, 0x33, 0xb0, 0x01, 0x51, 0x07, 0x36, 0x64, 0x50, 0x07, 0x96, 0xca, 0x75, 0x2e, 0x8e, + 0xa5, 0xc4, 0x8e, 0xce, 0x29, 0xa2, 0x0b, 0x9f, 0x1d, 0xc5, 0x6e, 0x43, 0x86, 0x4e, 0xbe, 0xf3, + 0xfb, 0xdd, 0xd3, 0xe9, 0x1d, 0x19, 0x95, 0x00, 0x18, 0x21, 0x58, 0xb3, 0x41, 0x01, 0x36, 0x2c, + 0xd1, 0x54, 0x86, 0x1e, 0xbb, 0xc7, 0x4e, 0xae, 0x84, 0x29, 0x0a, 0xa3, 0x23, 0x61, 0x74, 0xaa, + 0x64, 0xf5, 0xe3, 0xe5, 0x20, 0x26, 0x97, 0x71, 0xc6, 0x95, 0x16, 0x26, 0x81, 0xb7, 0x04, 0x74, + 0xa5, 0x52, 0x05, 0x48, 0x29, 0x39, 0xca, 0xb8, 0xcd, 0xc6, 0x9d, 0x69, 0x67, 0x36, 0x60, 0xae, + 0xa6, 0x63, 0x72, 0xf2, 0x0d, 0x68, 0x95, 0xd1, 0xe3, 0xee, 0xb4, 0x33, 0xeb, 0xb3, 0x7d, 0x1b, + 0x2c, 0x5a, 0x26, 0x4b, 0x9e, 0xab, 0x84, 0x57, 0xca, 0xe8, 0xda, 0x44, 0xf3, 0x02, 0x9c, 0x49, + 0x9f, 0xb9, 0x9a, 0x4e, 0x48, 0x8f, 0xa3, 0xdc, 0x14, 0xa0, 0x2b, 0xe7, 0x32, 0x60, 0x4d, 0x1f, + 0x3c, 0x93, 0xde, 0xf2, 0x23, 0x8e, 0x5f, 0x50, 0x5a, 0xfa, 0x40, 0xae, 0x41, 0x27, 0x06, 0x2d, + 0xd4, 0xd2, 0xaa, 0x34, 0xb9, 0x12, 0xdb, 0x15, 0x42, 0xba, 0x73, 0x1b, 0xb5, 0xd4, 0x77, 0x27, + 0x32, 0x48, 0x83, 0x1b, 0x32, 0x6a, 0x16, 0x59, 0xfc, 0x03, 0x87, 0x36, 0x09, 0x7e, 0x09, 0x89, + 0x5d, 0x16, 0x9f, 0x08, 0x40, 0x1f, 0xc9, 0x50, 0x64, 0x5c, 0x6b, 0xc8, 0x57, 0x3e, 0x21, 0xc7, + 0x9e, 0xde, 0x0d, 0x43, 0x9f, 0x5b, 0xe8, 0x59, 0x76, 0xb6, 0xa3, 0x7c, 0x4b, 0x9f, 0xc8, 0x45, + 0x13, 0xf8, 0x7e, 0xb0, 0x7b, 0x70, 0xf0, 0xbc, 0xe1, 0xfc, 0xc7, 0x2b, 0x23, 0x81, 0x41, 0x19, + 0x66, 0xdb, 0x12, 0x30, 0x87, 0x44, 0x02, 0x86, 0x29, 0x5f, 0xa3, 0x12, 0xfe, 0x32, 0x36, 0xac, + 0xcf, 0xf9, 0x75, 0x2b, 0x55, 0x95, 0x6d, 0xd6, 0xb5, 0x59, 0xd4, 0x42, 0x23, 0x8f, 0xce, 0x3d, + 0x3a, 0x97, 0x26, 0xaa, 0xe9, 0xb5, 0x3f, 0xf6, 0xfd, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xae, + 0x32, 0x27, 0x0c, 0x0b, 0x02, 0x00, 0x00, +} diff --git a/peer/signed_cc_dep_spec.pb.go b/peer/signed_cc_dep_spec.pb.go new file mode 100644 index 0000000..460d8ba --- /dev/null +++ b/peer/signed_cc_dep_spec.pb.go @@ -0,0 +1,112 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/signed_cc_dep_spec.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// SignedChaincodeDeploymentSpec carries the CDS along with endorsements +type SignedChaincodeDeploymentSpec struct { + // This is the bytes of the ChaincodeDeploymentSpec + ChaincodeDeploymentSpec []byte `protobuf:"bytes,1,opt,name=chaincode_deployment_spec,json=chaincodeDeploymentSpec,proto3" json:"chaincode_deployment_spec,omitempty"` + // This is the instantiation policy which is identical in structure + // to endorsement policy. This policy is checked by the VSCC at commit + // time on the instantiation (all peers will get the same policy as it + // will be part of the LSCC instantation record and will be part of the + // hash as well) + InstantiationPolicy []byte `protobuf:"bytes,2,opt,name=instantiation_policy,json=instantiationPolicy,proto3" json:"instantiation_policy,omitempty"` + // The endorsements of the above deployment spec, the owner's signature over + // chaincode_deployment_spec and Endorsement.endorser. + OwnerEndorsements []*Endorsement `protobuf:"bytes,3,rep,name=owner_endorsements,json=ownerEndorsements,proto3" json:"owner_endorsements,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignedChaincodeDeploymentSpec) Reset() { *m = SignedChaincodeDeploymentSpec{} } +func (m *SignedChaincodeDeploymentSpec) String() string { return proto.CompactTextString(m) } +func (*SignedChaincodeDeploymentSpec) ProtoMessage() {} +func (*SignedChaincodeDeploymentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_e007a7c0644e7e6f, []int{0} +} + +func (m *SignedChaincodeDeploymentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignedChaincodeDeploymentSpec.Unmarshal(m, b) +} +func (m *SignedChaincodeDeploymentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignedChaincodeDeploymentSpec.Marshal(b, m, deterministic) +} +func (m *SignedChaincodeDeploymentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedChaincodeDeploymentSpec.Merge(m, src) +} +func (m *SignedChaincodeDeploymentSpec) XXX_Size() int { + return xxx_messageInfo_SignedChaincodeDeploymentSpec.Size(m) +} +func (m *SignedChaincodeDeploymentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_SignedChaincodeDeploymentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedChaincodeDeploymentSpec proto.InternalMessageInfo + +func (m *SignedChaincodeDeploymentSpec) GetChaincodeDeploymentSpec() []byte { + if m != nil { + return m.ChaincodeDeploymentSpec + } + return nil +} + +func (m *SignedChaincodeDeploymentSpec) GetInstantiationPolicy() []byte { + if m != nil { + return m.InstantiationPolicy + } + return nil +} + +func (m *SignedChaincodeDeploymentSpec) GetOwnerEndorsements() []*Endorsement { + if m != nil { + return m.OwnerEndorsements + } + return nil +} + +func init() { + proto.RegisterType((*SignedChaincodeDeploymentSpec)(nil), "protos.SignedChaincodeDeploymentSpec") +} + +func init() { proto.RegisterFile("peer/signed_cc_dep_spec.proto", fileDescriptor_e007a7c0644e7e6f) } + +var fileDescriptor_e007a7c0644e7e6f = []byte{ + // 258 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x41, 0x4b, 0xf3, 0x40, + 0x10, 0x86, 0xc9, 0x57, 0xf8, 0x0e, 0xab, 0x17, 0x53, 0xc1, 0x28, 0x16, 0x4a, 0x4f, 0x3d, 0xd8, + 0x04, 0xf5, 0xe6, 0xb1, 0xea, 0x5d, 0xd2, 0x9b, 0x97, 0x25, 0x99, 0x8c, 0xc9, 0x42, 0xba, 0x33, + 0xcc, 0xac, 0x48, 0xfe, 0xa6, 0xbf, 0x48, 0xb2, 0xb1, 0x58, 0x0f, 0x9e, 0x16, 0xf6, 0x79, 0xde, + 0x99, 0xe1, 0x35, 0x0b, 0x46, 0x94, 0x42, 0x5d, 0xeb, 0xb1, 0xb1, 0x00, 0xb6, 0x41, 0xb6, 0xca, + 0x08, 0x39, 0x0b, 0x05, 0x4a, 0xff, 0xc7, 0x47, 0xaf, 0xae, 0xa3, 0xc6, 0x42, 0x4c, 0x5a, 0xf5, + 0x56, 0x50, 0x99, 0xbc, 0xe2, 0x64, 0xad, 0x3e, 0x13, 0xb3, 0xd8, 0xc5, 0x11, 0x8f, 0x5d, 0xe5, + 0x3c, 0x50, 0x83, 0x4f, 0xc8, 0x3d, 0x0d, 0x7b, 0xf4, 0x61, 0xc7, 0x08, 0xe9, 0x83, 0xb9, 0x84, + 0x03, 0x1a, 0x77, 0x7c, 0xb3, 0xb8, 0x2a, 0x4b, 0x96, 0xc9, 0xfa, 0xb4, 0xbc, 0x80, 0x3f, 0xb2, + 0xb7, 0xe6, 0xdc, 0x79, 0x0d, 0x95, 0x0f, 0xae, 0x0a, 0x8e, 0xbc, 0x65, 0xea, 0x1d, 0x0c, 0xd9, + 0xbf, 0x18, 0x9b, 0xff, 0x62, 0x2f, 0x11, 0xa5, 0x5b, 0x93, 0xd2, 0x87, 0x47, 0xb1, 0xe8, 0x1b, + 0x12, 0xc5, 0x71, 0x96, 0x66, 0xb3, 0xe5, 0x6c, 0x7d, 0x72, 0x37, 0x9f, 0x8e, 0xd6, 0xfc, 0xf9, + 0x87, 0x95, 0x67, 0x51, 0x3f, 0xfa, 0xd1, 0x6d, 0x69, 0x56, 0x24, 0x6d, 0xde, 0x0d, 0x8c, 0xd2, + 0x63, 0xd3, 0xa2, 0xe4, 0x6f, 0x55, 0x2d, 0x0e, 0x0e, 0xf9, 0xb1, 0x92, 0xd7, 0x9b, 0xd6, 0x85, + 0xee, 0xbd, 0xce, 0x81, 0xf6, 0xc5, 0x91, 0x5a, 0x4c, 0xea, 0x66, 0x52, 0x37, 0x2d, 0x15, 0xa3, + 0x5d, 0x4f, 0x75, 0xde, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0xa0, 0xc6, 0x22, 0xdb, 0x76, 0x01, + 0x00, 0x00, +} diff --git a/peer/transaction.pb.go b/peer/transaction.pb.go new file mode 100644 index 0000000..d0ee843 --- /dev/null +++ b/peer/transaction.pb.go @@ -0,0 +1,552 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: peer/transaction.proto + +package peer + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type TxValidationCode int32 + +const ( + TxValidationCode_VALID TxValidationCode = 0 + TxValidationCode_NIL_ENVELOPE TxValidationCode = 1 + TxValidationCode_BAD_PAYLOAD TxValidationCode = 2 + TxValidationCode_BAD_COMMON_HEADER TxValidationCode = 3 + TxValidationCode_BAD_CREATOR_SIGNATURE TxValidationCode = 4 + TxValidationCode_INVALID_ENDORSER_TRANSACTION TxValidationCode = 5 + TxValidationCode_INVALID_CONFIG_TRANSACTION TxValidationCode = 6 + TxValidationCode_UNSUPPORTED_TX_PAYLOAD TxValidationCode = 7 + TxValidationCode_BAD_PROPOSAL_TXID TxValidationCode = 8 + TxValidationCode_DUPLICATE_TXID TxValidationCode = 9 + TxValidationCode_ENDORSEMENT_POLICY_FAILURE TxValidationCode = 10 + TxValidationCode_MVCC_READ_CONFLICT TxValidationCode = 11 + TxValidationCode_PHANTOM_READ_CONFLICT TxValidationCode = 12 + TxValidationCode_UNKNOWN_TX_TYPE TxValidationCode = 13 + TxValidationCode_TARGET_CHAIN_NOT_FOUND TxValidationCode = 14 + TxValidationCode_MARSHAL_TX_ERROR TxValidationCode = 15 + TxValidationCode_NIL_TXACTION TxValidationCode = 16 + TxValidationCode_EXPIRED_CHAINCODE TxValidationCode = 17 + TxValidationCode_CHAINCODE_VERSION_CONFLICT TxValidationCode = 18 + TxValidationCode_BAD_HEADER_EXTENSION TxValidationCode = 19 + TxValidationCode_BAD_CHANNEL_HEADER TxValidationCode = 20 + TxValidationCode_BAD_RESPONSE_PAYLOAD TxValidationCode = 21 + TxValidationCode_BAD_RWSET TxValidationCode = 22 + TxValidationCode_ILLEGAL_WRITESET TxValidationCode = 23 + TxValidationCode_INVALID_WRITESET TxValidationCode = 24 + TxValidationCode_INVALID_CHAINCODE TxValidationCode = 25 + TxValidationCode_NOT_VALIDATED TxValidationCode = 254 + TxValidationCode_INVALID_OTHER_REASON TxValidationCode = 255 +) + +var TxValidationCode_name = map[int32]string{ + 0: "VALID", + 1: "NIL_ENVELOPE", + 2: "BAD_PAYLOAD", + 3: "BAD_COMMON_HEADER", + 4: "BAD_CREATOR_SIGNATURE", + 5: "INVALID_ENDORSER_TRANSACTION", + 6: "INVALID_CONFIG_TRANSACTION", + 7: "UNSUPPORTED_TX_PAYLOAD", + 8: "BAD_PROPOSAL_TXID", + 9: "DUPLICATE_TXID", + 10: "ENDORSEMENT_POLICY_FAILURE", + 11: "MVCC_READ_CONFLICT", + 12: "PHANTOM_READ_CONFLICT", + 13: "UNKNOWN_TX_TYPE", + 14: "TARGET_CHAIN_NOT_FOUND", + 15: "MARSHAL_TX_ERROR", + 16: "NIL_TXACTION", + 17: "EXPIRED_CHAINCODE", + 18: "CHAINCODE_VERSION_CONFLICT", + 19: "BAD_HEADER_EXTENSION", + 20: "BAD_CHANNEL_HEADER", + 21: "BAD_RESPONSE_PAYLOAD", + 22: "BAD_RWSET", + 23: "ILLEGAL_WRITESET", + 24: "INVALID_WRITESET", + 25: "INVALID_CHAINCODE", + 254: "NOT_VALIDATED", + 255: "INVALID_OTHER_REASON", +} + +var TxValidationCode_value = map[string]int32{ + "VALID": 0, + "NIL_ENVELOPE": 1, + "BAD_PAYLOAD": 2, + "BAD_COMMON_HEADER": 3, + "BAD_CREATOR_SIGNATURE": 4, + "INVALID_ENDORSER_TRANSACTION": 5, + "INVALID_CONFIG_TRANSACTION": 6, + "UNSUPPORTED_TX_PAYLOAD": 7, + "BAD_PROPOSAL_TXID": 8, + "DUPLICATE_TXID": 9, + "ENDORSEMENT_POLICY_FAILURE": 10, + "MVCC_READ_CONFLICT": 11, + "PHANTOM_READ_CONFLICT": 12, + "UNKNOWN_TX_TYPE": 13, + "TARGET_CHAIN_NOT_FOUND": 14, + "MARSHAL_TX_ERROR": 15, + "NIL_TXACTION": 16, + "EXPIRED_CHAINCODE": 17, + "CHAINCODE_VERSION_CONFLICT": 18, + "BAD_HEADER_EXTENSION": 19, + "BAD_CHANNEL_HEADER": 20, + "BAD_RESPONSE_PAYLOAD": 21, + "BAD_RWSET": 22, + "ILLEGAL_WRITESET": 23, + "INVALID_WRITESET": 24, + "INVALID_CHAINCODE": 25, + "NOT_VALIDATED": 254, + "INVALID_OTHER_REASON": 255, +} + +func (x TxValidationCode) String() string { + return proto.EnumName(TxValidationCode_name, int32(x)) +} + +func (TxValidationCode) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{0} +} + +// Reserved entries in the key-level metadata map +type MetaDataKeys int32 + +const ( + MetaDataKeys_VALIDATION_PARAMETER MetaDataKeys = 0 + MetaDataKeys_VALIDATION_PARAMETER_V2 MetaDataKeys = 1 +) + +var MetaDataKeys_name = map[int32]string{ + 0: "VALIDATION_PARAMETER", + 1: "VALIDATION_PARAMETER_V2", +} + +var MetaDataKeys_value = map[string]int32{ + "VALIDATION_PARAMETER": 0, + "VALIDATION_PARAMETER_V2": 1, +} + +func (x MetaDataKeys) String() string { + return proto.EnumName(MetaDataKeys_name, int32(x)) +} + +func (MetaDataKeys) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{1} +} + +// This message is necessary to facilitate the verification of the signature +// (in the signature field) over the bytes of the transaction (in the +// transactionBytes field). +type SignedTransaction struct { + // The bytes of the Transaction. NDD + TransactionBytes []byte `protobuf:"bytes,1,opt,name=transaction_bytes,json=transactionBytes,proto3" json:"transaction_bytes,omitempty"` + // Signature of the transactionBytes The public key of the signature is in + // the header field of TransactionAction There might be multiple + // TransactionAction, so multiple headers, but there should be same + // transactor identity (cert) in all headers + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SignedTransaction) Reset() { *m = SignedTransaction{} } +func (m *SignedTransaction) String() string { return proto.CompactTextString(m) } +func (*SignedTransaction) ProtoMessage() {} +func (*SignedTransaction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{0} +} + +func (m *SignedTransaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SignedTransaction.Unmarshal(m, b) +} +func (m *SignedTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SignedTransaction.Marshal(b, m, deterministic) +} +func (m *SignedTransaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedTransaction.Merge(m, src) +} +func (m *SignedTransaction) XXX_Size() int { + return xxx_messageInfo_SignedTransaction.Size(m) +} +func (m *SignedTransaction) XXX_DiscardUnknown() { + xxx_messageInfo_SignedTransaction.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedTransaction proto.InternalMessageInfo + +func (m *SignedTransaction) GetTransactionBytes() []byte { + if m != nil { + return m.TransactionBytes + } + return nil +} + +func (m *SignedTransaction) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + +// ProcessedTransaction wraps an Envelope that includes a transaction along with an indication +// of whether the transaction was validated or invalidated by committing peer. +// The use case is that GetTransactionByID API needs to retrieve the transaction Envelope +// from block storage, and return it to a client, and indicate whether the transaction +// was validated or invalidated by committing peer. So that the originally submitted +// transaction Envelope is not modified, the ProcessedTransaction wrapper is returned. +type ProcessedTransaction struct { + // An Envelope which includes a processed transaction + TransactionEnvelope *common.Envelope `protobuf:"bytes,1,opt,name=transactionEnvelope,proto3" json:"transactionEnvelope,omitempty"` + // An indication of whether the transaction was validated or invalidated by committing peer + ValidationCode int32 `protobuf:"varint,2,opt,name=validationCode,proto3" json:"validationCode,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProcessedTransaction) Reset() { *m = ProcessedTransaction{} } +func (m *ProcessedTransaction) String() string { return proto.CompactTextString(m) } +func (*ProcessedTransaction) ProtoMessage() {} +func (*ProcessedTransaction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{1} +} + +func (m *ProcessedTransaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProcessedTransaction.Unmarshal(m, b) +} +func (m *ProcessedTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProcessedTransaction.Marshal(b, m, deterministic) +} +func (m *ProcessedTransaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProcessedTransaction.Merge(m, src) +} +func (m *ProcessedTransaction) XXX_Size() int { + return xxx_messageInfo_ProcessedTransaction.Size(m) +} +func (m *ProcessedTransaction) XXX_DiscardUnknown() { + xxx_messageInfo_ProcessedTransaction.DiscardUnknown(m) +} + +var xxx_messageInfo_ProcessedTransaction proto.InternalMessageInfo + +func (m *ProcessedTransaction) GetTransactionEnvelope() *common.Envelope { + if m != nil { + return m.TransactionEnvelope + } + return nil +} + +func (m *ProcessedTransaction) GetValidationCode() int32 { + if m != nil { + return m.ValidationCode + } + return 0 +} + +// The transaction to be sent to the ordering service. A transaction contains +// one or more TransactionAction. Each TransactionAction binds a proposal to +// potentially multiple actions. The transaction is atomic meaning that either +// all actions in the transaction will be committed or none will. Note that +// while a Transaction might include more than one Header, the Header.creator +// field must be the same in each. +// A single client is free to issue a number of independent Proposal, each with +// their header (Header) and request payload (ChaincodeProposalPayload). Each +// proposal is independently endorsed generating an action +// (ProposalResponsePayload) with one signature per Endorser. Any number of +// independent proposals (and their action) might be included in a transaction +// to ensure that they are treated atomically. +type Transaction struct { + // The payload is an array of TransactionAction. An array is necessary to + // accommodate multiple actions per transaction + Actions []*TransactionAction `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Transaction) Reset() { *m = Transaction{} } +func (m *Transaction) String() string { return proto.CompactTextString(m) } +func (*Transaction) ProtoMessage() {} +func (*Transaction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{2} +} + +func (m *Transaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Transaction.Unmarshal(m, b) +} +func (m *Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Transaction.Marshal(b, m, deterministic) +} +func (m *Transaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_Transaction.Merge(m, src) +} +func (m *Transaction) XXX_Size() int { + return xxx_messageInfo_Transaction.Size(m) +} +func (m *Transaction) XXX_DiscardUnknown() { + xxx_messageInfo_Transaction.DiscardUnknown(m) +} + +var xxx_messageInfo_Transaction proto.InternalMessageInfo + +func (m *Transaction) GetActions() []*TransactionAction { + if m != nil { + return m.Actions + } + return nil +} + +// TransactionAction binds a proposal to its action. The type field in the +// header dictates the type of action to be applied to the ledger. +type TransactionAction struct { + // The header of the proposal action, which is the proposal header + Header []byte `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // The payload of the action as defined by the type in the header For + // chaincode, it's the bytes of ChaincodeActionPayload + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TransactionAction) Reset() { *m = TransactionAction{} } +func (m *TransactionAction) String() string { return proto.CompactTextString(m) } +func (*TransactionAction) ProtoMessage() {} +func (*TransactionAction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{3} +} + +func (m *TransactionAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TransactionAction.Unmarshal(m, b) +} +func (m *TransactionAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TransactionAction.Marshal(b, m, deterministic) +} +func (m *TransactionAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionAction.Merge(m, src) +} +func (m *TransactionAction) XXX_Size() int { + return xxx_messageInfo_TransactionAction.Size(m) +} +func (m *TransactionAction) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionAction.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionAction proto.InternalMessageInfo + +func (m *TransactionAction) GetHeader() []byte { + if m != nil { + return m.Header + } + return nil +} + +func (m *TransactionAction) GetPayload() []byte { + if m != nil { + return m.Payload + } + return nil +} + +// ChaincodeActionPayload is the message to be used for the TransactionAction's +// payload when the Header's type is set to CHAINCODE. It carries the +// chaincodeProposalPayload and an endorsed action to apply to the ledger. +type ChaincodeActionPayload struct { + // This field contains the bytes of the ChaincodeProposalPayload message from + // the original invocation (essentially the arguments) after the application + // of the visibility function. The main visibility modes are "full" (the + // entire ChaincodeProposalPayload message is included here), "hash" (only + // the hash of the ChaincodeProposalPayload message is included) or + // "nothing". This field will be used to check the consistency of + // ProposalResponsePayload.proposalHash. For the CHAINCODE type, + // ProposalResponsePayload.proposalHash is supposed to be H(ProposalHeader || + // f(ChaincodeProposalPayload)) where f is the visibility function. + ChaincodeProposalPayload []byte `protobuf:"bytes,1,opt,name=chaincode_proposal_payload,json=chaincodeProposalPayload,proto3" json:"chaincode_proposal_payload,omitempty"` + // The list of actions to apply to the ledger + Action *ChaincodeEndorsedAction `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeActionPayload) Reset() { *m = ChaincodeActionPayload{} } +func (m *ChaincodeActionPayload) String() string { return proto.CompactTextString(m) } +func (*ChaincodeActionPayload) ProtoMessage() {} +func (*ChaincodeActionPayload) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{4} +} + +func (m *ChaincodeActionPayload) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeActionPayload.Unmarshal(m, b) +} +func (m *ChaincodeActionPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeActionPayload.Marshal(b, m, deterministic) +} +func (m *ChaincodeActionPayload) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeActionPayload.Merge(m, src) +} +func (m *ChaincodeActionPayload) XXX_Size() int { + return xxx_messageInfo_ChaincodeActionPayload.Size(m) +} +func (m *ChaincodeActionPayload) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeActionPayload.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeActionPayload proto.InternalMessageInfo + +func (m *ChaincodeActionPayload) GetChaincodeProposalPayload() []byte { + if m != nil { + return m.ChaincodeProposalPayload + } + return nil +} + +func (m *ChaincodeActionPayload) GetAction() *ChaincodeEndorsedAction { + if m != nil { + return m.Action + } + return nil +} + +// ChaincodeEndorsedAction carries information about the endorsement of a +// specific proposal +type ChaincodeEndorsedAction struct { + // This is the bytes of the ProposalResponsePayload message signed by the + // endorsers. Recall that for the CHAINCODE type, the + // ProposalResponsePayload's extenstion field carries a ChaincodeAction + ProposalResponsePayload []byte `protobuf:"bytes,1,opt,name=proposal_response_payload,json=proposalResponsePayload,proto3" json:"proposal_response_payload,omitempty"` + // The endorsement of the proposal, basically the endorser's signature over + // proposalResponsePayload + Endorsements []*Endorsement `protobuf:"bytes,2,rep,name=endorsements,proto3" json:"endorsements,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChaincodeEndorsedAction) Reset() { *m = ChaincodeEndorsedAction{} } +func (m *ChaincodeEndorsedAction) String() string { return proto.CompactTextString(m) } +func (*ChaincodeEndorsedAction) ProtoMessage() {} +func (*ChaincodeEndorsedAction) Descriptor() ([]byte, []int) { + return fileDescriptor_25804bbfb0752368, []int{5} +} + +func (m *ChaincodeEndorsedAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChaincodeEndorsedAction.Unmarshal(m, b) +} +func (m *ChaincodeEndorsedAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChaincodeEndorsedAction.Marshal(b, m, deterministic) +} +func (m *ChaincodeEndorsedAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChaincodeEndorsedAction.Merge(m, src) +} +func (m *ChaincodeEndorsedAction) XXX_Size() int { + return xxx_messageInfo_ChaincodeEndorsedAction.Size(m) +} +func (m *ChaincodeEndorsedAction) XXX_DiscardUnknown() { + xxx_messageInfo_ChaincodeEndorsedAction.DiscardUnknown(m) +} + +var xxx_messageInfo_ChaincodeEndorsedAction proto.InternalMessageInfo + +func (m *ChaincodeEndorsedAction) GetProposalResponsePayload() []byte { + if m != nil { + return m.ProposalResponsePayload + } + return nil +} + +func (m *ChaincodeEndorsedAction) GetEndorsements() []*Endorsement { + if m != nil { + return m.Endorsements + } + return nil +} + +func init() { + proto.RegisterEnum("protos.TxValidationCode", TxValidationCode_name, TxValidationCode_value) + proto.RegisterEnum("protos.MetaDataKeys", MetaDataKeys_name, MetaDataKeys_value) + proto.RegisterType((*SignedTransaction)(nil), "protos.SignedTransaction") + proto.RegisterType((*ProcessedTransaction)(nil), "protos.ProcessedTransaction") + proto.RegisterType((*Transaction)(nil), "protos.Transaction") + proto.RegisterType((*TransactionAction)(nil), "protos.TransactionAction") + proto.RegisterType((*ChaincodeActionPayload)(nil), "protos.ChaincodeActionPayload") + proto.RegisterType((*ChaincodeEndorsedAction)(nil), "protos.ChaincodeEndorsedAction") +} + +func init() { proto.RegisterFile("peer/transaction.proto", fileDescriptor_25804bbfb0752368) } + +var fileDescriptor_25804bbfb0752368 = []byte{ + // 877 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x55, 0x5f, 0x6f, 0xe2, 0xc6, + 0x17, 0x5d, 0xb2, 0xbf, 0x24, 0xbf, 0x5c, 0x48, 0x32, 0x0c, 0x84, 0x00, 0x8d, 0xda, 0x15, 0x0f, + 0xd5, 0x6a, 0xdb, 0x05, 0x29, 0xfb, 0x50, 0xa9, 0xea, 0xcb, 0x60, 0x4f, 0x82, 0xb5, 0x66, 0xc6, + 0x1a, 0x0f, 0x84, 0xf4, 0xa1, 0x23, 0x07, 0x66, 0x09, 0x2a, 0xb1, 0x91, 0xcd, 0xae, 0x9a, 0xd7, + 0x7e, 0x80, 0xf6, 0x83, 0xf4, 0x3b, 0xb6, 0xd5, 0xf8, 0x0f, 0x90, 0xec, 0xf6, 0x05, 0x33, 0xe7, + 0x9c, 0x7b, 0xef, 0xb9, 0xf7, 0xc2, 0x18, 0x1a, 0x2b, 0xad, 0xe3, 0xde, 0x3a, 0x0e, 0xc2, 0x24, + 0x98, 0xae, 0x17, 0x51, 0xd8, 0x5d, 0xc5, 0xd1, 0x3a, 0xc2, 0x07, 0xe9, 0x23, 0x69, 0x5f, 0xa4, + 0xfc, 0x2a, 0x8e, 0x56, 0x51, 0x12, 0x2c, 0x55, 0xac, 0x93, 0x55, 0x14, 0x26, 0x3a, 0x53, 0xb5, + 0x6b, 0xd3, 0xe8, 0xe1, 0x21, 0x0a, 0x7b, 0xd9, 0x23, 0x03, 0x3b, 0xbf, 0x40, 0xd5, 0x5f, 0xcc, + 0x43, 0x3d, 0x93, 0xdb, 0xac, 0xf8, 0x3b, 0xa8, 0xee, 0x14, 0x51, 0x77, 0x8f, 0x6b, 0x9d, 0x34, + 0x4b, 0xaf, 0x4a, 0xaf, 0x2b, 0x02, 0xed, 0x10, 0x7d, 0x83, 0xe3, 0x0b, 0x38, 0x4a, 0x16, 0xf3, + 0x30, 0x58, 0x7f, 0x8c, 0x75, 0x73, 0x2f, 0x15, 0x6d, 0x81, 0xce, 0xef, 0x25, 0xa8, 0x7b, 0x71, + 0x34, 0xd5, 0x49, 0xf2, 0xb4, 0x46, 0x1f, 0x6a, 0x3b, 0xa9, 0x68, 0xf8, 0x49, 0x2f, 0xa3, 0x95, + 0x4e, 0xab, 0x94, 0x2f, 0x51, 0x37, 0x37, 0x59, 0xe0, 0xe2, 0x4b, 0x62, 0xfc, 0x2d, 0x9c, 0x7c, + 0x0a, 0x96, 0x8b, 0x59, 0x60, 0x50, 0x2b, 0x9a, 0x65, 0xf5, 0xf7, 0xc5, 0x33, 0xb4, 0xd3, 0x87, + 0xf2, 0x6e, 0xe9, 0x77, 0x70, 0x98, 0x7d, 0x33, 0x4d, 0xbd, 0x7c, 0x5d, 0xbe, 0x6c, 0x65, 0xc3, + 0x48, 0xba, 0x3b, 0x2a, 0x92, 0x7e, 0x8a, 0x42, 0xd9, 0xa1, 0x50, 0xfd, 0x8c, 0xc5, 0x0d, 0x38, + 0xb8, 0xd7, 0xc1, 0x4c, 0xc7, 0xf9, 0x74, 0xf2, 0x13, 0x6e, 0xc2, 0xe1, 0x2a, 0x78, 0x5c, 0x46, + 0xc1, 0x2c, 0x9f, 0x48, 0x71, 0xec, 0xfc, 0x59, 0x82, 0x86, 0x75, 0x1f, 0x2c, 0xc2, 0x69, 0x34, + 0xd3, 0x59, 0x16, 0x2f, 0xa3, 0xf0, 0x4f, 0xd0, 0x9e, 0x16, 0x8c, 0xda, 0x2c, 0xb1, 0xc8, 0x93, + 0x15, 0x68, 0x6e, 0x14, 0x5e, 0x2e, 0x28, 0xa2, 0x7f, 0x80, 0x83, 0xcc, 0x5a, 0x5a, 0xb1, 0x7c, + 0xf9, 0x4d, 0xd1, 0xd3, 0xa6, 0x1a, 0x0d, 0x67, 0x51, 0x9c, 0xe8, 0x59, 0xde, 0x59, 0x2e, 0xef, + 0xfc, 0x51, 0x82, 0xf3, 0xff, 0xd0, 0xe0, 0x1f, 0xa1, 0xf5, 0xd9, 0xaf, 0xe9, 0x99, 0xa3, 0xf3, + 0x42, 0x20, 0x72, 0x7e, 0x6b, 0xa8, 0xa2, 0xb3, 0x6c, 0x0f, 0x3a, 0x5c, 0x27, 0xcd, 0xbd, 0x74, + 0xd4, 0xb5, 0xc2, 0x16, 0xdd, 0x72, 0xe2, 0x89, 0xf0, 0xcd, 0x5f, 0xfb, 0x80, 0xe4, 0x6f, 0xe3, + 0x27, 0x2b, 0xc4, 0x47, 0xb0, 0x3f, 0x26, 0xae, 0x63, 0xa3, 0x17, 0x18, 0x41, 0x85, 0x39, 0xae, + 0xa2, 0x6c, 0x4c, 0x5d, 0xee, 0x51, 0x54, 0xc2, 0xa7, 0x50, 0xee, 0x13, 0x5b, 0x79, 0xe4, 0xd6, + 0xe5, 0xc4, 0x46, 0x7b, 0xf8, 0x0c, 0xaa, 0x06, 0xb0, 0xf8, 0x70, 0xc8, 0x99, 0x1a, 0x50, 0x62, + 0x53, 0x81, 0x5e, 0xe2, 0x16, 0x9c, 0xa5, 0xb0, 0xa0, 0x44, 0x72, 0xa1, 0x7c, 0xe7, 0x9a, 0x11, + 0x39, 0x12, 0x14, 0xfd, 0x0f, 0xbf, 0x82, 0x0b, 0x87, 0xa5, 0x15, 0x14, 0x65, 0x36, 0x17, 0x3e, + 0x15, 0x4a, 0x0a, 0xc2, 0x7c, 0x62, 0x49, 0x87, 0x33, 0xb4, 0x8f, 0xbf, 0x86, 0x76, 0xa1, 0xb0, + 0x38, 0xbb, 0x72, 0xae, 0x9f, 0xf0, 0x07, 0xb8, 0x0d, 0x8d, 0x11, 0xf3, 0x47, 0x9e, 0xc7, 0x85, + 0xa4, 0xb6, 0x92, 0x93, 0x8d, 0x9f, 0xc3, 0xc2, 0x8f, 0x27, 0xb8, 0xc7, 0x7d, 0xe2, 0x2a, 0x39, + 0x71, 0x6c, 0xf4, 0x7f, 0x8c, 0xe1, 0xc4, 0x1e, 0x79, 0xae, 0x63, 0x11, 0x49, 0x33, 0xec, 0xc8, + 0x94, 0xc9, 0x0d, 0x0c, 0x29, 0x93, 0xca, 0xe3, 0xae, 0x63, 0xdd, 0xaa, 0x2b, 0xe2, 0xb8, 0xc6, + 0x28, 0xe0, 0x06, 0xe0, 0xe1, 0xd8, 0xb2, 0x94, 0xa0, 0x24, 0x33, 0xe2, 0x3a, 0x96, 0x44, 0x65, + 0xd3, 0x9b, 0x37, 0x20, 0x4c, 0xf2, 0xe1, 0x33, 0xaa, 0x82, 0x6b, 0x70, 0x3a, 0x62, 0xef, 0x19, + 0xbf, 0x61, 0xc6, 0x95, 0xbc, 0xf5, 0x28, 0x3a, 0x36, 0x76, 0x25, 0x11, 0xd7, 0x54, 0x2a, 0x6b, + 0x40, 0x1c, 0xa6, 0x18, 0x97, 0xea, 0x8a, 0x8f, 0x98, 0x8d, 0x4e, 0x70, 0x1d, 0xd0, 0x90, 0x08, + 0x7f, 0x90, 0x3a, 0x55, 0x54, 0x08, 0x2e, 0xd0, 0x69, 0x31, 0x77, 0x39, 0xc9, 0x5b, 0x46, 0xa6, + 0x2d, 0x3a, 0xf1, 0x1c, 0x41, 0xed, 0x2c, 0x89, 0xc5, 0x6d, 0x8a, 0xaa, 0xa6, 0x85, 0xcd, 0x51, + 0x8d, 0xa9, 0xf0, 0x1d, 0xce, 0xb6, 0x7e, 0x30, 0x6e, 0x42, 0xdd, 0x4c, 0x23, 0x5b, 0x8b, 0xa2, + 0x13, 0x49, 0x99, 0x91, 0xa0, 0x9a, 0x69, 0x2e, 0x5d, 0xd0, 0x80, 0x30, 0x46, 0xdd, 0x62, 0x71, + 0xf5, 0x22, 0x42, 0x50, 0xdf, 0xe3, 0xcc, 0xa7, 0x9b, 0xc9, 0x9e, 0xe1, 0x63, 0x38, 0x4a, 0x99, + 0x1b, 0x9f, 0x4a, 0xd4, 0x30, 0xce, 0x1d, 0xd7, 0xa5, 0xd7, 0xc4, 0x55, 0x37, 0xc2, 0x91, 0xd4, + 0xa0, 0xe7, 0x29, 0x9a, 0xaf, 0x6e, 0x83, 0x36, 0x8d, 0xfb, 0xcd, 0x42, 0x37, 0xee, 0x5b, 0x18, + 0xc3, 0xb1, 0x99, 0x45, 0x4a, 0x10, 0x49, 0x6d, 0xf4, 0x77, 0x09, 0xb7, 0xa0, 0x5e, 0x48, 0xb9, + 0x1c, 0x50, 0x61, 0x46, 0xec, 0x73, 0x86, 0xfe, 0x29, 0xbd, 0xa1, 0x50, 0x19, 0xea, 0x75, 0x60, + 0x07, 0xeb, 0xe0, 0xbd, 0x7e, 0x4c, 0x8c, 0xd5, 0x3c, 0xd4, 0x74, 0xed, 0x11, 0x41, 0x86, 0x54, + 0x52, 0x81, 0x5e, 0xe0, 0xaf, 0xe0, 0xfc, 0x4b, 0x8c, 0x1a, 0x5f, 0xa2, 0x52, 0xff, 0x03, 0x74, + 0xa2, 0x78, 0xde, 0xbd, 0x7f, 0x5c, 0xe9, 0x78, 0xa9, 0x67, 0x73, 0x1d, 0x77, 0x3f, 0x04, 0x77, + 0xf1, 0x62, 0x5a, 0xfc, 0x5f, 0xcc, 0xd5, 0xde, 0xc7, 0x3b, 0x57, 0x90, 0x17, 0x4c, 0x7f, 0x0d, + 0xe6, 0xfa, 0xe7, 0xef, 0xe7, 0x8b, 0xf5, 0xfd, 0xc7, 0x3b, 0x73, 0x63, 0xf6, 0x76, 0xc2, 0x7b, + 0x59, 0xf8, 0xdb, 0x2c, 0xfc, 0xed, 0x3c, 0xea, 0x99, 0x0c, 0x77, 0xd9, 0xab, 0xe2, 0xdd, 0xbf, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x62, 0x8e, 0xaf, 0x03, 0x4b, 0x06, 0x00, 0x00, +} diff --git a/transientstore/transientstore.pb.go b/transientstore/transientstore.pb.go new file mode 100644 index 0000000..ca51874 --- /dev/null +++ b/transientstore/transientstore.pb.go @@ -0,0 +1,115 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: transientstore/transientstore.proto + +package transientstore + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + common "github.com/hyperledger/fabric-protos-go/common" + rwset "github.com/hyperledger/fabric-protos-go/ledger/rwset" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +// TxPvtReadWriteSetWithConfigInfo encapsulates the transaction's private +// read-write set and additional information about the configurations such as +// the latest collection config when the transaction is simulated +type TxPvtReadWriteSetWithConfigInfo struct { + EndorsedAt uint64 `protobuf:"varint,1,opt,name=endorsed_at,json=endorsedAt,proto3" json:"endorsed_at,omitempty"` + PvtRwset *rwset.TxPvtReadWriteSet `protobuf:"bytes,2,opt,name=pvt_rwset,json=pvtRwset,proto3" json:"pvt_rwset,omitempty"` + CollectionConfigs map[string]*common.CollectionConfigPackage `protobuf:"bytes,3,rep,name=collection_configs,json=collectionConfigs,proto3" json:"collection_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TxPvtReadWriteSetWithConfigInfo) Reset() { *m = TxPvtReadWriteSetWithConfigInfo{} } +func (m *TxPvtReadWriteSetWithConfigInfo) String() string { return proto.CompactTextString(m) } +func (*TxPvtReadWriteSetWithConfigInfo) ProtoMessage() {} +func (*TxPvtReadWriteSetWithConfigInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_fca243668b157b9e, []int{0} +} + +func (m *TxPvtReadWriteSetWithConfigInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TxPvtReadWriteSetWithConfigInfo.Unmarshal(m, b) +} +func (m *TxPvtReadWriteSetWithConfigInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TxPvtReadWriteSetWithConfigInfo.Marshal(b, m, deterministic) +} +func (m *TxPvtReadWriteSetWithConfigInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_TxPvtReadWriteSetWithConfigInfo.Merge(m, src) +} +func (m *TxPvtReadWriteSetWithConfigInfo) XXX_Size() int { + return xxx_messageInfo_TxPvtReadWriteSetWithConfigInfo.Size(m) +} +func (m *TxPvtReadWriteSetWithConfigInfo) XXX_DiscardUnknown() { + xxx_messageInfo_TxPvtReadWriteSetWithConfigInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_TxPvtReadWriteSetWithConfigInfo proto.InternalMessageInfo + +func (m *TxPvtReadWriteSetWithConfigInfo) GetEndorsedAt() uint64 { + if m != nil { + return m.EndorsedAt + } + return 0 +} + +func (m *TxPvtReadWriteSetWithConfigInfo) GetPvtRwset() *rwset.TxPvtReadWriteSet { + if m != nil { + return m.PvtRwset + } + return nil +} + +func (m *TxPvtReadWriteSetWithConfigInfo) GetCollectionConfigs() map[string]*common.CollectionConfigPackage { + if m != nil { + return m.CollectionConfigs + } + return nil +} + +func init() { + proto.RegisterType((*TxPvtReadWriteSetWithConfigInfo)(nil), "transientstore.TxPvtReadWriteSetWithConfigInfo") + proto.RegisterMapType((map[string]*common.CollectionConfigPackage)(nil), "transientstore.TxPvtReadWriteSetWithConfigInfo.CollectionConfigsEntry") +} + +func init() { + proto.RegisterFile("transientstore/transientstore.proto", fileDescriptor_fca243668b157b9e) +} + +var fileDescriptor_fca243668b157b9e = []byte{ + // 323 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0x5f, 0x4b, 0xfb, 0x30, + 0x14, 0xa5, 0xdb, 0xef, 0x27, 0x2e, 0x03, 0xd1, 0x3c, 0x68, 0xd9, 0xcb, 0x86, 0xbe, 0xec, 0xc1, + 0xa5, 0x30, 0x99, 0x88, 0x6f, 0x3a, 0x14, 0x7c, 0x1b, 0x51, 0x18, 0xf8, 0x32, 0xb2, 0xf4, 0xb6, + 0x0b, 0xeb, 0x92, 0x92, 0xdc, 0x55, 0xf7, 0x49, 0xfd, 0x3a, 0xd2, 0xc6, 0x7f, 0xeb, 0x04, 0x5f, + 0x4a, 0x73, 0xee, 0x39, 0xf7, 0xdc, 0x73, 0x13, 0x72, 0x86, 0x56, 0x68, 0xa7, 0x40, 0xa3, 0x43, + 0x63, 0x21, 0xda, 0x3e, 0xb2, 0xdc, 0x1a, 0x34, 0xf4, 0x60, 0x1b, 0xed, 0x84, 0x19, 0xc4, 0x29, + 0xd8, 0xc8, 0xbe, 0x38, 0x40, 0xff, 0xf5, 0xcc, 0xce, 0x89, 0x34, 0xab, 0x95, 0xd1, 0x91, 0x34, + 0x59, 0x06, 0x12, 0x95, 0xd1, 0xbe, 0x70, 0xfa, 0xd6, 0x20, 0xdd, 0xa7, 0xd7, 0x49, 0x81, 0x1c, + 0x44, 0x3c, 0xb5, 0x0a, 0xe1, 0x11, 0x70, 0xaa, 0x70, 0x31, 0x36, 0x3a, 0x51, 0xe9, 0x83, 0x4e, + 0x0c, 0xed, 0x92, 0x36, 0xe8, 0xd8, 0x58, 0x07, 0xf1, 0x4c, 0x60, 0x18, 0xf4, 0x82, 0xfe, 0x3f, + 0x4e, 0x3e, 0xa1, 0x1b, 0xa4, 0x23, 0xd2, 0xca, 0x0b, 0x9c, 0x55, 0x86, 0x61, 0xa3, 0x17, 0xf4, + 0xdb, 0xc3, 0x90, 0x79, 0xfb, 0x9d, 0xde, 0x7c, 0x3f, 0x2f, 0x90, 0x97, 0x35, 0xba, 0x26, 0xf4, + 0x7b, 0x9e, 0x99, 0xac, 0x0c, 0x5d, 0xd8, 0xec, 0x35, 0xfb, 0xed, 0xe1, 0x3d, 0xab, 0x25, 0xfe, + 0x63, 0x48, 0x36, 0xfe, 0xea, 0xe4, 0x41, 0x77, 0xa7, 0xd1, 0x6e, 0xf8, 0x91, 0xac, 0xe3, 0x1d, + 0x20, 0xc7, 0xbf, 0x93, 0xe9, 0x21, 0x69, 0x2e, 0x61, 0x53, 0x05, 0x6c, 0xf1, 0xf2, 0x97, 0x8e, + 0xc8, 0xff, 0x42, 0x64, 0x6b, 0xf8, 0x48, 0xd5, 0x65, 0x7e, 0x8f, 0x3b, 0x6e, 0x13, 0x21, 0x97, + 0x22, 0x05, 0xee, 0xd9, 0xd7, 0x8d, 0xab, 0xe0, 0x36, 0x21, 0xe7, 0xc6, 0xa6, 0x6c, 0xb1, 0xc9, + 0xc1, 0xfa, 0x7b, 0x61, 0x89, 0x98, 0x5b, 0x25, 0xfd, 0xe6, 0x5d, 0x2d, 0xe0, 0xf3, 0x65, 0xaa, + 0x70, 0xb1, 0x9e, 0x97, 0x0e, 0xd1, 0x0f, 0x51, 0xe4, 0x45, 0x03, 0x2f, 0x1a, 0xa4, 0xa6, 0xf6, + 0x14, 0xe6, 0x7b, 0x55, 0xe5, 0xe2, 0x3d, 0x00, 0x00, 0xff, 0xff, 0x25, 0x09, 0x8a, 0xed, 0x32, + 0x02, 0x00, 0x00, +}