github.com/adnan-c/fabric_e2e_couchdb@v0.6.1-preview.0.20170228180935-21ce6b23cf91/bddtests/chaincode_pb2.py (about)

     1  # Generated by the protocol buffer compiler.  DO NOT EDIT!
     2  # source: chaincode.proto
     3  
     4  import sys
     5  _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
     6  from google.protobuf.internal import enum_type_wrapper
     7  from google.protobuf import descriptor as _descriptor
     8  from google.protobuf import message as _message
     9  from google.protobuf import reflection as _reflection
    10  from google.protobuf import symbol_database as _symbol_database
    11  from google.protobuf import descriptor_pb2
    12  # @@protoc_insertion_point(imports)
    13  
    14  _sym_db = _symbol_database.Default()
    15  
    16  
    17  import chaincodeevent_pb2 as chaincodeevent__pb2
    18  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
    19  
    20  
    21  DESCRIPTOR = _descriptor.FileDescriptor(
    22    name='chaincode.proto',
    23    package='protos',
    24    syntax='proto3',
    25    serialized_pb=_b('\n\x0f\x63haincode.proto\x12\x06protos\x1a\x14\x63haincodeevent.proto\x1a\x1fgoogle/protobuf/timestamp.proto\")\n\x0b\x43haincodeID\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x1e\n\x0e\x43haincodeInput\x12\x0c\n\x04\x61rgs\x18\x01 \x03(\x0c\"\xd6\x02\n\rChaincodeSpec\x12(\n\x04type\x18\x01 \x01(\x0e\x32\x1a.protos.ChaincodeSpec.Type\x12(\n\x0b\x63haincodeID\x18\x02 \x01(\x0b\x32\x13.protos.ChaincodeID\x12\'\n\x07\x63torMsg\x18\x03 \x01(\x0b\x32\x16.protos.ChaincodeInput\x12\x0f\n\x07timeout\x18\x04 \x01(\x05\x12\x15\n\rsecureContext\x18\x05 \x01(\t\x12:\n\x14\x63onfidentialityLevel\x18\x06 \x01(\x0e\x32\x1c.protos.ConfidentialityLevel\x12\x10\n\x08metadata\x18\x07 \x01(\x0c\x12\x12\n\nattributes\x18\x08 \x03(\t\">\n\x04Type\x12\r\n\tUNDEFINED\x10\x00\x12\n\n\x06GOLANG\x10\x01\x12\x08\n\x04NODE\x10\x02\x12\x07\n\x03\x43\x41R\x10\x03\x12\x08\n\x04JAVA\x10\x04\"\x86\x02\n\x17\x43haincodeDeploymentSpec\x12,\n\rchaincodeSpec\x18\x01 \x01(\x0b\x32\x15.protos.ChaincodeSpec\x12\x31\n\reffectiveDate\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x63odePackage\x18\x03 \x01(\x0c\x12\x45\n\x07\x65xecEnv\x18\x04 \x01(\x0e\x32\x34.protos.ChaincodeDeploymentSpec.ExecutionEnvironment\".\n\x14\x45xecutionEnvironment\x12\n\n\x06\x44OCKER\x10\x00\x12\n\n\x06SYSTEM\x10\x01\"`\n\x17\x43haincodeInvocationSpec\x12,\n\rchaincodeSpec\x18\x01 \x01(\x0b\x32\x15.protos.ChaincodeSpec\x12\x17\n\x0fidGenerationAlg\x18\x02 \x01(\t\"\xbf\x01\n\x18\x43haincodeSecurityContext\x12\x12\n\ncallerCert\x18\x01 \x01(\x0c\x12\x12\n\ncallerSign\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x0f\n\x07\x62inding\x18\x04 \x01(\x0c\x12\x10\n\x08metadata\x18\x05 \x01(\x0c\x12\x16\n\x0eparentMetadata\x18\x06 \x01(\x0c\x12/\n\x0btxTimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe1\x04\n\x10\x43haincodeMessage\x12+\n\x04type\x18\x01 \x01(\x0e\x32\x1d.protos.ChaincodeMessage.Type\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x0c\n\x04txid\x18\x04 \x01(\t\x12\x39\n\x0fsecurityContext\x18\x05 \x01(\x0b\x32 .protos.ChaincodeSecurityContext\x12.\n\x0e\x63haincodeEvent\x18\x06 \x01(\x0b\x32\x16.protos.ChaincodeEvent\"\xe6\x02\n\x04Type\x12\r\n\tUNDEFINED\x10\x00\x12\x0c\n\x08REGISTER\x10\x01\x12\x0e\n\nREGISTERED\x10\x02\x12\x08\n\x04INIT\x10\x03\x12\t\n\x05READY\x10\x04\x12\x0f\n\x0bTRANSACTION\x10\x05\x12\r\n\tCOMPLETED\x10\x06\x12\t\n\x05\x45RROR\x10\x07\x12\r\n\tGET_STATE\x10\x08\x12\r\n\tPUT_STATE\x10\t\x12\r\n\tDEL_STATE\x10\n\x12\x14\n\x10INVOKE_CHAINCODE\x10\x0b\x12\x10\n\x0cINVOKE_QUERY\x10\x0c\x12\x0c\n\x08RESPONSE\x10\r\x12\t\n\x05QUERY\x10\x0e\x12\x13\n\x0fQUERY_COMPLETED\x10\x0f\x12\x0f\n\x0bQUERY_ERROR\x10\x10\x12\x15\n\x11GET_STATE_BY_RANGE\x10\x11\x12\x1a\n\x16GET_STATE_BY_RANGE_NEXT\x10\x12\x12\x1b\n\x17GET_STATE_BY_RANGE_CLOSE\x10\x13\x12\r\n\tKEEPALIVE\x10\x14\"*\n\x0cPutStateInfo\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"3\n\x0fGetStateByRange\x12\x10\n\x08startKey\x18\x01 \x01(\t\x12\x0e\n\x06\x65ndKey\x18\x02 \x01(\t\"!\n\x13GetStateByRangeNext\x12\n\n\x02ID\x18\x01 \x01(\t\"\"\n\x14GetStateByRangeClose\x12\n\n\x02ID\x18\x01 \x01(\t\"5\n\x17GetStateByRangeKeyValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\"n\n\x17GetStateByRangeResponse\x12\x36\n\rkeysAndValues\x18\x01 \x03(\x0b\x32\x1f.protos.GetStateByRangeKeyValue\x12\x0f\n\x07hasMore\x18\x02 \x01(\x08\x12\n\n\x02ID\x18\x03 \x01(\t*4\n\x14\x43onfidentialityLevel\x12\n\n\x06PUBLIC\x10\x00\x12\x10\n\x0c\x43ONFIDENTIAL\x10\x01\x32X\n\x10\x43haincodeSupport\x12\x44\n\x08Register\x12\x18.protos.ChaincodeMessage\x1a\x18.protos.ChaincodeMessage\"\x00(\x01\x30\x01\x42\x18\n\x16org.hyperledger.protosb\x06proto3')
    26    ,
    27    dependencies=[chaincodeevent__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])
    28  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
    29  
    30  _CONFIDENTIALITYLEVEL = _descriptor.EnumDescriptor(
    31    name='ConfidentialityLevel',
    32    full_name='protos.ConfidentialityLevel',
    33    filename=None,
    34    file=DESCRIPTOR,
    35    values=[
    36      _descriptor.EnumValueDescriptor(
    37        name='PUBLIC', index=0, number=0,
    38        options=None,
    39        type=None),
    40      _descriptor.EnumValueDescriptor(
    41        name='CONFIDENTIAL', index=1, number=1,
    42        options=None,
    43        type=None),
    44    ],
    45    containing_type=None,
    46    options=None,
    47    serialized_start=2006,
    48    serialized_end=2058,
    49  )
    50  _sym_db.RegisterEnumDescriptor(_CONFIDENTIALITYLEVEL)
    51  
    52  ConfidentialityLevel = enum_type_wrapper.EnumTypeWrapper(_CONFIDENTIALITYLEVEL)
    53  PUBLIC = 0
    54  CONFIDENTIAL = 1
    55  
    56  
    57  _CHAINCODESPEC_TYPE = _descriptor.EnumDescriptor(
    58    name='Type',
    59    full_name='protos.ChaincodeSpec.Type',
    60    filename=None,
    61    file=DESCRIPTOR,
    62    values=[
    63      _descriptor.EnumValueDescriptor(
    64        name='UNDEFINED', index=0, number=0,
    65        options=None,
    66        type=None),
    67      _descriptor.EnumValueDescriptor(
    68        name='GOLANG', index=1, number=1,
    69        options=None,
    70        type=None),
    71      _descriptor.EnumValueDescriptor(
    72        name='NODE', index=2, number=2,
    73        options=None,
    74        type=None),
    75      _descriptor.EnumValueDescriptor(
    76        name='CAR', index=3, number=3,
    77        options=None,
    78        type=None),
    79      _descriptor.EnumValueDescriptor(
    80        name='JAVA', index=4, number=4,
    81        options=None,
    82        type=None),
    83    ],
    84    containing_type=None,
    85    options=None,
    86    serialized_start=438,
    87    serialized_end=500,
    88  )
    89  _sym_db.RegisterEnumDescriptor(_CHAINCODESPEC_TYPE)
    90  
    91  _CHAINCODEDEPLOYMENTSPEC_EXECUTIONENVIRONMENT = _descriptor.EnumDescriptor(
    92    name='ExecutionEnvironment',
    93    full_name='protos.ChaincodeDeploymentSpec.ExecutionEnvironment',
    94    filename=None,
    95    file=DESCRIPTOR,
    96    values=[
    97      _descriptor.EnumValueDescriptor(
    98        name='DOCKER', index=0, number=0,
    99        options=None,
   100        type=None),
   101      _descriptor.EnumValueDescriptor(
   102        name='SYSTEM', index=1, number=1,
   103        options=None,
   104        type=None),
   105    ],
   106    containing_type=None,
   107    options=None,
   108    serialized_start=719,
   109    serialized_end=765,
   110  )
   111  _sym_db.RegisterEnumDescriptor(_CHAINCODEDEPLOYMENTSPEC_EXECUTIONENVIRONMENT)
   112  
   113  _CHAINCODEMESSAGE_TYPE = _descriptor.EnumDescriptor(
   114    name='Type',
   115    full_name='protos.ChaincodeMessage.Type',
   116    filename=None,
   117    file=DESCRIPTOR,
   118    values=[
   119      _descriptor.EnumValueDescriptor(
   120        name='UNDEFINED', index=0, number=0,
   121        options=None,
   122        type=None),
   123      _descriptor.EnumValueDescriptor(
   124        name='REGISTER', index=1, number=1,
   125        options=None,
   126        type=None),
   127      _descriptor.EnumValueDescriptor(
   128        name='REGISTERED', index=2, number=2,
   129        options=None,
   130        type=None),
   131      _descriptor.EnumValueDescriptor(
   132        name='INIT', index=3, number=3,
   133        options=None,
   134        type=None),
   135      _descriptor.EnumValueDescriptor(
   136        name='READY', index=4, number=4,
   137        options=None,
   138        type=None),
   139      _descriptor.EnumValueDescriptor(
   140        name='TRANSACTION', index=5, number=5,
   141        options=None,
   142        type=None),
   143      _descriptor.EnumValueDescriptor(
   144        name='COMPLETED', index=6, number=6,
   145        options=None,
   146        type=None),
   147      _descriptor.EnumValueDescriptor(
   148        name='ERROR', index=7, number=7,
   149        options=None,
   150        type=None),
   151      _descriptor.EnumValueDescriptor(
   152        name='GET_STATE', index=8, number=8,
   153        options=None,
   154        type=None),
   155      _descriptor.EnumValueDescriptor(
   156        name='PUT_STATE', index=9, number=9,
   157        options=None,
   158        type=None),
   159      _descriptor.EnumValueDescriptor(
   160        name='DEL_STATE', index=10, number=10,
   161        options=None,
   162        type=None),
   163      _descriptor.EnumValueDescriptor(
   164        name='INVOKE_CHAINCODE', index=11, number=11,
   165        options=None,
   166        type=None),
   167      _descriptor.EnumValueDescriptor(
   168        name='INVOKE_QUERY', index=12, number=12,
   169        options=None,
   170        type=None),
   171      _descriptor.EnumValueDescriptor(
   172        name='RESPONSE', index=13, number=13,
   173        options=None,
   174        type=None),
   175      _descriptor.EnumValueDescriptor(
   176        name='QUERY', index=14, number=14,
   177        options=None,
   178        type=None),
   179      _descriptor.EnumValueDescriptor(
   180        name='QUERY_COMPLETED', index=15, number=15,
   181        options=None,
   182        type=None),
   183      _descriptor.EnumValueDescriptor(
   184        name='QUERY_ERROR', index=16, number=16,
   185        options=None,
   186        type=None),
   187      _descriptor.EnumValueDescriptor(
   188        name='GET_STATE_BY_RANGE', index=17, number=17,
   189        options=None,
   190        type=None),
   191      _descriptor.EnumValueDescriptor(
   192        name='GET_STATE_BY_RANGE_NEXT', index=18, number=18,
   193        options=None,
   194        type=None),
   195      _descriptor.EnumValueDescriptor(
   196        name='GET_STATE_BY_RANGE_CLOSE', index=19, number=19,
   197        options=None,
   198        type=None),
   199      _descriptor.EnumValueDescriptor(
   200        name='KEEPALIVE', index=20, number=20,
   201        options=None,
   202        type=None),
   203    ],
   204    containing_type=None,
   205    options=None,
   206    serialized_start=1311,
   207    serialized_end=1669,
   208  )
   209  _sym_db.RegisterEnumDescriptor(_CHAINCODEMESSAGE_TYPE)
   210  
   211  
   212  _CHAINCODEID = _descriptor.Descriptor(
   213    name='ChaincodeID',
   214    full_name='protos.ChaincodeID',
   215    filename=None,
   216    file=DESCRIPTOR,
   217    containing_type=None,
   218    fields=[
   219      _descriptor.FieldDescriptor(
   220        name='path', full_name='protos.ChaincodeID.path', index=0,
   221        number=1, type=9, cpp_type=9, label=1,
   222        has_default_value=False, default_value=_b("").decode('utf-8'),
   223        message_type=None, enum_type=None, containing_type=None,
   224        is_extension=False, extension_scope=None,
   225        options=None),
   226      _descriptor.FieldDescriptor(
   227        name='name', full_name='protos.ChaincodeID.name', index=1,
   228        number=2, type=9, cpp_type=9, label=1,
   229        has_default_value=False, default_value=_b("").decode('utf-8'),
   230        message_type=None, enum_type=None, containing_type=None,
   231        is_extension=False, extension_scope=None,
   232        options=None),
   233    ],
   234    extensions=[
   235    ],
   236    nested_types=[],
   237    enum_types=[
   238    ],
   239    options=None,
   240    is_extendable=False,
   241    syntax='proto3',
   242    extension_ranges=[],
   243    oneofs=[
   244    ],
   245    serialized_start=82,
   246    serialized_end=123,
   247  )
   248  
   249  
   250  _CHAINCODEINPUT = _descriptor.Descriptor(
   251    name='ChaincodeInput',
   252    full_name='protos.ChaincodeInput',
   253    filename=None,
   254    file=DESCRIPTOR,
   255    containing_type=None,
   256    fields=[
   257      _descriptor.FieldDescriptor(
   258        name='args', full_name='protos.ChaincodeInput.args', index=0,
   259        number=1, type=12, cpp_type=9, label=3,
   260        has_default_value=False, default_value=[],
   261        message_type=None, enum_type=None, containing_type=None,
   262        is_extension=False, extension_scope=None,
   263        options=None),
   264    ],
   265    extensions=[
   266    ],
   267    nested_types=[],
   268    enum_types=[
   269    ],
   270    options=None,
   271    is_extendable=False,
   272    syntax='proto3',
   273    extension_ranges=[],
   274    oneofs=[
   275    ],
   276    serialized_start=125,
   277    serialized_end=155,
   278  )
   279  
   280  
   281  _CHAINCODESPEC = _descriptor.Descriptor(
   282    name='ChaincodeSpec',
   283    full_name='protos.ChaincodeSpec',
   284    filename=None,
   285    file=DESCRIPTOR,
   286    containing_type=None,
   287    fields=[
   288      _descriptor.FieldDescriptor(
   289        name='type', full_name='protos.ChaincodeSpec.type', index=0,
   290        number=1, type=14, cpp_type=8, label=1,
   291        has_default_value=False, default_value=0,
   292        message_type=None, enum_type=None, containing_type=None,
   293        is_extension=False, extension_scope=None,
   294        options=None),
   295      _descriptor.FieldDescriptor(
   296        name='chaincodeID', full_name='protos.ChaincodeSpec.chaincodeID', index=1,
   297        number=2, type=11, cpp_type=10, label=1,
   298        has_default_value=False, default_value=None,
   299        message_type=None, enum_type=None, containing_type=None,
   300        is_extension=False, extension_scope=None,
   301        options=None),
   302      _descriptor.FieldDescriptor(
   303        name='ctorMsg', full_name='protos.ChaincodeSpec.ctorMsg', index=2,
   304        number=3, type=11, cpp_type=10, label=1,
   305        has_default_value=False, default_value=None,
   306        message_type=None, enum_type=None, containing_type=None,
   307        is_extension=False, extension_scope=None,
   308        options=None),
   309      _descriptor.FieldDescriptor(
   310        name='timeout', full_name='protos.ChaincodeSpec.timeout', index=3,
   311        number=4, type=5, cpp_type=1, label=1,
   312        has_default_value=False, default_value=0,
   313        message_type=None, enum_type=None, containing_type=None,
   314        is_extension=False, extension_scope=None,
   315        options=None),
   316      _descriptor.FieldDescriptor(
   317        name='secureContext', full_name='protos.ChaincodeSpec.secureContext', index=4,
   318        number=5, type=9, cpp_type=9, label=1,
   319        has_default_value=False, default_value=_b("").decode('utf-8'),
   320        message_type=None, enum_type=None, containing_type=None,
   321        is_extension=False, extension_scope=None,
   322        options=None),
   323      _descriptor.FieldDescriptor(
   324        name='confidentialityLevel', full_name='protos.ChaincodeSpec.confidentialityLevel', index=5,
   325        number=6, type=14, cpp_type=8, label=1,
   326        has_default_value=False, default_value=0,
   327        message_type=None, enum_type=None, containing_type=None,
   328        is_extension=False, extension_scope=None,
   329        options=None),
   330      _descriptor.FieldDescriptor(
   331        name='metadata', full_name='protos.ChaincodeSpec.metadata', index=6,
   332        number=7, type=12, cpp_type=9, label=1,
   333        has_default_value=False, default_value=_b(""),
   334        message_type=None, enum_type=None, containing_type=None,
   335        is_extension=False, extension_scope=None,
   336        options=None),
   337      _descriptor.FieldDescriptor(
   338        name='attributes', full_name='protos.ChaincodeSpec.attributes', index=7,
   339        number=8, type=9, cpp_type=9, label=3,
   340        has_default_value=False, default_value=[],
   341        message_type=None, enum_type=None, containing_type=None,
   342        is_extension=False, extension_scope=None,
   343        options=None),
   344    ],
   345    extensions=[
   346    ],
   347    nested_types=[],
   348    enum_types=[
   349      _CHAINCODESPEC_TYPE,
   350    ],
   351    options=None,
   352    is_extendable=False,
   353    syntax='proto3',
   354    extension_ranges=[],
   355    oneofs=[
   356    ],
   357    serialized_start=158,
   358    serialized_end=500,
   359  )
   360  
   361  
   362  _CHAINCODEDEPLOYMENTSPEC = _descriptor.Descriptor(
   363    name='ChaincodeDeploymentSpec',
   364    full_name='protos.ChaincodeDeploymentSpec',
   365    filename=None,
   366    file=DESCRIPTOR,
   367    containing_type=None,
   368    fields=[
   369      _descriptor.FieldDescriptor(
   370        name='chaincodeSpec', full_name='protos.ChaincodeDeploymentSpec.chaincodeSpec', index=0,
   371        number=1, type=11, cpp_type=10, label=1,
   372        has_default_value=False, default_value=None,
   373        message_type=None, enum_type=None, containing_type=None,
   374        is_extension=False, extension_scope=None,
   375        options=None),
   376      _descriptor.FieldDescriptor(
   377        name='effectiveDate', full_name='protos.ChaincodeDeploymentSpec.effectiveDate', index=1,
   378        number=2, type=11, cpp_type=10, label=1,
   379        has_default_value=False, default_value=None,
   380        message_type=None, enum_type=None, containing_type=None,
   381        is_extension=False, extension_scope=None,
   382        options=None),
   383      _descriptor.FieldDescriptor(
   384        name='codePackage', full_name='protos.ChaincodeDeploymentSpec.codePackage', index=2,
   385        number=3, type=12, cpp_type=9, label=1,
   386        has_default_value=False, default_value=_b(""),
   387        message_type=None, enum_type=None, containing_type=None,
   388        is_extension=False, extension_scope=None,
   389        options=None),
   390      _descriptor.FieldDescriptor(
   391        name='execEnv', full_name='protos.ChaincodeDeploymentSpec.execEnv', index=3,
   392        number=4, type=14, cpp_type=8, label=1,
   393        has_default_value=False, default_value=0,
   394        message_type=None, enum_type=None, containing_type=None,
   395        is_extension=False, extension_scope=None,
   396        options=None),
   397    ],
   398    extensions=[
   399    ],
   400    nested_types=[],
   401    enum_types=[
   402      _CHAINCODEDEPLOYMENTSPEC_EXECUTIONENVIRONMENT,
   403    ],
   404    options=None,
   405    is_extendable=False,
   406    syntax='proto3',
   407    extension_ranges=[],
   408    oneofs=[
   409    ],
   410    serialized_start=503,
   411    serialized_end=765,
   412  )
   413  
   414  
   415  _CHAINCODEINVOCATIONSPEC = _descriptor.Descriptor(
   416    name='ChaincodeInvocationSpec',
   417    full_name='protos.ChaincodeInvocationSpec',
   418    filename=None,
   419    file=DESCRIPTOR,
   420    containing_type=None,
   421    fields=[
   422      _descriptor.FieldDescriptor(
   423        name='chaincodeSpec', full_name='protos.ChaincodeInvocationSpec.chaincodeSpec', index=0,
   424        number=1, type=11, cpp_type=10, label=1,
   425        has_default_value=False, default_value=None,
   426        message_type=None, enum_type=None, containing_type=None,
   427        is_extension=False, extension_scope=None,
   428        options=None),
   429      _descriptor.FieldDescriptor(
   430        name='idGenerationAlg', full_name='protos.ChaincodeInvocationSpec.idGenerationAlg', index=1,
   431        number=2, type=9, cpp_type=9, label=1,
   432        has_default_value=False, default_value=_b("").decode('utf-8'),
   433        message_type=None, enum_type=None, containing_type=None,
   434        is_extension=False, extension_scope=None,
   435        options=None),
   436    ],
   437    extensions=[
   438    ],
   439    nested_types=[],
   440    enum_types=[
   441    ],
   442    options=None,
   443    is_extendable=False,
   444    syntax='proto3',
   445    extension_ranges=[],
   446    oneofs=[
   447    ],
   448    serialized_start=767,
   449    serialized_end=863,
   450  )
   451  
   452  
   453  _CHAINCODESECURITYCONTEXT = _descriptor.Descriptor(
   454    name='ChaincodeSecurityContext',
   455    full_name='protos.ChaincodeSecurityContext',
   456    filename=None,
   457    file=DESCRIPTOR,
   458    containing_type=None,
   459    fields=[
   460      _descriptor.FieldDescriptor(
   461        name='callerCert', full_name='protos.ChaincodeSecurityContext.callerCert', index=0,
   462        number=1, type=12, cpp_type=9, label=1,
   463        has_default_value=False, default_value=_b(""),
   464        message_type=None, enum_type=None, containing_type=None,
   465        is_extension=False, extension_scope=None,
   466        options=None),
   467      _descriptor.FieldDescriptor(
   468        name='callerSign', full_name='protos.ChaincodeSecurityContext.callerSign', index=1,
   469        number=2, type=12, cpp_type=9, label=1,
   470        has_default_value=False, default_value=_b(""),
   471        message_type=None, enum_type=None, containing_type=None,
   472        is_extension=False, extension_scope=None,
   473        options=None),
   474      _descriptor.FieldDescriptor(
   475        name='payload', full_name='protos.ChaincodeSecurityContext.payload', index=2,
   476        number=3, type=12, cpp_type=9, label=1,
   477        has_default_value=False, default_value=_b(""),
   478        message_type=None, enum_type=None, containing_type=None,
   479        is_extension=False, extension_scope=None,
   480        options=None),
   481      _descriptor.FieldDescriptor(
   482        name='binding', full_name='protos.ChaincodeSecurityContext.binding', index=3,
   483        number=4, type=12, cpp_type=9, label=1,
   484        has_default_value=False, default_value=_b(""),
   485        message_type=None, enum_type=None, containing_type=None,
   486        is_extension=False, extension_scope=None,
   487        options=None),
   488      _descriptor.FieldDescriptor(
   489        name='metadata', full_name='protos.ChaincodeSecurityContext.metadata', index=4,
   490        number=5, type=12, cpp_type=9, label=1,
   491        has_default_value=False, default_value=_b(""),
   492        message_type=None, enum_type=None, containing_type=None,
   493        is_extension=False, extension_scope=None,
   494        options=None),
   495      _descriptor.FieldDescriptor(
   496        name='parentMetadata', full_name='protos.ChaincodeSecurityContext.parentMetadata', index=5,
   497        number=6, type=12, cpp_type=9, label=1,
   498        has_default_value=False, default_value=_b(""),
   499        message_type=None, enum_type=None, containing_type=None,
   500        is_extension=False, extension_scope=None,
   501        options=None),
   502      _descriptor.FieldDescriptor(
   503        name='txTimestamp', full_name='protos.ChaincodeSecurityContext.txTimestamp', index=6,
   504        number=7, type=11, cpp_type=10, label=1,
   505        has_default_value=False, default_value=None,
   506        message_type=None, enum_type=None, containing_type=None,
   507        is_extension=False, extension_scope=None,
   508        options=None),
   509    ],
   510    extensions=[
   511    ],
   512    nested_types=[],
   513    enum_types=[
   514    ],
   515    options=None,
   516    is_extendable=False,
   517    syntax='proto3',
   518    extension_ranges=[],
   519    oneofs=[
   520    ],
   521    serialized_start=866,
   522    serialized_end=1057,
   523  )
   524  
   525  
   526  _CHAINCODEMESSAGE = _descriptor.Descriptor(
   527    name='ChaincodeMessage',
   528    full_name='protos.ChaincodeMessage',
   529    filename=None,
   530    file=DESCRIPTOR,
   531    containing_type=None,
   532    fields=[
   533      _descriptor.FieldDescriptor(
   534        name='type', full_name='protos.ChaincodeMessage.type', index=0,
   535        number=1, type=14, cpp_type=8, label=1,
   536        has_default_value=False, default_value=0,
   537        message_type=None, enum_type=None, containing_type=None,
   538        is_extension=False, extension_scope=None,
   539        options=None),
   540      _descriptor.FieldDescriptor(
   541        name='timestamp', full_name='protos.ChaincodeMessage.timestamp', index=1,
   542        number=2, type=11, cpp_type=10, label=1,
   543        has_default_value=False, default_value=None,
   544        message_type=None, enum_type=None, containing_type=None,
   545        is_extension=False, extension_scope=None,
   546        options=None),
   547      _descriptor.FieldDescriptor(
   548        name='payload', full_name='protos.ChaincodeMessage.payload', index=2,
   549        number=3, type=12, cpp_type=9, label=1,
   550        has_default_value=False, default_value=_b(""),
   551        message_type=None, enum_type=None, containing_type=None,
   552        is_extension=False, extension_scope=None,
   553        options=None),
   554      _descriptor.FieldDescriptor(
   555        name='txid', full_name='protos.ChaincodeMessage.txid', index=3,
   556        number=4, type=9, cpp_type=9, label=1,
   557        has_default_value=False, default_value=_b("").decode('utf-8'),
   558        message_type=None, enum_type=None, containing_type=None,
   559        is_extension=False, extension_scope=None,
   560        options=None),
   561      _descriptor.FieldDescriptor(
   562        name='securityContext', full_name='protos.ChaincodeMessage.securityContext', index=4,
   563        number=5, type=11, cpp_type=10, label=1,
   564        has_default_value=False, default_value=None,
   565        message_type=None, enum_type=None, containing_type=None,
   566        is_extension=False, extension_scope=None,
   567        options=None),
   568      _descriptor.FieldDescriptor(
   569        name='chaincodeEvent', full_name='protos.ChaincodeMessage.chaincodeEvent', index=5,
   570        number=6, type=11, cpp_type=10, label=1,
   571        has_default_value=False, default_value=None,
   572        message_type=None, enum_type=None, containing_type=None,
   573        is_extension=False, extension_scope=None,
   574        options=None),
   575    ],
   576    extensions=[
   577    ],
   578    nested_types=[],
   579    enum_types=[
   580      _CHAINCODEMESSAGE_TYPE,
   581    ],
   582    options=None,
   583    is_extendable=False,
   584    syntax='proto3',
   585    extension_ranges=[],
   586    oneofs=[
   587    ],
   588    serialized_start=1060,
   589    serialized_end=1669,
   590  )
   591  
   592  
   593  _PUTSTATEINFO = _descriptor.Descriptor(
   594    name='PutStateInfo',
   595    full_name='protos.PutStateInfo',
   596    filename=None,
   597    file=DESCRIPTOR,
   598    containing_type=None,
   599    fields=[
   600      _descriptor.FieldDescriptor(
   601        name='key', full_name='protos.PutStateInfo.key', index=0,
   602        number=1, type=9, cpp_type=9, label=1,
   603        has_default_value=False, default_value=_b("").decode('utf-8'),
   604        message_type=None, enum_type=None, containing_type=None,
   605        is_extension=False, extension_scope=None,
   606        options=None),
   607      _descriptor.FieldDescriptor(
   608        name='value', full_name='protos.PutStateInfo.value', index=1,
   609        number=2, type=12, cpp_type=9, label=1,
   610        has_default_value=False, default_value=_b(""),
   611        message_type=None, enum_type=None, containing_type=None,
   612        is_extension=False, extension_scope=None,
   613        options=None),
   614    ],
   615    extensions=[
   616    ],
   617    nested_types=[],
   618    enum_types=[
   619    ],
   620    options=None,
   621    is_extendable=False,
   622    syntax='proto3',
   623    extension_ranges=[],
   624    oneofs=[
   625    ],
   626    serialized_start=1671,
   627    serialized_end=1713,
   628  )
   629  
   630  
   631  _GETSTATEBYRANGE = _descriptor.Descriptor(
   632    name='GetStateByRange',
   633    full_name='protos.GetStateByRange',
   634    filename=None,
   635    file=DESCRIPTOR,
   636    containing_type=None,
   637    fields=[
   638      _descriptor.FieldDescriptor(
   639        name='startKey', full_name='protos.GetStateByRange.startKey', index=0,
   640        number=1, type=9, cpp_type=9, label=1,
   641        has_default_value=False, default_value=_b("").decode('utf-8'),
   642        message_type=None, enum_type=None, containing_type=None,
   643        is_extension=False, extension_scope=None,
   644        options=None),
   645      _descriptor.FieldDescriptor(
   646        name='endKey', full_name='protos.GetStateByRange.endKey', index=1,
   647        number=2, type=9, cpp_type=9, label=1,
   648        has_default_value=False, default_value=_b("").decode('utf-8'),
   649        message_type=None, enum_type=None, containing_type=None,
   650        is_extension=False, extension_scope=None,
   651        options=None),
   652    ],
   653    extensions=[
   654    ],
   655    nested_types=[],
   656    enum_types=[
   657    ],
   658    options=None,
   659    is_extendable=False,
   660    syntax='proto3',
   661    extension_ranges=[],
   662    oneofs=[
   663    ],
   664    serialized_start=1715,
   665    serialized_end=1766,
   666  )
   667  
   668  
   669  _GETSTATEBYRANGENEXT = _descriptor.Descriptor(
   670    name='GetStateByRangeNext',
   671    full_name='protos.GetStateByRangeNext',
   672    filename=None,
   673    file=DESCRIPTOR,
   674    containing_type=None,
   675    fields=[
   676      _descriptor.FieldDescriptor(
   677        name='ID', full_name='protos.GetStateByRangeNext.ID', index=0,
   678        number=1, type=9, cpp_type=9, label=1,
   679        has_default_value=False, default_value=_b("").decode('utf-8'),
   680        message_type=None, enum_type=None, containing_type=None,
   681        is_extension=False, extension_scope=None,
   682        options=None),
   683    ],
   684    extensions=[
   685    ],
   686    nested_types=[],
   687    enum_types=[
   688    ],
   689    options=None,
   690    is_extendable=False,
   691    syntax='proto3',
   692    extension_ranges=[],
   693    oneofs=[
   694    ],
   695    serialized_start=1768,
   696    serialized_end=1801,
   697  )
   698  
   699  
   700  _GETSTATEBYRANGECLOSE = _descriptor.Descriptor(
   701    name='GetStateByRangeClose',
   702    full_name='protos.GetStateByRangeClose',
   703    filename=None,
   704    file=DESCRIPTOR,
   705    containing_type=None,
   706    fields=[
   707      _descriptor.FieldDescriptor(
   708        name='ID', full_name='protos.GetStateByRangeClose.ID', index=0,
   709        number=1, type=9, cpp_type=9, label=1,
   710        has_default_value=False, default_value=_b("").decode('utf-8'),
   711        message_type=None, enum_type=None, containing_type=None,
   712        is_extension=False, extension_scope=None,
   713        options=None),
   714    ],
   715    extensions=[
   716    ],
   717    nested_types=[],
   718    enum_types=[
   719    ],
   720    options=None,
   721    is_extendable=False,
   722    syntax='proto3',
   723    extension_ranges=[],
   724    oneofs=[
   725    ],
   726    serialized_start=1803,
   727    serialized_end=1837,
   728  )
   729  
   730  
   731  _GETSTATEBYRANGEKEYVALUE = _descriptor.Descriptor(
   732    name='GetStateByRangeKeyValue',
   733    full_name='protos.GetStateByRangeKeyValue',
   734    filename=None,
   735    file=DESCRIPTOR,
   736    containing_type=None,
   737    fields=[
   738      _descriptor.FieldDescriptor(
   739        name='key', full_name='protos.GetStateByRangeKeyValue.key', index=0,
   740        number=1, type=9, cpp_type=9, label=1,
   741        has_default_value=False, default_value=_b("").decode('utf-8'),
   742        message_type=None, enum_type=None, containing_type=None,
   743        is_extension=False, extension_scope=None,
   744        options=None),
   745      _descriptor.FieldDescriptor(
   746        name='value', full_name='protos.GetStateByRangeKeyValue.value', index=1,
   747        number=2, type=12, cpp_type=9, label=1,
   748        has_default_value=False, default_value=_b(""),
   749        message_type=None, enum_type=None, containing_type=None,
   750        is_extension=False, extension_scope=None,
   751        options=None),
   752    ],
   753    extensions=[
   754    ],
   755    nested_types=[],
   756    enum_types=[
   757    ],
   758    options=None,
   759    is_extendable=False,
   760    syntax='proto3',
   761    extension_ranges=[],
   762    oneofs=[
   763    ],
   764    serialized_start=1839,
   765    serialized_end=1892,
   766  )
   767  
   768  
   769  _GETSTATEBYRANGERESPONSE = _descriptor.Descriptor(
   770    name='GetStateByRangeResponse',
   771    full_name='protos.GetStateByRangeResponse',
   772    filename=None,
   773    file=DESCRIPTOR,
   774    containing_type=None,
   775    fields=[
   776      _descriptor.FieldDescriptor(
   777        name='keysAndValues', full_name='protos.GetStateByRangeResponse.keysAndValues', index=0,
   778        number=1, type=11, cpp_type=10, label=3,
   779        has_default_value=False, default_value=[],
   780        message_type=None, enum_type=None, containing_type=None,
   781        is_extension=False, extension_scope=None,
   782        options=None),
   783      _descriptor.FieldDescriptor(
   784        name='hasMore', full_name='protos.GetStateByRangeResponse.hasMore', index=1,
   785        number=2, type=8, cpp_type=7, label=1,
   786        has_default_value=False, default_value=False,
   787        message_type=None, enum_type=None, containing_type=None,
   788        is_extension=False, extension_scope=None,
   789        options=None),
   790      _descriptor.FieldDescriptor(
   791        name='ID', full_name='protos.GetStateByRangeResponse.ID', index=2,
   792        number=3, type=9, cpp_type=9, label=1,
   793        has_default_value=False, default_value=_b("").decode('utf-8'),
   794        message_type=None, enum_type=None, containing_type=None,
   795        is_extension=False, extension_scope=None,
   796        options=None),
   797    ],
   798    extensions=[
   799    ],
   800    nested_types=[],
   801    enum_types=[
   802    ],
   803    options=None,
   804    is_extendable=False,
   805    syntax='proto3',
   806    extension_ranges=[],
   807    oneofs=[
   808    ],
   809    serialized_start=1894,
   810    serialized_end=2004,
   811  )
   812  
   813  _CHAINCODESPEC.fields_by_name['type'].enum_type = _CHAINCODESPEC_TYPE
   814  _CHAINCODESPEC.fields_by_name['chaincodeID'].message_type = _CHAINCODEID
   815  _CHAINCODESPEC.fields_by_name['ctorMsg'].message_type = _CHAINCODEINPUT
   816  _CHAINCODESPEC.fields_by_name['confidentialityLevel'].enum_type = _CONFIDENTIALITYLEVEL
   817  _CHAINCODESPEC_TYPE.containing_type = _CHAINCODESPEC
   818  _CHAINCODEDEPLOYMENTSPEC.fields_by_name['chaincodeSpec'].message_type = _CHAINCODESPEC
   819  _CHAINCODEDEPLOYMENTSPEC.fields_by_name['effectiveDate'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
   820  _CHAINCODEDEPLOYMENTSPEC.fields_by_name['execEnv'].enum_type = _CHAINCODEDEPLOYMENTSPEC_EXECUTIONENVIRONMENT
   821  _CHAINCODEDEPLOYMENTSPEC_EXECUTIONENVIRONMENT.containing_type = _CHAINCODEDEPLOYMENTSPEC
   822  _CHAINCODEINVOCATIONSPEC.fields_by_name['chaincodeSpec'].message_type = _CHAINCODESPEC
   823  _CHAINCODESECURITYCONTEXT.fields_by_name['txTimestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
   824  _CHAINCODEMESSAGE.fields_by_name['type'].enum_type = _CHAINCODEMESSAGE_TYPE
   825  _CHAINCODEMESSAGE.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
   826  _CHAINCODEMESSAGE.fields_by_name['securityContext'].message_type = _CHAINCODESECURITYCONTEXT
   827  _CHAINCODEMESSAGE.fields_by_name['chaincodeEvent'].message_type = chaincodeevent__pb2._CHAINCODEEVENT
   828  _CHAINCODEMESSAGE_TYPE.containing_type = _CHAINCODEMESSAGE
   829  _GETSTATEBYRANGERESPONSE.fields_by_name['keysAndValues'].message_type = _GETSTATEBYRANGEKEYVALUE
   830  DESCRIPTOR.message_types_by_name['ChaincodeID'] = _CHAINCODEID
   831  DESCRIPTOR.message_types_by_name['ChaincodeInput'] = _CHAINCODEINPUT
   832  DESCRIPTOR.message_types_by_name['ChaincodeSpec'] = _CHAINCODESPEC
   833  DESCRIPTOR.message_types_by_name['ChaincodeDeploymentSpec'] = _CHAINCODEDEPLOYMENTSPEC
   834  DESCRIPTOR.message_types_by_name['ChaincodeInvocationSpec'] = _CHAINCODEINVOCATIONSPEC
   835  DESCRIPTOR.message_types_by_name['ChaincodeSecurityContext'] = _CHAINCODESECURITYCONTEXT
   836  DESCRIPTOR.message_types_by_name['ChaincodeMessage'] = _CHAINCODEMESSAGE
   837  DESCRIPTOR.message_types_by_name['PutStateInfo'] = _PUTSTATEINFO
   838  DESCRIPTOR.message_types_by_name['GetStateByRange'] = _GETSTATEBYRANGE
   839  DESCRIPTOR.message_types_by_name['GetStateByRangeNext'] = _GETSTATEBYRANGENEXT
   840  DESCRIPTOR.message_types_by_name['GetStateByRangeClose'] = _GETSTATEBYRANGECLOSE
   841  DESCRIPTOR.message_types_by_name['GetStateByRangeKeyValue'] = _GETSTATEBYRANGEKEYVALUE
   842  DESCRIPTOR.message_types_by_name['GetStateByRangeResponse'] = _GETSTATEBYRANGERESPONSE
   843  DESCRIPTOR.enum_types_by_name['ConfidentialityLevel'] = _CONFIDENTIALITYLEVEL
   844  
   845  ChaincodeID = _reflection.GeneratedProtocolMessageType('ChaincodeID', (_message.Message,), dict(
   846    DESCRIPTOR = _CHAINCODEID,
   847    __module__ = 'chaincode_pb2'
   848    # @@protoc_insertion_point(class_scope:protos.ChaincodeID)
   849    ))
   850  _sym_db.RegisterMessage(ChaincodeID)
   851  
   852  ChaincodeInput = _reflection.GeneratedProtocolMessageType('ChaincodeInput', (_message.Message,), dict(
   853    DESCRIPTOR = _CHAINCODEINPUT,
   854    __module__ = 'chaincode_pb2'
   855    # @@protoc_insertion_point(class_scope:protos.ChaincodeInput)
   856    ))
   857  _sym_db.RegisterMessage(ChaincodeInput)
   858  
   859  ChaincodeSpec = _reflection.GeneratedProtocolMessageType('ChaincodeSpec', (_message.Message,), dict(
   860    DESCRIPTOR = _CHAINCODESPEC,
   861    __module__ = 'chaincode_pb2'
   862    # @@protoc_insertion_point(class_scope:protos.ChaincodeSpec)
   863    ))
   864  _sym_db.RegisterMessage(ChaincodeSpec)
   865  
   866  ChaincodeDeploymentSpec = _reflection.GeneratedProtocolMessageType('ChaincodeDeploymentSpec', (_message.Message,), dict(
   867    DESCRIPTOR = _CHAINCODEDEPLOYMENTSPEC,
   868    __module__ = 'chaincode_pb2'
   869    # @@protoc_insertion_point(class_scope:protos.ChaincodeDeploymentSpec)
   870    ))
   871  _sym_db.RegisterMessage(ChaincodeDeploymentSpec)
   872  
   873  ChaincodeInvocationSpec = _reflection.GeneratedProtocolMessageType('ChaincodeInvocationSpec', (_message.Message,), dict(
   874    DESCRIPTOR = _CHAINCODEINVOCATIONSPEC,
   875    __module__ = 'chaincode_pb2'
   876    # @@protoc_insertion_point(class_scope:protos.ChaincodeInvocationSpec)
   877    ))
   878  _sym_db.RegisterMessage(ChaincodeInvocationSpec)
   879  
   880  ChaincodeSecurityContext = _reflection.GeneratedProtocolMessageType('ChaincodeSecurityContext', (_message.Message,), dict(
   881    DESCRIPTOR = _CHAINCODESECURITYCONTEXT,
   882    __module__ = 'chaincode_pb2'
   883    # @@protoc_insertion_point(class_scope:protos.ChaincodeSecurityContext)
   884    ))
   885  _sym_db.RegisterMessage(ChaincodeSecurityContext)
   886  
   887  ChaincodeMessage = _reflection.GeneratedProtocolMessageType('ChaincodeMessage', (_message.Message,), dict(
   888    DESCRIPTOR = _CHAINCODEMESSAGE,
   889    __module__ = 'chaincode_pb2'
   890    # @@protoc_insertion_point(class_scope:protos.ChaincodeMessage)
   891    ))
   892  _sym_db.RegisterMessage(ChaincodeMessage)
   893  
   894  PutStateInfo = _reflection.GeneratedProtocolMessageType('PutStateInfo', (_message.Message,), dict(
   895    DESCRIPTOR = _PUTSTATEINFO,
   896    __module__ = 'chaincode_pb2'
   897    # @@protoc_insertion_point(class_scope:protos.PutStateInfo)
   898    ))
   899  _sym_db.RegisterMessage(PutStateInfo)
   900  
   901  GetStateByRange = _reflection.GeneratedProtocolMessageType('GetStateByRange', (_message.Message,), dict(
   902    DESCRIPTOR = _GETSTATEBYRANGE,
   903    __module__ = 'chaincode_pb2'
   904    # @@protoc_insertion_point(class_scope:protos.GetStateByRange)
   905    ))
   906  _sym_db.RegisterMessage(GetStateByRange)
   907  
   908  GetStateByRangeNext = _reflection.GeneratedProtocolMessageType('GetStateByRangeNext', (_message.Message,), dict(
   909    DESCRIPTOR = _GETSTATEBYRANGENEXT,
   910    __module__ = 'chaincode_pb2'
   911    # @@protoc_insertion_point(class_scope:protos.GetStateByRangeNext)
   912    ))
   913  _sym_db.RegisterMessage(GetStateByRangeNext)
   914  
   915  GetStateByRangeClose = _reflection.GeneratedProtocolMessageType('GetStateByRangeClose', (_message.Message,), dict(
   916    DESCRIPTOR = _GETSTATEBYRANGECLOSE,
   917    __module__ = 'chaincode_pb2'
   918    # @@protoc_insertion_point(class_scope:protos.GetStateByRangeClose)
   919    ))
   920  _sym_db.RegisterMessage(GetStateByRangeClose)
   921  
   922  GetStateByRangeKeyValue = _reflection.GeneratedProtocolMessageType('GetStateByRangeKeyValue', (_message.Message,), dict(
   923    DESCRIPTOR = _GETSTATEBYRANGEKEYVALUE,
   924    __module__ = 'chaincode_pb2'
   925    # @@protoc_insertion_point(class_scope:protos.GetStateByRangeKeyValue)
   926    ))
   927  _sym_db.RegisterMessage(GetStateByRangeKeyValue)
   928  
   929  GetStateByRangeResponse = _reflection.GeneratedProtocolMessageType('GetStateByRangeResponse', (_message.Message,), dict(
   930    DESCRIPTOR = _GETSTATEBYRANGERESPONSE,
   931    __module__ = 'chaincode_pb2'
   932    # @@protoc_insertion_point(class_scope:protos.GetStateByRangeResponse)
   933    ))
   934  _sym_db.RegisterMessage(GetStateByRangeResponse)
   935  
   936  
   937  DESCRIPTOR.has_options = True
   938  DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\026org.hyperledger.protos'))
   939  import grpc
   940  from grpc.beta import implementations as beta_implementations
   941  from grpc.beta import interfaces as beta_interfaces
   942  from grpc.framework.common import cardinality
   943  from grpc.framework.interfaces.face import utilities as face_utilities
   944  
   945  
   946  class ChaincodeSupportStub(object):
   947    """Interface that provides support to chaincode execution. ChaincodeContext
   948    provides the context necessary for the server to respond appropriately.
   949    """
   950  
   951    def __init__(self, channel):
   952      """Constructor.
   953  
   954      Args:
   955        channel: A grpc.Channel.
   956      """
   957      self.Register = channel.stream_stream(
   958          '/protos.ChaincodeSupport/Register',
   959          request_serializer=ChaincodeMessage.SerializeToString,
   960          response_deserializer=ChaincodeMessage.FromString,
   961          )
   962  
   963  
   964  class ChaincodeSupportServicer(object):
   965    """Interface that provides support to chaincode execution. ChaincodeContext
   966    provides the context necessary for the server to respond appropriately.
   967    """
   968  
   969    def Register(self, request_iterator, context):
   970      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
   971      context.set_details('Method not implemented!')
   972      raise NotImplementedError('Method not implemented!')
   973  
   974  
   975  def add_ChaincodeSupportServicer_to_server(servicer, server):
   976    rpc_method_handlers = {
   977        'Register': grpc.stream_stream_rpc_method_handler(
   978            servicer.Register,
   979            request_deserializer=ChaincodeMessage.FromString,
   980            response_serializer=ChaincodeMessage.SerializeToString,
   981        ),
   982    }
   983    generic_handler = grpc.method_handlers_generic_handler(
   984        'protos.ChaincodeSupport', rpc_method_handlers)
   985    server.add_generic_rpc_handlers((generic_handler,))
   986  
   987  
   988  class BetaChaincodeSupportServicer(object):
   989    """Interface that provides support to chaincode execution. ChaincodeContext
   990    provides the context necessary for the server to respond appropriately.
   991    """
   992    def Register(self, request_iterator, context):
   993      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)
   994  
   995  
   996  class BetaChaincodeSupportStub(object):
   997    """Interface that provides support to chaincode execution. ChaincodeContext
   998    provides the context necessary for the server to respond appropriately.
   999    """
  1000    def Register(self, request_iterator, timeout, metadata=None, with_call=False, protocol_options=None):
  1001      raise NotImplementedError()
  1002  
  1003  
  1004  def beta_create_ChaincodeSupport_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
  1005    request_deserializers = {
  1006      ('protos.ChaincodeSupport', 'Register'): ChaincodeMessage.FromString,
  1007    }
  1008    response_serializers = {
  1009      ('protos.ChaincodeSupport', 'Register'): ChaincodeMessage.SerializeToString,
  1010    }
  1011    method_implementations = {
  1012      ('protos.ChaincodeSupport', 'Register'): face_utilities.stream_stream_inline(servicer.Register),
  1013    }
  1014    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
  1015    return beta_implementations.server(method_implementations, options=server_options)
  1016  
  1017  
  1018  def beta_create_ChaincodeSupport_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
  1019    request_serializers = {
  1020      ('protos.ChaincodeSupport', 'Register'): ChaincodeMessage.SerializeToString,
  1021    }
  1022    response_deserializers = {
  1023      ('protos.ChaincodeSupport', 'Register'): ChaincodeMessage.FromString,
  1024    }
  1025    cardinalities = {
  1026      'Register': cardinality.Cardinality.STREAM_STREAM,
  1027    }
  1028    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
  1029    return beta_implementations.dynamic_stub(channel, 'protos.ChaincodeSupport', cardinalities, options=stub_options)
  1030  # @@protoc_insertion_point(module_scope)