pub const FILE_DESCRIPTOR_SET: &[u8] = b"\n\xb5\x13\n\x15google/api/http.proto\x12\ngoogle.api\"y\n\x04Http\x12*\n\x05rules\x18\x01 \x03(\x0b2\x14.google.api.HttpRuleR\x05rules\x12E\n\x1ffully_decode_reserved_expansion\x18\x02 \x01(\x08R\x1cfullyDecodeReservedExpansion\"\xda\x02\n\x08HttpRule\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12\x12\n\x03get\x18\x02 \x01(\tH\x00R\x03get\x12\x12\n\x03put\x18\x03 \x01(\tH\x00R\x03put\x12\x14\n\x04post\x18\x04 \x01(\tH\x00R\x04post\x12\x18\n\x06delete\x18\x05 \x01(\tH\x00R\x06delete\x12\x16\n\x05patch\x18\x06 \x01(\tH\x00R\x05patch\x127\n\x06custom\x18\x08 \x01(\x0b2\x1d.google.api.CustomHttpPatternH\x00R\x06custom\x12\x12\n\x04body\x18\x07 \x01(\tR\x04body\x12#\n\rresponse_body\x18\x0c \x01(\tR\x0cresponseBody\x12E\n\x13additional_bindings\x18\x0b \x03(\x0b2\x14.google.api.HttpRuleR\x12additionalBindingsB\t\n\x07pattern\";\n\x11CustomHttpPattern\x12\x12\n\x04kind\x18\x01 \x01(\tR\x04kind\x12\x12\n\x04path\x18\x02 \x01(\tR\x04pathBg\n\x0ecom.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIJ\x89\x0e\n\x06\x12\x04\x12\x00>\x01\n\x89\x06\n\x01\x0c\x12\x03\x12\x00\x122\xfe\x05 Copyright 2026 Google LLC\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Vendored from github.com/googleapis/googleapis, trimmed to the definitions\n (upstream doc comments removed). Consumed at build time only, to compile the\n google.api.http annotations in ../../v2/*.proto.\n\n\x08\n\x01\x02\x12\x03\x14\x00\x13\n\x08\n\x01\x08\x12\x03\x16\x00X\n\t\n\x02\x08\x0b\x12\x03\x16\x00X\n\x08\n\x01\x08\x12\x03\x17\x00\"\n\t\n\x02\x08\n\x12\x03\x17\x00\"\n\x08\n\x01\x08\x12\x03\x18\x00*\n\t\n\x02\x08\x08\x12\x03\x18\x00*\n\x08\n\x01\x08\x12\x03\x19\x00\'\n\t\n\x02\x08\x01\x12\x03\x19\x00\'\n\x08\n\x01\x08\x12\x03\x1a\x00\"\n\t\n\x02\x08$\x12\x03\x1a\x00\"\n\n\n\x02\x04\x00\x12\x04\x1c\x00 \x01\n\n\n\x03\x04\x00\x01\x12\x03\x1c\x08\x0c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x1d\x02\x1e\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x1d\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x1d\x0b\x13\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x1d\x14\x19\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x1d\x1c\x1d\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x1f\x02+\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x1f\x02\x06\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x1f\x07&\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x1f)*\n\n\n\x02\x04\x01\x12\x04\"\x008\x01\n\n\n\x03\x04\x01\x01\x12\x03\"\x08\x10\n\x0b\n\x04\x04\x01\x02\x00\x12\x03#\x02\x16\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03#\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03#\t\x11\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03#\x14\x15\n\x0c\n\x04\x04\x01\x08\x00\x12\x04%\x021\x03\n\x0c\n\x05\x04\x01\x08\x00\x01\x12\x03%\x08\x0f\n\x0b\n\x04\x04\x01\x02\x01\x12\x03&\x04\x13\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03&\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03&\x0b\x0e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03&\x11\x12\n\x0b\n\x04\x04\x01\x02\x02\x12\x03(\x04\x13\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03(\x04\n\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03(\x0b\x0e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03(\x11\x12\n\x0b\n\x04\x04\x01\x02\x03\x12\x03*\x04\x14\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03*\x04\n\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03*\x0b\x0f\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03*\x12\x13\n\x0b\n\x04\x04\x01\x02\x04\x12\x03,\x04\x16\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03,\x04\n\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03,\x0b\x11\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03,\x14\x15\n\x0b\n\x04\x04\x01\x02\x05\x12\x03.\x04\x15\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03.\x04\n\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03.\x0b\x10\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03.\x13\x14\n\x0b\n\x04\x04\x01\x02\x06\x12\x030\x04!\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x030\x04\x15\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x030\x16\x1c\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x030\x1f \n\x0b\n\x04\x04\x01\x02\x07\x12\x033\x02\x12\n\x0c\n\x05\x04\x01\x02\x07\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x033\t\r\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x033\x10\x11\n\x0b\n\x04\x04\x01\x02\x08\x12\x035\x02\x1c\n\x0c\n\x05\x04\x01\x02\x08\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x035\t\x16\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x035\x19\x1b\n\x0b\n\x04\x04\x01\x02\t\x12\x037\x02-\n\x0c\n\x05\x04\x01\x02\t\x04\x12\x037\x02\n\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x037\x0b\x13\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x037\x14\'\n\x0c\n\x05\x04\x01\x02\t\x03\x12\x037*,\n\n\n\x02\x04\x02\x12\x04:\x00>\x01\n\n\n\x03\x04\x02\x01\x12\x03:\x08\x19\n\x0b\n\x04\x04\x02\x02\x00\x12\x03;\x02\x12\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03;\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03;\t\r\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03;\x10\x11\n\x0b\n\x04\x04\x02\x02\x01\x12\x03=\x02\x12\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03=\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03=\t\r\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03=\x10\x11b\x06proto3\n\xd2\x89\x03\n google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"M\n\x11FileDescriptorSet\x128\n\x04file\x18\x01 \x03(\x0b2$.google.protobuf.FileDescriptorProtoR\x04file\"\xe4\x04\n\x13FileDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x1e\n\ndependency\x18\x03 \x03(\tR\ndependency\x12+\n\x11public_dependency\x18\n \x03(\x05R\x10publicDependency\x12\'\n\x0fweak_dependency\x18\x0b \x03(\x05R\x0eweakDependency\x12C\n\x0cmessage_type\x18\x04 \x03(\x0b2 .google.protobuf.DescriptorProtoR\x0bmessageType\x12A\n\tenum_type\x18\x05 \x03(\x0b2$.google.protobuf.EnumDescriptorProtoR\x08enumType\x12A\n\x07service\x18\x06 \x03(\x0b2\'.google.protobuf.ServiceDescriptorProtoR\x07service\x12C\n\textension\x18\x07 \x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\textension\x126\n\x07options\x18\x08 \x01(\x0b2\x1c.google.protobuf.FileOptionsR\x07options\x12I\n\x10source_code_info\x18\t \x01(\x0b2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n\x06syntax\x18\x0c \x01(\tR\x06syntax\"\xb9\x06\n\x0fDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12;\n\x05field\x18\x02 \x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n\textension\x18\x06 \x03(\x0b2%.google.protobuf.FieldDescriptorProtoR\textension\x12A\n\x0bnested_type\x18\x03 \x03(\x0b2 .google.protobuf.DescriptorProtoR\nnestedType\x12A\n\tenum_type\x18\x04 \x03(\x0b2$.google.protobuf.EnumDescriptorProtoR\x08enumType\x12X\n\x0fextension_range\x18\x05 \x03(\x0b2/.google.protobuf.DescriptorProto.ExtensionRangeR\x0eextensionRange\x12D\n\noneof_decl\x18\x08 \x03(\x0b2%.google.protobuf.OneofDescriptorProtoR\toneofDecl\x129\n\x07options\x18\x07 \x01(\x0b2\x1f.google.protobuf.MessageOptionsR\x07options\x12U\n\x0ereserved_range\x18\t \x03(\x0b2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n\rreserved_name\x18\n \x03(\tR\x0creservedName\x1az\n\x0eExtensionRange\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03end\x12@\n\x07options\x18\x03 \x01(\x0b2&.google.protobuf.ExtensionRangeOptionsR\x07options\x1a7\n\rReservedRange\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03end\"|\n\x15ExtensionRangeOptions\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xc1\x06\n\x14FieldDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06number\x18\x03 \x01(\x05R\x06number\x12A\n\x05label\x18\x04 \x01(\x0e2+.google.protobuf.FieldDescriptorProto.LabelR\x05label\x12>\n\x04type\x18\x05 \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\x04type\x12\x1b\n\ttype_name\x18\x06 \x01(\tR\x08typeName\x12\x1a\n\x08extendee\x18\x02 \x01(\tR\x08extendee\x12#\n\rdefault_value\x18\x07 \x01(\tR\x0cdefaultValue\x12\x1f\n\x0boneof_index\x18\t \x01(\x05R\noneofIndex\x12\x1b\n\tjson_name\x18\n \x01(\tR\x08jsonName\x127\n\x07options\x18\x08 \x01(\x0b2\x1d.google.protobuf.FieldOptionsR\x07options\x12\'\n\x0fproto3_optional\x18\x11 \x01(\x08R\x0eproto3Optional\"\xb6\x02\n\x04Type\x12\x0f\n\x0bTYPE_DOUBLE\x10\x01\x12\x0e\n\nTYPE_FLOAT\x10\x02\x12\x0e\n\nTYPE_INT64\x10\x03\x12\x0f\n\x0bTYPE_UINT64\x10\x04\x12\x0e\n\nTYPE_INT32\x10\x05\x12\x10\n\x0cTYPE_FIXED64\x10\x06\x12\x10\n\x0cTYPE_FIXED32\x10\x07\x12\r\n\tTYPE_BOOL\x10\x08\x12\x0f\n\x0bTYPE_STRING\x10\t\x12\x0e\n\nTYPE_GROUP\x10\n\x12\x10\n\x0cTYPE_MESSAGE\x10\x0b\x12\x0e\n\nTYPE_BYTES\x10\x0c\x12\x0f\n\x0bTYPE_UINT32\x10\r\x12\r\n\tTYPE_ENUM\x10\x0e\x12\x11\n\rTYPE_SFIXED32\x10\x0f\x12\x11\n\rTYPE_SFIXED64\x10\x10\x12\x0f\n\x0bTYPE_SINT32\x10\x11\x12\x0f\n\x0bTYPE_SINT64\x10\x12\"C\n\x05Label\x12\x12\n\x0eLABEL_OPTIONAL\x10\x01\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\x12\x12\n\x0eLABEL_REPEATED\x10\x03\"c\n\x14OneofDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x127\n\x07options\x18\x02 \x01(\x0b2\x1d.google.protobuf.OneofOptionsR\x07options\"\xe3\x02\n\x13EnumDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12?\n\x05value\x18\x02 \x03(\x0b2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n\x07options\x18\x03 \x01(\x0b2\x1c.google.protobuf.EnumOptionsR\x07options\x12]\n\x0ereserved_range\x18\x04 \x03(\x0b26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n\rreserved_name\x18\x05 \x03(\tR\x0creservedName\x1a;\n\x11EnumReservedRange\x12\x14\n\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n\x18EnumValueDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06number\x18\x02 \x01(\x05R\x06number\x12;\n\x07options\x18\x03 \x01(\x0b2!.google.protobuf.EnumValueOptionsR\x07options\"\xa7\x01\n\x16ServiceDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12>\n\x06method\x18\x02 \x03(\x0b2&.google.protobuf.MethodDescriptorProtoR\x06method\x129\n\x07options\x18\x03 \x01(\x0b2\x1f.google.protobuf.ServiceOptionsR\x07options\"\x89\x02\n\x15MethodDescriptorProto\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\ninput_type\x18\x02 \x01(\tR\tinputType\x12\x1f\n\x0boutput_type\x18\x03 \x01(\tR\noutputType\x128\n\x07options\x18\x04 \x01(\x0b2\x1e.google.protobuf.MethodOptionsR\x07options\x120\n\x10client_streaming\x18\x05 \x01(\x08:\x05falseR\x0fclientStreaming\x120\n\x10server_streaming\x18\x06 \x01(\x08:\x05falseR\x0fserverStreaming\"\x91\t\n\x0bFileOptions\x12!\n\x0cjava_package\x18\x01 \x01(\tR\x0bjavaPackage\x120\n\x14java_outer_classname\x18\x08 \x01(\tR\x12javaOuterClassname\x125\n\x13java_multiple_files\x18\n \x01(\x08:\x05falseR\x11javaMultipleFiles\x12D\n\x1djava_generate_equals_and_hash\x18\x14 \x01(\x08B\x02\x18\x01R\x19javaGenerateEqualsAndHash\x12:\n\x16java_string_check_utf8\x18\x1b \x01(\x08:\x05falseR\x13javaStringCheckUtf8\x12S\n\x0coptimize_for\x18\t \x01(\x0e2).google.protobuf.FileOptions.OptimizeMode:\x05SPEEDR\x0boptimizeFor\x12\x1d\n\ngo_package\x18\x0b \x01(\tR\tgoPackage\x125\n\x13cc_generic_services\x18\x10 \x01(\x08:\x05falseR\x11ccGenericServices\x129\n\x15java_generic_services\x18\x11 \x01(\x08:\x05falseR\x13javaGenericServices\x125\n\x13py_generic_services\x18\x12 \x01(\x08:\x05falseR\x11pyGenericServices\x127\n\x14php_generic_services\x18* \x01(\x08:\x05falseR\x12phpGenericServices\x12%\n\ndeprecated\x18\x17 \x01(\x08:\x05falseR\ndeprecated\x12.\n\x10cc_enable_arenas\x18\x1f \x01(\x08:\x04trueR\x0eccEnableArenas\x12*\n\x11objc_class_prefix\x18$ \x01(\tR\x0fobjcClassPrefix\x12)\n\x10csharp_namespace\x18% \x01(\tR\x0fcsharpNamespace\x12!\n\x0cswift_prefix\x18\' \x01(\tR\x0bswiftPrefix\x12(\n\x10php_class_prefix\x18( \x01(\tR\x0ephpClassPrefix\x12#\n\rphp_namespace\x18) \x01(\tR\x0cphpNamespace\x124\n\x16php_metadata_namespace\x18, \x01(\tR\x14phpMetadataNamespace\x12!\n\x0cruby_package\x18- \x01(\tR\x0brubyPackage\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\":\n\x0cOptimizeMode\x12\t\n\x05SPEED\x10\x01\x12\r\n\tCODE_SIZE\x10\x02\x12\x10\n\x0cLITE_RUNTIME\x10\x03*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08&\x10\'\"\xe3\x02\n\x0eMessageOptions\x12<\n\x17message_set_wire_format\x18\x01 \x01(\x08:\x05falseR\x14messageSetWireFormat\x12L\n\x1fno_standard_descriptor_accessor\x18\x02 \x01(\x08:\x05falseR\x1cnoStandardDescriptorAccessor\x12%\n\ndeprecated\x18\x03 \x01(\x08:\x05falseR\ndeprecated\x12\x1b\n\tmap_entry\x18\x07 \x01(\x08R\x08mapEntry\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07J\x04\x08\x08\x10\tJ\x04\x08\t\x10\n\"\x92\x04\n\x0cFieldOptions\x12A\n\x05ctype\x18\x01 \x01(\x0e2#.google.protobuf.FieldOptions.CType:\x06STRINGR\x05ctype\x12\x16\n\x06packed\x18\x02 \x01(\x08R\x06packed\x12G\n\x06jstype\x18\x06 \x01(\x0e2$.google.protobuf.FieldOptions.JSType:\tJS_NORMALR\x06jstype\x12\x19\n\x04lazy\x18\x05 \x01(\x08:\x05falseR\x04lazy\x12.\n\x0funverified_lazy\x18\x0f \x01(\x08:\x05falseR\x0eunverifiedLazy\x12%\n\ndeprecated\x18\x03 \x01(\x08:\x05falseR\ndeprecated\x12\x19\n\x04weak\x18\n \x01(\x08:\x05falseR\x04weak\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\"/\n\x05CType\x12\n\n\x06STRING\x10\x00\x12\x08\n\x04CORD\x10\x01\x12\x10\n\x0cSTRING_PIECE\x10\x02\"5\n\x06JSType\x12\r\n\tJS_NORMAL\x10\x00\x12\r\n\tJS_STRING\x10\x01\x12\r\n\tJS_NUMBER\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05\"s\n\x0cOneofOptions\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xc0\x01\n\x0bEnumOptions\x12\x1f\n\x0ballow_alias\x18\x02 \x01(\x08R\nallowAlias\x12%\n\ndeprecated\x18\x03 \x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x05\x10\x06\"\x9e\x01\n\x10EnumValueOptions\x12%\n\ndeprecated\x18\x01 \x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9c\x01\n\x0eServiceOptions\x12%\n\ndeprecated\x18! \x01(\x08:\x05falseR\ndeprecated\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xe0\x02\n\rMethodOptions\x12%\n\ndeprecated\x18! \x01(\x08:\x05falseR\ndeprecated\x12q\n\x11idempotency_level\x18\" \x01(\x0e2/.google.protobuf.MethodOptions.IdempotencyLevel:\x13IDEMPOTENCY_UNKNOWNR\x10idempotencyLevel\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\"P\n\x10IdempotencyLevel\x12\x17\n\x13IDEMPOTENCY_UNKNOWN\x10\x00\x12\x13\n\x0fNO_SIDE_EFFECTS\x10\x01\x12\x0e\n\nIDEMPOTENT\x10\x02*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\x9a\x03\n\x13UninterpretedOption\x12A\n\x04name\x18\x02 \x03(\x0b2-.google.protobuf.UninterpretedOption.NamePartR\x04name\x12)\n\x10identifier_value\x18\x03 \x01(\tR\x0fidentifierValue\x12,\n\x12positive_int_value\x18\x04 \x01(\x04R\x10positiveIntValue\x12,\n\x12negative_int_value\x18\x05 \x01(\x03R\x10negativeIntValue\x12!\n\x0cdouble_value\x18\x06 \x01(\x01R\x0bdoubleValue\x12!\n\x0cstring_value\x18\x07 \x01(\x0cR\x0bstringValue\x12\'\n\x0faggregate_value\x18\x08 \x01(\tR\x0eaggregateValue\x1aJ\n\x08NamePart\x12\x1b\n\tname_part\x18\x01 \x02(\tR\x08namePart\x12!\n\x0cis_extension\x18\x02 \x02(\x08R\x0bisExtension\"\xa7\x02\n\x0eSourceCodeInfo\x12D\n\x08location\x18\x01 \x03(\x0b2(.google.protobuf.SourceCodeInfo.LocationR\x08location\x1a\xce\x01\n\x08Location\x12\x16\n\x04path\x18\x01 \x03(\x05B\x02\x10\x01R\x04path\x12\x16\n\x04span\x18\x02 \x03(\x05B\x02\x10\x01R\x04span\x12)\n\x10leading_comments\x18\x03 \x01(\tR\x0fleadingComments\x12+\n\x11trailing_comments\x18\x04 \x01(\tR\x10trailingComments\x12:\n\x19leading_detached_comments\x18\x06 \x03(\tR\x17leadingDetachedComments\"\xd1\x01\n\x11GeneratedCodeInfo\x12M\n\nannotation\x18\x01 \x03(\x0b2-.google.protobuf.GeneratedCodeInfo.AnnotationR\nannotation\x1am\n\nAnnotation\x12\x16\n\x04path\x18\x01 \x03(\x05B\x02\x10\x01R\x04path\x12\x1f\n\x0bsource_file\x18\x02 \x01(\tR\nsourceFile\x12\x14\n\x05begin\x18\x03 \x01(\x05R\x05begin\x12\x10\n\x03end\x18\x04 \x01(\x05R\x03endB~\n\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.ReflectionJ\xdb\xcd\x02\n\x07\x12\x05\'\x00\x98\x07\x01\n\xaa\x0f\n\x01\x0c\x12\x03\'\x00\x122\xc1\x0c Protocol Buffers - Google\'s data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n2\xdb\x02 Author: kenton@google.com (Kenton Varda)\n Based on original Protocol Buffers design by\n Sanjay Ghemawat, Jeff Dean, and others.\n\n The messages in this file describe the definitions found in .proto files.\n A valid .proto file can be translated directly to a FileDescriptorProto\n without any other information (e.g. without reading its imports).\n\n\x08\n\x01\x02\x12\x03)\x00\x18\n\x08\n\x01\x08\x12\x03+\x00D\n\t\n\x02\x08\x0b\x12\x03+\x00D\n\x08\n\x01\x08\x12\x03,\x00,\n\t\n\x02\x08\x01\x12\x03,\x00,\n\x08\n\x01\x08\x12\x03-\x001\n\t\n\x02\x08\x08\x12\x03-\x001\n\x08\n\x01\x08\x12\x03.\x007\n\t\n\x02\x08%\x12\x03.\x007\n\x08\n\x01\x08\x12\x03/\x00!\n\t\n\x02\x08$\x12\x03/\x00!\n\x08\n\x01\x08\x12\x030\x00\x1f\n\t\n\x02\x08\x1f\x12\x030\x00\x1f\n\x08\n\x01\x08\x12\x034\x00\x1c\n\x7f\n\x02\x08\t\x12\x034\x00\x1c\x1at descriptor.proto must be optimized for speed because reflection-based\n algorithms don\'t work during bootstrapping.\n\nj\n\x02\x04\x00\x12\x048\x00:\x01\x1a^ The protocol compiler can output a FileDescriptorSet containing the .proto\n files it parses.\n\n\n\n\x03\x04\x00\x01\x12\x038\x08\x19\n\x0b\n\x04\x04\x00\x02\x00\x12\x039\x02(\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x039\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x039\x0b\x1e\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x039\x1f#\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x039&\'\n/\n\x02\x04\x01\x12\x04=\x00Z\x01\x1a# Describes a complete .proto file.\n\n\n\n\x03\x04\x01\x01\x12\x03=\x08\x1b\n9\n\x04\x04\x01\x02\x00\x12\x03>\x02\x1b\", file name, relative to root of source tree\n\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03>\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03>\x0b\x11\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03>\x12\x16\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03>\x19\x1a\n*\n\x04\x04\x01\x02\x01\x12\x03?\x02\x1e\"\x1d e.g. \"foo\", \"foo.bar\", etc.\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03?\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03?\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03?\x12\x19\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03?\x1c\x1d\n4\n\x04\x04\x01\x02\x02\x12\x03B\x02!\x1a\' Names of files imported by this file.\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03B\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03B\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03B\x12\x1c\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03B\x1f \nQ\n\x04\x04\x01\x02\x03\x12\x03D\x02(\x1aD Indexes of the public imported files in the dependency list above.\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03D\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03D\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03D\x11\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03D%\'\nz\n\x04\x04\x01\x02\x04\x12\x03G\x02&\x1am Indexes of the weak imported files in the dependency list.\n For Google-internal migration only. Do not use.\n\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x03G\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03G\x0b\x10\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03G\x11 \n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03G#%\n6\n\x04\x04\x01\x02\x05\x12\x03J\x02,\x1a) All top-level definitions in this file.\n\n\x0c\n\x05\x04\x01\x02\x05\x04\x12\x03J\x02\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03J\x0b\x1a\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03J\x1b\'\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03J*+\n\x0b\n\x04\x04\x01\x02\x06\x12\x03K\x02-\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03K\x02\n\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03K\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03K\x1f(\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03K+,\n\x0b\n\x04\x04\x01\x02\x07\x12\x03L\x02.\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x03L\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x03L\x0b!\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03L\")\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03L,-\n\x0b\n\x04\x04\x01\x02\x08\x12\x03M\x02.\n\x0c\n\x05\x04\x01\x02\x08\x04\x12\x03M\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03M\x0b\x1f\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03M )\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03M,-\n\x0b\n\x04\x04\x01\x02\t\x12\x03O\x02#\n\x0c\n\x05\x04\x01\x02\t\x04\x12\x03O\x02\n\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x03O\x0b\x16\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03O\x17\x1e\n\x0c\n\x05\x04\x01\x02\t\x03\x12\x03O!\"\n\xf4\x01\n\x04\x04\x01\x02\n\x12\x03U\x02/\x1a\xe6\x01 This field contains optional information about the original source code.\n You may safely remove this entire field without harming runtime\n functionality of the descriptors -- the information is needed only by\n development tools.\n\n\x0c\n\x05\x04\x01\x02\n\x04\x12\x03U\x02\n\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x03U\x0b\x19\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03U\x1a*\n\x0c\n\x05\x04\x01\x02\n\x03\x12\x03U-.\n]\n\x04\x04\x01\x02\x0b\x12\x03Y\x02\x1e\x1aP The syntax of the proto file.\n The supported values are \"proto2\" and \"proto3\".\n\n\x0c\n\x05\x04\x01\x02\x0b\x04\x12\x03Y\x02\n\n\x0c\n\x05\x04\x01\x02\x0b\x05\x12\x03Y\x0b\x11\n\x0c\n\x05\x04\x01\x02\x0b\x01\x12\x03Y\x12\x18\n\x0c\n\x05\x04\x01\x02\x0b\x03\x12\x03Y\x1b\x1d\n\'\n\x02\x04\x02\x12\x04]\x00}\x01\x1a\x1b Describes a message type.\n\n\n\n\x03\x04\x02\x01\x12\x03]\x08\x17\n\x0b\n\x04\x04\x02\x02\x00\x12\x03^\x02\x1b\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03^\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03^\x0b\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03^\x12\x16\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03^\x19\x1a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03`\x02*\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03`\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03`\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03` %\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03`()\n\x0b\n\x04\x04\x02\x02\x02\x12\x03a\x02.\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03a\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03a\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03a )\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03a,-\n\x0b\n\x04\x04\x02\x02\x03\x12\x03c\x02+\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\x03c\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03c\x0b\x1a\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03c\x1b&\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03c)*\n\x0b\n\x04\x04\x02\x02\x04\x12\x03d\x02-\n\x0c\n\x05\x04\x02\x02\x04\x04\x12\x03d\x02\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03d\x0b\x1e\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03d\x1f(\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03d+,\n\x0c\n\x04\x04\x02\x03\x00\x12\x04f\x02k\x03\n\x0c\n\x05\x04\x02\x03\x00\x01\x12\x03f\n\x18\n\x1b\n\x06\x04\x02\x03\x00\x02\x00\x12\x03g\x04\x1d\"\x0c Inclusive.\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x04\x12\x03g\x04\x0c\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x03g\r\x12\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x03g\x13\x18\n\x0e\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x03g\x1b\x1c\n\x1b\n\x06\x04\x02\x03\x00\x02\x01\x12\x03h\x04\x1b\"\x0c Exclusive.\n\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x04\x12\x03h\x04\x0c\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x03h\r\x12\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x03h\x13\x16\n\x0e\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x03h\x19\x1a\n\r\n\x06\x04\x02\x03\x00\x02\x02\x12\x03j\x04/\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x04\x12\x03j\x04\x0c\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x06\x12\x03j\r\"\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x01\x12\x03j#*\n\x0e\n\x07\x04\x02\x03\x00\x02\x02\x03\x12\x03j-.\n\x0b\n\x04\x04\x02\x02\x05\x12\x03l\x02.\n\x0c\n\x05\x04\x02\x02\x05\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x03l\x0b\x19\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03l\x1a)\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03l,-\n\x0b\n\x04\x04\x02\x02\x06\x12\x03n\x02/\n\x0c\n\x05\x04\x02\x02\x06\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x02\x02\x06\x06\x12\x03n\x0b\x1f\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03n *\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03n-.\n\x0b\n\x04\x04\x02\x02\x07\x12\x03p\x02&\n\x0c\n\x05\x04\x02\x02\x07\x04\x12\x03p\x02\n\n\x0c\n\x05\x04\x02\x02\x07\x06\x12\x03p\x0b\x19\n\x0c\n\x05\x04\x02\x02\x07\x01\x12\x03p\x1a!\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03p$%\n\xaa\x01\n\x04\x04\x02\x03\x01\x12\x04u\x02x\x03\x1a\x9b\x01 Range of reserved tag numbers. Reserved tag numbers may not be used by\n fields or extension ranges in the same message. Reserved ranges may\n not overlap.\n\n\x0c\n\x05\x04\x02\x03\x01\x01\x12\x03u\n\x17\n\x1b\n\x06\x04\x02\x03\x01\x02\x00\x12\x03v\x04\x1d\"\x0c Inclusive.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x04\x12\x03v\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x05\x12\x03v\r\x12\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x03v\x13\x18\n\x0e\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x03v\x1b\x1c\n\x1b\n\x06\x04\x02\x03\x01\x02\x01\x12\x03w\x04\x1b\"\x0c Exclusive.\n\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x04\x12\x03w\x04\x0c\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x05\x12\x03w\r\x12\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x03w\x13\x16\n\x0e\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x03w\x19\x1a\n\x0b\n\x04\x04\x02\x02\x08\x12\x03y\x02,\n\x0c\n\x05\x04\x02\x02\x08\x04\x12\x03y\x02\n\n\x0c\n\x05\x04\x02\x02\x08\x06\x12\x03y\x0b\x18\n\x0c\n\x05\x04\x02\x02\x08\x01\x12\x03y\x19\'\n\x0c\n\x05\x04\x02\x02\x08\x03\x12\x03y*+\n\x82\x01\n\x04\x04\x02\x02\t\x12\x03|\x02%\x1au Reserved field names, which may not be used by fields in the same message.\n A given name may only be reserved once.\n\n\x0c\n\x05\x04\x02\x02\t\x04\x12\x03|\x02\n\n\x0c\n\x05\x04\x02\x02\t\x05\x12\x03|\x0b\x11\n\x0c\n\x05\x04\x02\x02\t\x01\x12\x03|\x12\x1f\n\x0c\n\x05\x04\x02\x02\t\x03\x12\x03|\"$\n\x0b\n\x02\x04\x03\x12\x05\x7f\x00\x86\x01\x01\n\n\n\x03\x04\x03\x01\x12\x03\x7f\x08\x1d\nO\n\x04\x04\x03\x02\x00\x12\x04\x81\x01\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x03\x02\x00\x04\x12\x04\x81\x01\x02\n\n\r\n\x05\x04\x03\x02\x00\x06\x12\x04\x81\x01\x0b\x1e\n\r\n\x05\x04\x03\x02\x00\x01\x12\x04\x81\x01\x1f3\n\r\n\x05\x04\x03\x02\x00\x03\x12\x04\x81\x0169\nZ\n\x03\x04\x03\x05\x12\x04\x85\x01\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x03\x05\x00\x12\x04\x85\x01\r\x18\n\r\n\x05\x04\x03\x05\x00\x01\x12\x04\x85\x01\r\x11\n\r\n\x05\x04\x03\x05\x00\x02\x12\x04\x85\x01\x15\x18\n3\n\x02\x04\x04\x12\x06\x89\x01\x00\xed\x01\x01\x1a% Describes a field within a message.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x89\x01\x08\x1c\n\x0e\n\x04\x04\x04\x04\x00\x12\x06\x8a\x01\x02\xa9\x01\x03\n\r\n\x05\x04\x04\x04\x00\x01\x12\x04\x8a\x01\x07\x0b\nS\n\x06\x04\x04\x04\x00\x02\x00\x12\x04\x8d\x01\x04\x14\x1aC 0 is reserved for errors.\n Order is weird for historical reasons.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x00\x01\x12\x04\x8d\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x00\x02\x12\x04\x8d\x01\x12\x13\n\x0e\n\x06\x04\x04\x04\x00\x02\x01\x12\x04\x8e\x01\x04\x13\n\x0f\n\x07\x04\x04\x04\x00\x02\x01\x01\x12\x04\x8e\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x01\x02\x12\x04\x8e\x01\x11\x12\nw\n\x06\x04\x04\x04\x00\x02\x02\x12\x04\x91\x01\x04\x13\x1ag Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n negative values are likely.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x02\x01\x12\x04\x91\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x02\x02\x12\x04\x91\x01\x11\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x03\x12\x04\x92\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\x00\x02\x03\x01\x12\x04\x92\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x03\x02\x12\x04\x92\x01\x12\x13\nw\n\x06\x04\x04\x04\x00\x02\x04\x12\x04\x95\x01\x04\x13\x1ag Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n negative values are likely.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x04\x01\x12\x04\x95\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x04\x02\x12\x04\x95\x01\x11\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x05\x12\x04\x96\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x05\x01\x12\x04\x96\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\x05\x02\x12\x04\x96\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\x06\x12\x04\x97\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x06\x01\x12\x04\x97\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\x06\x02\x12\x04\x97\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\x07\x12\x04\x98\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x00\x02\x07\x01\x12\x04\x98\x01\x04\r\n\x0f\n\x07\x04\x04\x04\x00\x02\x07\x02\x12\x04\x98\x01\x10\x11\n\x0e\n\x06\x04\x04\x04\x00\x02\x08\x12\x04\x99\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\x00\x02\x08\x01\x12\x04\x99\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x08\x02\x12\x04\x99\x01\x12\x13\n\xe2\x01\n\x06\x04\x04\x04\x00\x02\t\x12\x04\x9e\x01\x04\x14\x1a\xd1\x01 Tag-delimited aggregate.\n Group type is deprecated and not supported in proto3. However, Proto3\n implementations should still be able to parse the group wire format and\n treat group fields as unknown fields.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\t\x01\x12\x04\x9e\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\t\x02\x12\x04\x9e\x01\x11\x13\n-\n\x06\x04\x04\x04\x00\x02\n\x12\x04\x9f\x01\x04\x16\"\x1d Length-delimited aggregate.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\n\x01\x12\x04\x9f\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\n\x02\x12\x04\x9f\x01\x13\x15\n#\n\x06\x04\x04\x04\x00\x02\x0b\x12\x04\xa2\x01\x04\x14\x1a\x13 New in version 2.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x0b\x01\x12\x04\xa2\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x0b\x02\x12\x04\xa2\x01\x11\x13\n\x0e\n\x06\x04\x04\x04\x00\x02\x0c\x12\x04\xa3\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x0c\x01\x12\x04\xa3\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x0c\x02\x12\x04\xa3\x01\x12\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\r\x12\x04\xa4\x01\x04\x13\n\x0f\n\x07\x04\x04\x04\x00\x02\r\x01\x12\x04\xa4\x01\x04\r\n\x0f\n\x07\x04\x04\x04\x00\x02\r\x02\x12\x04\xa4\x01\x10\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x0e\x12\x04\xa5\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x00\x02\x0e\x01\x12\x04\xa5\x01\x04\x11\n\x0f\n\x07\x04\x04\x04\x00\x02\x0e\x02\x12\x04\xa5\x01\x14\x16\n\x0e\n\x06\x04\x04\x04\x00\x02\x0f\x12\x04\xa6\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x00\x02\x0f\x01\x12\x04\xa6\x01\x04\x11\n\x0f\n\x07\x04\x04\x04\x00\x02\x0f\x02\x12\x04\xa6\x01\x14\x16\n\'\n\x06\x04\x04\x04\x00\x02\x10\x12\x04\xa7\x01\x04\x15\"\x17 Uses ZigZag encoding.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x10\x01\x12\x04\xa7\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x10\x02\x12\x04\xa7\x01\x12\x14\n\'\n\x06\x04\x04\x04\x00\x02\x11\x12\x04\xa8\x01\x04\x15\"\x17 Uses ZigZag encoding.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x11\x01\x12\x04\xa8\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x11\x02\x12\x04\xa8\x01\x12\x14\n\x0e\n\x04\x04\x04\x04\x01\x12\x06\xab\x01\x02\xb0\x01\x03\n\r\n\x05\x04\x04\x04\x01\x01\x12\x04\xab\x01\x07\x0c\n*\n\x06\x04\x04\x04\x01\x02\x00\x12\x04\xad\x01\x04\x17\x1a\x1a 0 is reserved for errors\n\n\x0f\n\x07\x04\x04\x04\x01\x02\x00\x01\x12\x04\xad\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x00\x02\x12\x04\xad\x01\x15\x16\n\x0e\n\x06\x04\x04\x04\x01\x02\x01\x12\x04\xae\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x01\x12\x04\xae\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x02\x12\x04\xae\x01\x15\x16\n\x0e\n\x06\x04\x04\x04\x01\x02\x02\x12\x04\xaf\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x01\x12\x04\xaf\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x02\x12\x04\xaf\x01\x15\x16\n\x0c\n\x04\x04\x04\x02\x00\x12\x04\xb2\x01\x02\x1b\n\r\n\x05\x04\x04\x02\x00\x04\x12\x04\xb2\x01\x02\n\n\r\n\x05\x04\x04\x02\x00\x05\x12\x04\xb2\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\xb2\x01\x12\x16\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\xb2\x01\x19\x1a\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\xb3\x01\x02\x1c\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04\xb3\x01\x02\n\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\xb3\x01\x0b\x10\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xb3\x01\x11\x17\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xb3\x01\x1a\x1b\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\xb4\x01\x02\x1b\n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\xb4\x01\x02\n\n\r\n\x05\x04\x04\x02\x02\x06\x12\x04\xb4\x01\x0b\x10\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\xb4\x01\x11\x16\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\xb4\x01\x19\x1a\n\x9c\x01\n\x04\x04\x04\x02\x03\x12\x04\xb8\x01\x02\x19\x1a\x8d\x01 If type_name is set, this need not be set. If both this and type_name\n are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n\n\r\n\x05\x04\x04\x02\x03\x04\x12\x04\xb8\x01\x02\n\n\r\n\x05\x04\x04\x02\x03\x06\x12\x04\xb8\x01\x0b\x0f\n\r\n\x05\x04\x04\x02\x03\x01\x12\x04\xb8\x01\x10\x14\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\xb8\x01\x17\x18\n\xb7\x02\n\x04\x04\x04\x02\x04\x12\x04\xbf\x01\x02 \x1a\xa8\x02 For message and enum types, this is the name of the type. If the name\n starts with a \'.\', it is fully-qualified. Otherwise, C++-like scoping\n rules are used to find the type (i.e. first the nested types within this\n message are searched, then within the parent, on up to the root\n namespace).\n\n\r\n\x05\x04\x04\x02\x04\x04\x12\x04\xbf\x01\x02\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\xbf\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x04\x01\x12\x04\xbf\x01\x12\x1b\n\r\n\x05\x04\x04\x02\x04\x03\x12\x04\xbf\x01\x1e\x1f\n~\n\x04\x04\x04\x02\x05\x12\x04\xc3\x01\x02\x1f\x1ap For extensions, this is the name of the type being extended. It is\n resolved in the same manner as type_name.\n\n\r\n\x05\x04\x04\x02\x05\x04\x12\x04\xc3\x01\x02\n\n\r\n\x05\x04\x04\x02\x05\x05\x12\x04\xc3\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x05\x01\x12\x04\xc3\x01\x12\x1a\n\r\n\x05\x04\x04\x02\x05\x03\x12\x04\xc3\x01\x1d\x1e\n\x91\x02\n\x04\x04\x04\x02\x06\x12\x04\xc9\x01\x02$\x1a\x82\x02 For numeric types, contains the original text representation of the value.\n For booleans, \"true\" or \"false\".\n For strings, contains the default text contents (not escaped in any way).\n For bytes, contains the C escaped value. All bytes >= 128 are escaped.\n\n\r\n\x05\x04\x04\x02\x06\x04\x12\x04\xc9\x01\x02\n\n\r\n\x05\x04\x04\x02\x06\x05\x12\x04\xc9\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x06\x01\x12\x04\xc9\x01\x12\x1f\n\r\n\x05\x04\x04\x02\x06\x03\x12\x04\xc9\x01\"#\n\x84\x01\n\x04\x04\x04\x02\x07\x12\x04\xcd\x01\x02!\x1av If set, gives the index of a oneof in the containing type\'s oneof_decl\n list. This field is a member of that oneof.\n\n\r\n\x05\x04\x04\x02\x07\x04\x12\x04\xcd\x01\x02\n\n\r\n\x05\x04\x04\x02\x07\x05\x12\x04\xcd\x01\x0b\x10\n\r\n\x05\x04\x04\x02\x07\x01\x12\x04\xcd\x01\x11\x1c\n\r\n\x05\x04\x04\x02\x07\x03\x12\x04\xcd\x01\x1f \n\xfa\x01\n\x04\x04\x04\x02\x08\x12\x04\xd3\x01\x02!\x1a\xeb\x01 JSON name of this field. The value is set by protocol compiler. If the\n user has set a \"json_name\" option on this field, that option\'s value\n will be used. Otherwise, it\'s deduced from the field\'s name by converting\n it to camelCase.\n\n\r\n\x05\x04\x04\x02\x08\x04\x12\x04\xd3\x01\x02\n\n\r\n\x05\x04\x04\x02\x08\x05\x12\x04\xd3\x01\x0b\x11\n\r\n\x05\x04\x04\x02\x08\x01\x12\x04\xd3\x01\x12\x1b\n\r\n\x05\x04\x04\x02\x08\x03\x12\x04\xd3\x01\x1e \n\x0c\n\x04\x04\x04\x02\t\x12\x04\xd5\x01\x02$\n\r\n\x05\x04\x04\x02\t\x04\x12\x04\xd5\x01\x02\n\n\r\n\x05\x04\x04\x02\t\x06\x12\x04\xd5\x01\x0b\x17\n\r\n\x05\x04\x04\x02\t\x01\x12\x04\xd5\x01\x18\x1f\n\r\n\x05\x04\x04\x02\t\x03\x12\x04\xd5\x01\"#\n\xb3\t\n\x04\x04\x04\x02\n\x12\x04\xec\x01\x02%\x1a\xa4\t If true, this is a proto3 \"optional\". When a proto3 field is optional, it\n tracks presence regardless of field type.\n\n When proto3_optional is true, this field must be belong to a oneof to\n signal to old proto3 clients that presence is tracked for this field. This\n oneof is known as a \"synthetic\" oneof, and this field must be its sole\n member (each proto3 optional field gets its own synthetic oneof). Synthetic\n oneofs exist in the descriptor only, and do not generate any API. Synthetic\n oneofs must be ordered after all \"real\" oneofs.\n\n For message fields, proto3_optional doesn\'t create any semantic change,\n since non-repeated message fields always track presence. However it still\n indicates the semantic detail of whether the user wrote \"optional\" or not.\n This can be useful for round-tripping the .proto file. For consistency we\n give message fields a synthetic oneof also, even though it is not required\n to track presence. This is especially important because the parser can\'t\n tell if a field is a message or an enum, so it must always create a\n synthetic oneof.\n\n Proto2 optional fields do not set this flag, because they already indicate\n optional with `LABEL_OPTIONAL`.\n\n\r\n\x05\x04\x04\x02\n\x04\x12\x04\xec\x01\x02\n\n\r\n\x05\x04\x04\x02\n\x05\x12\x04\xec\x01\x0b\x0f\n\r\n\x05\x04\x04\x02\n\x01\x12\x04\xec\x01\x10\x1f\n\r\n\x05\x04\x04\x02\n\x03\x12\x04\xec\x01\"$\n\"\n\x02\x04\x05\x12\x06\xf0\x01\x00\xf3\x01\x01\x1a\x14 Describes a oneof.\n\n\x0b\n\x03\x04\x05\x01\x12\x04\xf0\x01\x08\x1c\n\x0c\n\x04\x04\x05\x02\x00\x12\x04\xf1\x01\x02\x1b\n\r\n\x05\x04\x05\x02\x00\x04\x12\x04\xf1\x01\x02\n\n\r\n\x05\x04\x05\x02\x00\x05\x12\x04\xf1\x01\x0b\x11\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\xf1\x01\x12\x16\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\xf1\x01\x19\x1a\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xf2\x01\x02$\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04\xf2\x01\x02\n\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\xf2\x01\x0b\x17\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xf2\x01\x18\x1f\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xf2\x01\"#\n\'\n\x02\x04\x06\x12\x06\xf6\x01\x00\x90\x02\x01\x1a\x19 Describes an enum type.\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xf6\x01\x08\x1b\n\x0c\n\x04\x04\x06\x02\x00\x12\x04\xf7\x01\x02\x1b\n\r\n\x05\x04\x06\x02\x00\x04\x12\x04\xf7\x01\x02\n\n\r\n\x05\x04\x06\x02\x00\x05\x12\x04\xf7\x01\x0b\x11\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xf7\x01\x12\x16\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xf7\x01\x19\x1a\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xf9\x01\x02.\n\r\n\x05\x04\x06\x02\x01\x04\x12\x04\xf9\x01\x02\n\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\xf9\x01\x0b#\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xf9\x01$)\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xf9\x01,-\n\x0c\n\x04\x04\x06\x02\x02\x12\x04\xfb\x01\x02#\n\r\n\x05\x04\x06\x02\x02\x04\x12\x04\xfb\x01\x02\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\xfb\x01\x0b\x16\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xfb\x01\x17\x1e\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xfb\x01!\"\n\xaf\x02\n\x04\x04\x06\x03\x00\x12\x06\x83\x02\x02\x86\x02\x03\x1a\x9e\x02 Range of reserved numeric values. Reserved values may not be used by\n entries in the same enum. Reserved ranges may not overlap.\n\n Note that this is distinct from DescriptorProto.ReservedRange in that it\n is inclusive such that it can appropriately represent the entire int32\n domain.\n\n\r\n\x05\x04\x06\x03\x00\x01\x12\x04\x83\x02\n\x1b\n\x1c\n\x06\x04\x06\x03\x00\x02\x00\x12\x04\x84\x02\x04\x1d\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x04\x12\x04\x84\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x05\x12\x04\x84\x02\r\x12\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x04\x84\x02\x13\x18\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x04\x84\x02\x1b\x1c\n\x1c\n\x06\x04\x06\x03\x00\x02\x01\x12\x04\x85\x02\x04\x1b\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x04\x12\x04\x85\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x04\x85\x02\r\x12\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x04\x85\x02\x13\x16\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x04\x85\x02\x19\x1a\n\xaa\x01\n\x04\x04\x06\x02\x03\x12\x04\x8b\x02\x020\x1a\x9b\x01 Range of reserved numeric values. Reserved numeric values may not be used\n by enum values in the same enum declaration. Reserved ranges may not\n overlap.\n\n\r\n\x05\x04\x06\x02\x03\x04\x12\x04\x8b\x02\x02\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\x8b\x02\x0b\x1c\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\x8b\x02\x1d+\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\x8b\x02./\nl\n\x04\x04\x06\x02\x04\x12\x04\x8f\x02\x02$\x1a^ Reserved enum value names, which may not be reused. A given name may only\n be reserved once.\n\n\r\n\x05\x04\x06\x02\x04\x04\x12\x04\x8f\x02\x02\n\n\r\n\x05\x04\x06\x02\x04\x05\x12\x04\x8f\x02\x0b\x11\n\r\n\x05\x04\x06\x02\x04\x01\x12\x04\x8f\x02\x12\x1f\n\r\n\x05\x04\x06\x02\x04\x03\x12\x04\x8f\x02\"#\n1\n\x02\x04\x07\x12\x06\x93\x02\x00\x98\x02\x01\x1a# Describes a value within an enum.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\x93\x02\x08 \n\x0c\n\x04\x04\x07\x02\x00\x12\x04\x94\x02\x02\x1b\n\r\n\x05\x04\x07\x02\x00\x04\x12\x04\x94\x02\x02\n\n\r\n\x05\x04\x07\x02\x00\x05\x12\x04\x94\x02\x0b\x11\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\x94\x02\x12\x16\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\x94\x02\x19\x1a\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\x95\x02\x02\x1c\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\x95\x02\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\x95\x02\x0b\x10\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\x95\x02\x11\x17\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x95\x02\x1a\x1b\n\x0c\n\x04\x04\x07\x02\x02\x12\x04\x97\x02\x02(\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\x97\x02\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\x97\x02\x0b\x1b\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\x97\x02\x1c#\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\x97\x02&\'\n$\n\x02\x04\x08\x12\x06\x9b\x02\x00\xa0\x02\x01\x1a\x16 Describes a service.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\x9b\x02\x08\x1e\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\x9c\x02\x02\x1b\n\r\n\x05\x04\x08\x02\x00\x04\x12\x04\x9c\x02\x02\n\n\r\n\x05\x04\x08\x02\x00\x05\x12\x04\x9c\x02\x0b\x11\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x9c\x02\x12\x16\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x9c\x02\x19\x1a\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\x9d\x02\x02,\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\x9d\x02\x02\n\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\x9d\x02\x0b \n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x9d\x02!\'\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x9d\x02*+\n\x0c\n\x04\x04\x08\x02\x02\x12\x04\x9f\x02\x02&\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\x9f\x02\x02\n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\x9f\x02\x0b\x19\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\x9f\x02\x1a!\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\x9f\x02$%\n0\n\x02\x04\t\x12\x06\xa3\x02\x00\xb1\x02\x01\x1a\" Describes a method of a service.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xa3\x02\x08\x1d\n\x0c\n\x04\x04\t\x02\x00\x12\x04\xa4\x02\x02\x1b\n\r\n\x05\x04\t\x02\x00\x04\x12\x04\xa4\x02\x02\n\n\r\n\x05\x04\t\x02\x00\x05\x12\x04\xa4\x02\x0b\x11\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\xa4\x02\x12\x16\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\xa4\x02\x19\x1a\n\x97\x01\n\x04\x04\t\x02\x01\x12\x04\xa8\x02\x02!\x1a\x88\x01 Input and output type names. These are resolved in the same way as\n FieldDescriptorProto.type_name, but must refer to a message type.\n\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\xa8\x02\x02\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\xa8\x02\x0b\x11\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xa8\x02\x12\x1c\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xa8\x02\x1f \n\x0c\n\x04\x04\t\x02\x02\x12\x04\xa9\x02\x02\"\n\r\n\x05\x04\t\x02\x02\x04\x12\x04\xa9\x02\x02\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\xa9\x02\x0b\x11\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xa9\x02\x12\x1d\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xa9\x02 !\n\x0c\n\x04\x04\t\x02\x03\x12\x04\xab\x02\x02%\n\r\n\x05\x04\t\x02\x03\x04\x12\x04\xab\x02\x02\n\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\xab\x02\x0b\x18\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\xab\x02\x19 \n\r\n\x05\x04\t\x02\x03\x03\x12\x04\xab\x02#$\nE\n\x04\x04\t\x02\x04\x12\x04\xae\x02\x027\x1a7 Identifies if client streams multiple client messages\n\n\r\n\x05\x04\t\x02\x04\x04\x12\x04\xae\x02\x02\n\n\r\n\x05\x04\t\x02\x04\x05\x12\x04\xae\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\xae\x02\x10 \n\r\n\x05\x04\t\x02\x04\x03\x12\x04\xae\x02#$\n\r\n\x05\x04\t\x02\x04\x08\x12\x04\xae\x02%6\n\r\n\x05\x04\t\x02\x04\x07\x12\x04\xae\x0205\nE\n\x04\x04\t\x02\x05\x12\x04\xb0\x02\x027\x1a7 Identifies if server streams multiple server messages\n\n\r\n\x05\x04\t\x02\x05\x04\x12\x04\xb0\x02\x02\n\n\r\n\x05\x04\t\x02\x05\x05\x12\x04\xb0\x02\x0b\x0f\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\xb0\x02\x10 \n\r\n\x05\x04\t\x02\x05\x03\x12\x04\xb0\x02#$\n\r\n\x05\x04\t\x02\x05\x08\x12\x04\xb0\x02%6\n\r\n\x05\x04\t\x02\x05\x07\x12\x04\xb0\x0205\n\xaf\x0e\n\x02\x04\n\x12\x06\xd4\x02\x00\xcf\x03\x012N ===================================================================\n Options\n2\xd0\r Each of the definitions above may have \"options\" attached. These are\n just annotations which may cause code to be generated slightly differently\n or may contain hints for code that manipulates protocol messages.\n\n Clients may define custom options as extensions of the *Options messages.\n These extensions may not yet be known at parsing time, so the parser cannot\n store the values in them. Instead it stores them in a field in the *Options\n message called uninterpreted_option. This field must have the same name\n across all *Options messages. We then use this field to populate the\n extensions when we build a descriptor, at which point all protos have been\n parsed and so all extensions are known.\n\n Extension numbers for custom options may be chosen as follows:\n * For options which will only be used within a single application or\n organization, or for experimental options, use field numbers 50000\n through 99999. It is up to you to ensure that you do not use the\n same number for multiple options.\n * For options which will be published and used publicly by multiple\n independent entities, e-mail protobuf-global-extension-registry@google.com\n to reserve extension numbers. Simply provide your project name (e.g.\n Objective-C plugin) and your project website (if available) -- there\'s no\n need to explain how you intend to use them. Usually you only need one\n extension number. You can declare multiple options with only one extension\n number by putting them in a sub-message. See the Custom Options section of\n the docs for examples:\n https://developers.google.com/protocol-buffers/docs/proto#options\n If this turns out to be popular, a web service will be set up\n to automatically assign option numbers.\n\n\x0b\n\x03\x04\n\x01\x12\x04\xd4\x02\x08\x13\n\xf4\x01\n\x04\x04\n\x02\x00\x12\x04\xda\x02\x02#\x1a\xe5\x01 Sets the Java package where classes generated from this .proto will be\n placed. By default, the proto package is used, but this is often\n inappropriate because proto packages do not normally start with backwards\n domain names.\n\n\r\n\x05\x04\n\x02\x00\x04\x12\x04\xda\x02\x02\n\n\r\n\x05\x04\n\x02\x00\x05\x12\x04\xda\x02\x0b\x11\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xda\x02\x12\x1e\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xda\x02!\"\n\xf1\x02\n\x04\x04\n\x02\x01\x12\x04\xe2\x02\x02+\x1a\xe2\x02 Controls the name of the wrapper Java class generated for the .proto file.\n That class will always contain the .proto file\'s getDescriptor() method as\n well as any top-level extensions defined in the .proto file.\n If java_multiple_files is disabled, then all the other classes from the\n .proto file will be nested inside the single wrapper outer class.\n\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\xe2\x02\x02\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xe2\x02\x0b\x11\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xe2\x02\x12&\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xe2\x02)*\n\xa6\x03\n\x04\x04\n\x02\x02\x12\x04\xea\x02\x02;\x1a\x97\x03 If enabled, then the Java code generator will generate a separate .java\n file for each top-level message, enum, and service defined in the .proto\n file. Thus, these types will *not* be nested inside the wrapper class\n named by java_outer_classname. However, the wrapper class will still be\n generated to contain the file\'s getDescriptor() method as well as any\n top-level extensions defined in the file.\n\n\r\n\x05\x04\n\x02\x02\x04\x12\x04\xea\x02\x02\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xea\x02\x0b\x0f\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xea\x02\x10#\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xea\x02&(\n\r\n\x05\x04\n\x02\x02\x08\x12\x04\xea\x02):\n\r\n\x05\x04\n\x02\x02\x07\x12\x04\xea\x0249\n)\n\x04\x04\n\x02\x03\x12\x04\xed\x02\x02E\x1a\x1b This option does nothing.\n\n\r\n\x05\x04\n\x02\x03\x04\x12\x04\xed\x02\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xed\x02\x0b\x0f\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xed\x02\x10-\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xed\x0202\n\r\n\x05\x04\n\x02\x03\x08\x12\x04\xed\x023D\n\x0e\n\x06\x04\n\x02\x03\x08\x03\x12\x04\xed\x024C\n\xe6\x02\n\x04\x04\n\x02\x04\x12\x04\xf5\x02\x02>\x1a\xd7\x02 If set true, then the Java2 code generator will generate code that\n throws an exception whenever an attempt is made to assign a non-UTF-8\n byte sequence to a string field.\n Message reflection will do the same.\n However, an extension field still accepts non-UTF-8 byte sequences.\n This option has no effect on when used with the lite runtime.\n\n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xf5\x02\x02\n\n\r\n\x05\x04\n\x02\x04\x05\x12\x04\xf5\x02\x0b\x0f\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xf5\x02\x10&\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xf5\x02)+\n\r\n\x05\x04\n\x02\x04\x08\x12\x04\xf5\x02,=\n\r\n\x05\x04\n\x02\x04\x07\x12\x04\xf5\x027<\nL\n\x04\x04\n\x04\x00\x12\x06\xf9\x02\x02\xfe\x02\x03\x1a< Generated classes can be optimized for speed or code size.\n\n\r\n\x05\x04\n\x04\x00\x01\x12\x04\xf9\x02\x07\x13\nD\n\x06\x04\n\x04\x00\x02\x00\x12\x04\xfa\x02\x04\x0e\"4 Generate complete code for parsing, serialization,\n\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x01\x12\x04\xfa\x02\x04\t\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x02\x12\x04\xfa\x02\x0c\r\nG\n\x06\x04\n\x04\x00\x02\x01\x12\x04\xfc\x02\x04\x12\x1a\x06 etc.\n\"/ Use ReflectionOps to implement these methods.\n\n\x0f\n\x07\x04\n\x04\x00\x02\x01\x01\x12\x04\xfc\x02\x04\r\n\x0f\n\x07\x04\n\x04\x00\x02\x01\x02\x12\x04\xfc\x02\x10\x11\nG\n\x06\x04\n\x04\x00\x02\x02\x12\x04\xfd\x02\x04\x15\"7 Generate code using MessageLite and the lite runtime.\n\n\x0f\n\x07\x04\n\x04\x00\x02\x02\x01\x12\x04\xfd\x02\x04\x10\n\x0f\n\x07\x04\n\x04\x00\x02\x02\x02\x12\x04\xfd\x02\x13\x14\n\x0c\n\x04\x04\n\x02\x05\x12\x04\xff\x02\x02;\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\xff\x02\x02\n\n\r\n\x05\x04\n\x02\x05\x06\x12\x04\xff\x02\x0b\x17\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xff\x02\x18$\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xff\x02\'(\n\r\n\x05\x04\n\x02\x05\x08\x12\x04\xff\x02):\n\r\n\x05\x04\n\x02\x05\x07\x12\x04\xff\x0249\n\xe2\x02\n\x04\x04\n\x02\x06\x12\x04\x86\x03\x02\"\x1a\xd3\x02 Sets the Go package where structs generated from this .proto will be\n placed. If omitted, the Go package will be derived from the following:\n - The basename of the package import path, if provided.\n - Otherwise, the package statement in the .proto file, if present.\n - Otherwise, the basename of the .proto file, without extension.\n\n\r\n\x05\x04\n\x02\x06\x04\x12\x04\x86\x03\x02\n\n\r\n\x05\x04\n\x02\x06\x05\x12\x04\x86\x03\x0b\x11\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\x86\x03\x12\x1c\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\x86\x03\x1f!\n\xd4\x04\n\x04\x04\n\x02\x07\x12\x04\x95\x03\x02;\x1a\xc5\x04 Should generic services be generated in each language? \"Generic\" services\n are not specific to any particular RPC system. They are generated by the\n main code generators in each language (without additional plugins).\n Generic services were the only kind of service generation supported by\n early versions of google.protobuf.\n\n Generic services are now considered deprecated in favor of using plugins\n that generate code specific to your particular RPC system. Therefore,\n these default to false. Old code which depends on generic services should\n explicitly set them to true.\n\n\r\n\x05\x04\n\x02\x07\x04\x12\x04\x95\x03\x02\n\n\r\n\x05\x04\n\x02\x07\x05\x12\x04\x95\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x07\x01\x12\x04\x95\x03\x10#\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\x95\x03&(\n\r\n\x05\x04\n\x02\x07\x08\x12\x04\x95\x03):\n\r\n\x05\x04\n\x02\x07\x07\x12\x04\x95\x0349\n\x0c\n\x04\x04\n\x02\x08\x12\x04\x96\x03\x02=\n\r\n\x05\x04\n\x02\x08\x04\x12\x04\x96\x03\x02\n\n\r\n\x05\x04\n\x02\x08\x05\x12\x04\x96\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\x96\x03\x10%\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\x96\x03(*\n\r\n\x05\x04\n\x02\x08\x08\x12\x04\x96\x03+<\n\r\n\x05\x04\n\x02\x08\x07\x12\x04\x96\x036;\n\x0c\n\x04\x04\n\x02\t\x12\x04\x97\x03\x02;\n\r\n\x05\x04\n\x02\t\x04\x12\x04\x97\x03\x02\n\n\r\n\x05\x04\n\x02\t\x05\x12\x04\x97\x03\x0b\x0f\n\r\n\x05\x04\n\x02\t\x01\x12\x04\x97\x03\x10#\n\r\n\x05\x04\n\x02\t\x03\x12\x04\x97\x03&(\n\r\n\x05\x04\n\x02\t\x08\x12\x04\x97\x03):\n\r\n\x05\x04\n\x02\t\x07\x12\x04\x97\x0349\n\x0c\n\x04\x04\n\x02\n\x12\x04\x98\x03\x02<\n\r\n\x05\x04\n\x02\n\x04\x12\x04\x98\x03\x02\n\n\r\n\x05\x04\n\x02\n\x05\x12\x04\x98\x03\x0b\x0f\n\r\n\x05\x04\n\x02\n\x01\x12\x04\x98\x03\x10$\n\r\n\x05\x04\n\x02\n\x03\x12\x04\x98\x03\')\n\r\n\x05\x04\n\x02\n\x08\x12\x04\x98\x03*;\n\r\n\x05\x04\n\x02\n\x07\x12\x04\x98\x035:\n\xf3\x01\n\x04\x04\n\x02\x0b\x12\x04\x9e\x03\x022\x1a\xe4\x01 Is this file deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for everything in the file, or it will be completely ignored; in the very\n least, this is a formalization for deprecating files.\n\n\r\n\x05\x04\n\x02\x0b\x04\x12\x04\x9e\x03\x02\n\n\r\n\x05\x04\n\x02\x0b\x05\x12\x04\x9e\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x0b\x01\x12\x04\x9e\x03\x10\x1a\n\r\n\x05\x04\n\x02\x0b\x03\x12\x04\x9e\x03\x1d\x1f\n\r\n\x05\x04\n\x02\x0b\x08\x12\x04\x9e\x03 1\n\r\n\x05\x04\n\x02\x0b\x07\x12\x04\x9e\x03+0\n\x7f\n\x04\x04\n\x02\x0c\x12\x04\xa2\x03\x027\x1aq Enables the use of arenas for the proto messages in this file. This applies\n only to generated classes for C++.\n\n\r\n\x05\x04\n\x02\x0c\x04\x12\x04\xa2\x03\x02\n\n\r\n\x05\x04\n\x02\x0c\x05\x12\x04\xa2\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x0c\x01\x12\x04\xa2\x03\x10 \n\r\n\x05\x04\n\x02\x0c\x03\x12\x04\xa2\x03#%\n\r\n\x05\x04\n\x02\x0c\x08\x12\x04\xa2\x03&6\n\r\n\x05\x04\n\x02\x0c\x07\x12\x04\xa2\x0315\n\x92\x01\n\x04\x04\n\x02\r\x12\x04\xa7\x03\x02)\x1a\x83\x01 Sets the objective c class prefix which is prepended to all objective c\n generated classes from this .proto. There is no default.\n\n\r\n\x05\x04\n\x02\r\x04\x12\x04\xa7\x03\x02\n\n\r\n\x05\x04\n\x02\r\x05\x12\x04\xa7\x03\x0b\x11\n\r\n\x05\x04\n\x02\r\x01\x12\x04\xa7\x03\x12#\n\r\n\x05\x04\n\x02\r\x03\x12\x04\xa7\x03&(\nI\n\x04\x04\n\x02\x0e\x12\x04\xaa\x03\x02(\x1a; Namespace for generated classes; defaults to the package.\n\n\r\n\x05\x04\n\x02\x0e\x04\x12\x04\xaa\x03\x02\n\n\r\n\x05\x04\n\x02\x0e\x05\x12\x04\xaa\x03\x0b\x11\n\r\n\x05\x04\n\x02\x0e\x01\x12\x04\xaa\x03\x12\"\n\r\n\x05\x04\n\x02\x0e\x03\x12\x04\xaa\x03%\'\n\x91\x02\n\x04\x04\n\x02\x0f\x12\x04\xb0\x03\x02$\x1a\x82\x02 By default Swift generators will take the proto package and CamelCase it\n replacing \'.\' with underscore and use that to prefix the types/symbols\n defined. When this options is provided, they will use this value instead\n to prefix the types/symbols defined.\n\n\r\n\x05\x04\n\x02\x0f\x04\x12\x04\xb0\x03\x02\n\n\r\n\x05\x04\n\x02\x0f\x05\x12\x04\xb0\x03\x0b\x11\n\r\n\x05\x04\n\x02\x0f\x01\x12\x04\xb0\x03\x12\x1e\n\r\n\x05\x04\n\x02\x0f\x03\x12\x04\xb0\x03!#\n~\n\x04\x04\n\x02\x10\x12\x04\xb4\x03\x02(\x1ap Sets the php class prefix which is prepended to all php generated classes\n from this .proto. Default is empty.\n\n\r\n\x05\x04\n\x02\x10\x04\x12\x04\xb4\x03\x02\n\n\r\n\x05\x04\n\x02\x10\x05\x12\x04\xb4\x03\x0b\x11\n\r\n\x05\x04\n\x02\x10\x01\x12\x04\xb4\x03\x12\"\n\r\n\x05\x04\n\x02\x10\x03\x12\x04\xb4\x03%\'\n\xbe\x01\n\x04\x04\n\x02\x11\x12\x04\xb9\x03\x02%\x1a\xaf\x01 Use this option to change the namespace of php generated classes. Default\n is empty. When this option is empty, the package name will be used for\n determining the namespace.\n\n\r\n\x05\x04\n\x02\x11\x04\x12\x04\xb9\x03\x02\n\n\r\n\x05\x04\n\x02\x11\x05\x12\x04\xb9\x03\x0b\x11\n\r\n\x05\x04\n\x02\x11\x01\x12\x04\xb9\x03\x12\x1f\n\r\n\x05\x04\n\x02\x11\x03\x12\x04\xb9\x03\"$\n\xca\x01\n\x04\x04\n\x02\x12\x12\x04\xbe\x03\x02.\x1a\xbb\x01 Use this option to change the namespace of php generated metadata classes.\n Default is empty. When this option is empty, the proto file name will be\n used for determining the namespace.\n\n\r\n\x05\x04\n\x02\x12\x04\x12\x04\xbe\x03\x02\n\n\r\n\x05\x04\n\x02\x12\x05\x12\x04\xbe\x03\x0b\x11\n\r\n\x05\x04\n\x02\x12\x01\x12\x04\xbe\x03\x12(\n\r\n\x05\x04\n\x02\x12\x03\x12\x04\xbe\x03+-\n\xc2\x01\n\x04\x04\n\x02\x13\x12\x04\xc3\x03\x02$\x1a\xb3\x01 Use this option to change the package of ruby generated classes. Default\n is empty. When this option is not set, the package name will be used for\n determining the ruby package.\n\n\r\n\x05\x04\n\x02\x13\x04\x12\x04\xc3\x03\x02\n\n\r\n\x05\x04\n\x02\x13\x05\x12\x04\xc3\x03\x0b\x11\n\r\n\x05\x04\n\x02\x13\x01\x12\x04\xc3\x03\x12\x1e\n\r\n\x05\x04\n\x02\x13\x03\x12\x04\xc3\x03!#\n|\n\x04\x04\n\x02\x14\x12\x04\xc8\x03\x02:\x1an The parser stores options it doesn\'t recognize here.\n See the documentation for the \"Options\" section above.\n\n\r\n\x05\x04\n\x02\x14\x04\x12\x04\xc8\x03\x02\n\n\r\n\x05\x04\n\x02\x14\x06\x12\x04\xc8\x03\x0b\x1e\n\r\n\x05\x04\n\x02\x14\x01\x12\x04\xc8\x03\x1f3\n\r\n\x05\x04\n\x02\x14\x03\x12\x04\xc8\x0369\n\x87\x01\n\x03\x04\n\x05\x12\x04\xcc\x03\x02\x19\x1az Clients can define custom options in extensions of this message.\n See the documentation for the \"Options\" section above.\n\n\x0c\n\x04\x04\n\x05\x00\x12\x04\xcc\x03\r\x18\n\r\n\x05\x04\n\x05\x00\x01\x12\x04\xcc\x03\r\x11\n\r\n\x05\x04\n\x05\x00\x02\x12\x04\xcc\x03\x15\x18\n\x0b\n\x03\x04\n\t\x12\x04\xce\x03\x02\x0e\n\x0c\n\x04\x04\n\t\x00\x12\x04\xce\x03\x0b\r\n\r\n\x05\x04\n\t\x00\x01\x12\x04\xce\x03\x0b\r\n\r\n\x05\x04\n\t\x00\x02\x12\x04\xce\x03\x0b\r\n\x0c\n\x02\x04\x0b\x12\x06\xd1\x03\x00\x93\x04\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xd1\x03\x08\x16\n\xd8\x05\n\x04\x04\x0b\x02\x00\x12\x04\xe4\x03\x02>\x1a\xc9\x05 Set true to use the old proto1 MessageSet wire format for extensions.\n This is provided for backwards-compatibility with the MessageSet wire\n format. You should not use this for any other reason: It\'s less\n efficient, has fewer features, and is more complicated.\n\n The message must be defined exactly as follows:\n message Foo {\n option message_set_wire_format = true;\n extensions 4 to max;\n }\n Note that the message cannot have any defined fields; MessageSets only\n have extensions.\n\n All extensions of your type must be singular messages; e.g. they cannot\n be int32s, enums, or repeated messages.\n\n Because this is an option, the above two restrictions are not enforced by\n the protocol compiler.\n\n\r\n\x05\x04\x0b\x02\x00\x04\x12\x04\xe4\x03\x02\n\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\xe4\x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xe4\x03\x10\'\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xe4\x03*+\n\r\n\x05\x04\x0b\x02\x00\x08\x12\x04\xe4\x03,=\n\r\n\x05\x04\x0b\x02\x00\x07\x12\x04\xe4\x037<\n\xeb\x01\n\x04\x04\x0b\x02\x01\x12\x04\xe9\x03\x02F\x1a\xdc\x01 Disables the generation of the standard \"descriptor()\" accessor, which can\n conflict with a field of the same name. This is meant to make migration\n from proto1 easier; new code should avoid fields named \"descriptor\".\n\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xe9\x03\x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xe9\x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xe9\x03\x10/\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xe9\x0323\n\r\n\x05\x04\x0b\x02\x01\x08\x12\x04\xe9\x034E\n\r\n\x05\x04\x0b\x02\x01\x07\x12\x04\xe9\x03?D\n\xee\x01\n\x04\x04\x0b\x02\x02\x12\x04\xef\x03\x021\x1a\xdf\x01 Is this message deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the message, or it will be completely ignored; in the very least,\n this is a formalization for deprecating messages.\n\n\r\n\x05\x04\x0b\x02\x02\x04\x12\x04\xef\x03\x02\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xef\x03\x0b\x0f\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xef\x03\x10\x1a\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xef\x03\x1d\x1e\n\r\n\x05\x04\x0b\x02\x02\x08\x12\x04\xef\x03\x1f0\n\r\n\x05\x04\x0b\x02\x02\x07\x12\x04\xef\x03*/\n\x0b\n\x03\x04\x0b\t\x12\x04\xf1\x03\x02\x13\n\x0c\n\x04\x04\x0b\t\x00\x12\x04\xf1\x03\x0b\x0c\n\r\n\x05\x04\x0b\t\x00\x01\x12\x04\xf1\x03\x0b\x0c\n\r\n\x05\x04\x0b\t\x00\x02\x12\x04\xf1\x03\x0b\x0c\n\x0c\n\x04\x04\x0b\t\x01\x12\x04\xf1\x03\x0e\x0f\n\r\n\x05\x04\x0b\t\x01\x01\x12\x04\xf1\x03\x0e\x0f\n\r\n\x05\x04\x0b\t\x01\x02\x12\x04\xf1\x03\x0e\x0f\n\x0c\n\x04\x04\x0b\t\x02\x12\x04\xf1\x03\x11\x12\n\r\n\x05\x04\x0b\t\x02\x01\x12\x04\xf1\x03\x11\x12\n\r\n\x05\x04\x0b\t\x02\x02\x12\x04\xf1\x03\x11\x12\n\xa0\x06\n\x04\x04\x0b\x02\x03\x12\x04\x88\x04\x02\x1e\x1a\x91\x06 Whether the message is an automatically generated map entry type for the\n maps field.\n\n For maps fields:\n map<KeyType, ValueType> map_field = 1;\n The parsed descriptor looks like:\n message MapFieldEntry {\n option map_entry = true;\n optional KeyType key = 1;\n optional ValueType value = 2;\n }\n repeated MapFieldEntry map_field = 1;\n\n Implementations may choose not to generate the map_entry=true message, but\n use a native map in the target language to hold the keys and values.\n The reflection APIs in such implementations still need to work as\n if the field is a repeated message field.\n\n NOTE: Do not set the option in .proto files. Always use the maps syntax\n instead. The option should only be implicitly set by the proto compiler\n parser.\n\n\r\n\x05\x04\x0b\x02\x03\x04\x12\x04\x88\x04\x02\n\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\x88\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\x88\x04\x10\x19\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x88\x04\x1c\x1d\n$\n\x03\x04\x0b\t\x12\x04\x8a\x04\x02\r\"\x17 javalite_serializable\n\n\x0c\n\x04\x04\x0b\t\x03\x12\x04\x8a\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\x01\x12\x04\x8a\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\x02\x12\x04\x8a\x04\x0b\x0c\n\x1f\n\x03\x04\x0b\t\x12\x04\x8b\x04\x02\r\"\x12 javanano_as_lite\n\n\x0c\n\x04\x04\x0b\t\x04\x12\x04\x8b\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x04\x01\x12\x04\x8b\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x04\x02\x12\x04\x8b\x04\x0b\x0c\nO\n\x04\x04\x0b\x02\x04\x12\x04\x8f\x04\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\x8f\x04\x02\n\n\r\n\x05\x04\x0b\x02\x04\x06\x12\x04\x8f\x04\x0b\x1e\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\x8f\x04\x1f3\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\x8f\x0469\nZ\n\x03\x04\x0b\x05\x12\x04\x92\x04\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0b\x05\x00\x12\x04\x92\x04\r\x18\n\r\n\x05\x04\x0b\x05\x00\x01\x12\x04\x92\x04\r\x11\n\r\n\x05\x04\x0b\x05\x00\x02\x12\x04\x92\x04\x15\x18\n\x0c\n\x02\x04\x0c\x12\x06\x95\x04\x00\xfb\x04\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\x95\x04\x08\x14\n\xa3\x02\n\x04\x04\x0c\x02\x00\x12\x04\x9a\x04\x02.\x1a\x94\x02 The ctype option instructs the C++ code generator to use a different\n representation of the field than it normally would. See the specific\n options below. This option is not yet implemented in the open source\n release -- sorry, we\'ll try to include it in a future version!\n\n\r\n\x05\x04\x0c\x02\x00\x04\x12\x04\x9a\x04\x02\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\x9a\x04\x0b\x10\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x9a\x04\x11\x16\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x9a\x04\x19\x1a\n\r\n\x05\x04\x0c\x02\x00\x08\x12\x04\x9a\x04\x1b-\n\r\n\x05\x04\x0c\x02\x00\x07\x12\x04\x9a\x04&,\n\x0e\n\x04\x04\x0c\x04\x00\x12\x06\x9b\x04\x02\xa2\x04\x03\n\r\n\x05\x04\x0c\x04\x00\x01\x12\x04\x9b\x04\x07\x0c\n\x1f\n\x06\x04\x0c\x04\x00\x02\x00\x12\x04\x9d\x04\x04\x0f\x1a\x0f Default mode.\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x01\x12\x04\x9d\x04\x04\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x02\x12\x04\x9d\x04\r\x0e\n\x0e\n\x06\x04\x0c\x04\x00\x02\x01\x12\x04\x9f\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x01\x12\x04\x9f\x04\x04\x08\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x02\x12\x04\x9f\x04\x0b\x0c\n\x0e\n\x06\x04\x0c\x04\x00\x02\x02\x12\x04\xa1\x04\x04\x15\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x01\x12\x04\xa1\x04\x04\x10\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x02\x12\x04\xa1\x04\x13\x14\n\xda\x02\n\x04\x04\x0c\x02\x01\x12\x04\xa8\x04\x02\x1b\x1a\xcb\x02 The packed option can be enabled for repeated primitive fields to enable\n a more efficient representation on the wire. Rather than repeatedly\n writing the tag and type for each element, the entire array is encoded as\n a single length-delimited blob. In proto3, only explicit setting it to\n false will avoid using packed encoding.\n\n\r\n\x05\x04\x0c\x02\x01\x04\x12\x04\xa8\x04\x02\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\xa8\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa8\x04\x10\x16\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xa8\x04\x19\x1a\n\x9a\x05\n\x04\x04\x0c\x02\x02\x12\x04\xb5\x04\x023\x1a\x8b\x05 The jstype option determines the JavaScript type used for values of the\n field. The option is permitted only for 64 bit integral and fixed types\n (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING\n is represented as JavaScript string, which avoids loss of precision that\n can happen when a large value is converted to a floating point JavaScript.\n Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n use the JavaScript \"number\" type. The behavior of the default option\n JS_NORMAL is implementation dependent.\n\n This option is an enum to permit additional types to be added, e.g.\n goog.math.Integer.\n\n\r\n\x05\x04\x0c\x02\x02\x04\x12\x04\xb5\x04\x02\n\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\xb5\x04\x0b\x11\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\xb5\x04\x12\x18\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xb5\x04\x1b\x1c\n\r\n\x05\x04\x0c\x02\x02\x08\x12\x04\xb5\x04\x1d2\n\r\n\x05\x04\x0c\x02\x02\x07\x12\x04\xb5\x04(1\n\x0e\n\x04\x04\x0c\x04\x01\x12\x06\xb6\x04\x02\xbf\x04\x03\n\r\n\x05\x04\x0c\x04\x01\x01\x12\x04\xb6\x04\x07\r\n\'\n\x06\x04\x0c\x04\x01\x02\x00\x12\x04\xb8\x04\x04\x12\x1a\x17 Use the default type.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x00\x01\x12\x04\xb8\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x00\x02\x12\x04\xb8\x04\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x01\x12\x04\xbb\x04\x04\x12\x1a\x19 Use JavaScript strings.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x01\x01\x12\x04\xbb\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x01\x02\x12\x04\xbb\x04\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x02\x12\x04\xbe\x04\x04\x12\x1a\x19 Use JavaScript numbers.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x01\x12\x04\xbe\x04\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x02\x12\x04\xbe\x04\x10\x11\n\xd6\x0e\n\x04\x04\x0c\x02\x03\x12\x04\xe3\x04\x02+\x1a\xc7\x0e Should this field be parsed lazily? Lazy applies only to message-type\n fields. It means that when the outer message is initially parsed, the\n inner message\'s contents will not be parsed but instead stored in encoded\n form. The inner message will actually be parsed when it is first accessed.\n\n This is only a hint. Implementations are free to choose whether to use\n eager or lazy parsing regardless of the value of this option. However,\n setting this option true suggests that the protocol author believes that\n using lazy parsing on this field is worth the additional bookkeeping\n overhead typically needed to implement it.\n\n This option does not affect the public interface of any generated code;\n all method signatures remain the same. Furthermore, thread-safety of the\n interface is not affected by this option; const methods remain safe to\n call from multiple threads concurrently, while non-const methods continue\n to require exclusive access.\n\n\n Note that implementations may choose not to check required fields within\n a lazy sub-message. That is, calling IsInitialized() on the outer message\n may return true even if the inner message has missing required fields.\n This is necessary because otherwise the inner message would have to be\n parsed in order to perform the check, defeating the purpose of lazy\n parsing. An implementation which chooses not to check required fields\n must be consistent about it. That is, for any particular sub-message, the\n implementation must either *always* check its required fields, or *never*\n check its required fields, regardless of whether or not the message has\n been parsed.\n\n As of 2021, lazy does no correctness checks on the byte stream during\n parsing. This may lead to crashes if and when an invalid byte stream is\n finally parsed upon access.\n\n TODO(b/211906113): Enable validation on lazy fields.\n\n\r\n\x05\x04\x0c\x02\x03\x04\x12\x04\xe3\x04\x02\n\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\xe3\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xe3\x04\x10\x14\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xe3\x04\x17\x18\n\r\n\x05\x04\x0c\x02\x03\x08\x12\x04\xe3\x04\x19*\n\r\n\x05\x04\x0c\x02\x03\x07\x12\x04\xe3\x04$)\n\xaf\x01\n\x04\x04\x0c\x02\x04\x12\x04\xe8\x04\x027\x1a\xa0\x01 unverified_lazy does no correctness checks on the byte stream. This should\n only be used where lazy with verification is prohibitive for performance\n reasons.\n\n\r\n\x05\x04\x0c\x02\x04\x04\x12\x04\xe8\x04\x02\n\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\xe8\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xe8\x04\x10\x1f\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xe8\x04\"$\n\r\n\x05\x04\x0c\x02\x04\x08\x12\x04\xe8\x04%6\n\r\n\x05\x04\x0c\x02\x04\x07\x12\x04\xe8\x0405\n\xe8\x01\n\x04\x04\x0c\x02\x05\x12\x04\xee\x04\x021\x1a\xd9\x01 Is this field deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for accessors, or it will be completely ignored; in the very least, this\n is a formalization for deprecating fields.\n\n\r\n\x05\x04\x0c\x02\x05\x04\x12\x04\xee\x04\x02\n\n\r\n\x05\x04\x0c\x02\x05\x05\x12\x04\xee\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xee\x04\x10\x1a\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xee\x04\x1d\x1e\n\r\n\x05\x04\x0c\x02\x05\x08\x12\x04\xee\x04\x1f0\n\r\n\x05\x04\x0c\x02\x05\x07\x12\x04\xee\x04*/\n?\n\x04\x04\x0c\x02\x06\x12\x04\xf1\x04\x02,\x1a1 For Google-internal migration only. Do not use.\n\n\r\n\x05\x04\x0c\x02\x06\x04\x12\x04\xf1\x04\x02\n\n\r\n\x05\x04\x0c\x02\x06\x05\x12\x04\xf1\x04\x0b\x0f\n\r\n\x05\x04\x0c\x02\x06\x01\x12\x04\xf1\x04\x10\x14\n\r\n\x05\x04\x0c\x02\x06\x03\x12\x04\xf1\x04\x17\x19\n\r\n\x05\x04\x0c\x02\x06\x08\x12\x04\xf1\x04\x1a+\n\r\n\x05\x04\x0c\x02\x06\x07\x12\x04\xf1\x04%*\nO\n\x04\x04\x0c\x02\x07\x12\x04\xf5\x04\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0c\x02\x07\x04\x12\x04\xf5\x04\x02\n\n\r\n\x05\x04\x0c\x02\x07\x06\x12\x04\xf5\x04\x0b\x1e\n\r\n\x05\x04\x0c\x02\x07\x01\x12\x04\xf5\x04\x1f3\n\r\n\x05\x04\x0c\x02\x07\x03\x12\x04\xf5\x0469\nZ\n\x03\x04\x0c\x05\x12\x04\xf8\x04\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0c\x05\x00\x12\x04\xf8\x04\r\x18\n\r\n\x05\x04\x0c\x05\x00\x01\x12\x04\xf8\x04\r\x11\n\r\n\x05\x04\x0c\x05\x00\x02\x12\x04\xf8\x04\x15\x18\n\x1c\n\x03\x04\x0c\t\x12\x04\xfa\x04\x02\r\"\x0f removed jtype\n\n\x0c\n\x04\x04\x0c\t\x00\x12\x04\xfa\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x01\x12\x04\xfa\x04\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x02\x12\x04\xfa\x04\x0b\x0c\n\x0c\n\x02\x04\r\x12\x06\xfd\x04\x00\x83\x05\x01\n\x0b\n\x03\x04\r\x01\x12\x04\xfd\x04\x08\x14\nO\n\x04\x04\r\x02\x00\x12\x04\xff\x04\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\r\x02\x00\x04\x12\x04\xff\x04\x02\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xff\x04\x0b\x1e\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xff\x04\x1f3\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xff\x0469\nZ\n\x03\x04\r\x05\x12\x04\x82\x05\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\r\x05\x00\x12\x04\x82\x05\r\x18\n\r\n\x05\x04\r\x05\x00\x01\x12\x04\x82\x05\r\x11\n\r\n\x05\x04\r\x05\x00\x02\x12\x04\x82\x05\x15\x18\n\x0c\n\x02\x04\x0e\x12\x06\x85\x05\x00\x98\x05\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\x85\x05\x08\x13\n`\n\x04\x04\x0e\x02\x00\x12\x04\x89\x05\x02 \x1aR Set this option to true to allow mapping different tag names to the same\n value.\n\n\r\n\x05\x04\x0e\x02\x00\x04\x12\x04\x89\x05\x02\n\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\x89\x05\x0b\x0f\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x89\x05\x10\x1b\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x89\x05\x1e\x1f\n\xe5\x01\n\x04\x04\x0e\x02\x01\x12\x04\x8f\x05\x021\x1a\xd6\x01 Is this enum deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum, or it will be completely ignored; in the very least, this\n is a formalization for deprecating enums.\n\n\r\n\x05\x04\x0e\x02\x01\x04\x12\x04\x8f\x05\x02\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\x8f\x05\x0b\x0f\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\x8f\x05\x10\x1a\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\x8f\x05\x1d\x1e\n\r\n\x05\x04\x0e\x02\x01\x08\x12\x04\x8f\x05\x1f0\n\r\n\x05\x04\x0e\x02\x01\x07\x12\x04\x8f\x05*/\n\x1f\n\x03\x04\x0e\t\x12\x04\x91\x05\x02\r\"\x12 javanano_as_lite\n\n\x0c\n\x04\x04\x0e\t\x00\x12\x04\x91\x05\x0b\x0c\n\r\n\x05\x04\x0e\t\x00\x01\x12\x04\x91\x05\x0b\x0c\n\r\n\x05\x04\x0e\t\x00\x02\x12\x04\x91\x05\x0b\x0c\nO\n\x04\x04\x0e\x02\x02\x12\x04\x94\x05\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0e\x02\x02\x04\x12\x04\x94\x05\x02\n\n\r\n\x05\x04\x0e\x02\x02\x06\x12\x04\x94\x05\x0b\x1e\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\x94\x05\x1f3\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\x94\x0569\nZ\n\x03\x04\x0e\x05\x12\x04\x97\x05\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0e\x05\x00\x12\x04\x97\x05\r\x18\n\r\n\x05\x04\x0e\x05\x00\x01\x12\x04\x97\x05\r\x11\n\r\n\x05\x04\x0e\x05\x00\x02\x12\x04\x97\x05\x15\x18\n\x0c\n\x02\x04\x0f\x12\x06\x9a\x05\x00\xa6\x05\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\x9a\x05\x08\x18\n\xf7\x01\n\x04\x04\x0f\x02\x00\x12\x04\x9f\x05\x021\x1a\xe8\x01 Is this enum value deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum value, or it will be completely ignored; in the very least,\n this is a formalization for deprecating enum values.\n\n\r\n\x05\x04\x0f\x02\x00\x04\x12\x04\x9f\x05\x02\n\n\r\n\x05\x04\x0f\x02\x00\x05\x12\x04\x9f\x05\x0b\x0f\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\x9f\x05\x10\x1a\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\x9f\x05\x1d\x1e\n\r\n\x05\x04\x0f\x02\x00\x08\x12\x04\x9f\x05\x1f0\n\r\n\x05\x04\x0f\x02\x00\x07\x12\x04\x9f\x05*/\nO\n\x04\x04\x0f\x02\x01\x12\x04\xa2\x05\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0f\x02\x01\x04\x12\x04\xa2\x05\x02\n\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xa2\x05\x0b\x1e\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xa2\x05\x1f3\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xa2\x0569\nZ\n\x03\x04\x0f\x05\x12\x04\xa5\x05\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x0f\x05\x00\x12\x04\xa5\x05\r\x18\n\r\n\x05\x04\x0f\x05\x00\x01\x12\x04\xa5\x05\r\x11\n\r\n\x05\x04\x0f\x05\x00\x02\x12\x04\xa5\x05\x15\x18\n\x0c\n\x02\x04\x10\x12\x06\xa8\x05\x00\xba\x05\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xa8\x05\x08\x16\n\xd9\x03\n\x04\x04\x10\x02\x00\x12\x04\xb3\x05\x022\x1a\xdf\x01 Is this service deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the service, or it will be completely ignored; in the very least,\n this is a formalization for deprecating services.\n2\xe8\x01 Note: Field numbers 1 through 32 are reserved for Google\'s internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n\n\r\n\x05\x04\x10\x02\x00\x04\x12\x04\xb3\x05\x02\n\n\r\n\x05\x04\x10\x02\x00\x05\x12\x04\xb3\x05\x0b\x0f\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xb3\x05\x10\x1a\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xb3\x05\x1d\x1f\n\r\n\x05\x04\x10\x02\x00\x08\x12\x04\xb3\x05 1\n\r\n\x05\x04\x10\x02\x00\x07\x12\x04\xb3\x05+0\nO\n\x04\x04\x10\x02\x01\x12\x04\xb6\x05\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\xb6\x05\x02\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xb6\x05\x0b\x1e\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xb6\x05\x1f3\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xb6\x0569\nZ\n\x03\x04\x10\x05\x12\x04\xb9\x05\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x10\x05\x00\x12\x04\xb9\x05\r\x18\n\r\n\x05\x04\x10\x05\x00\x01\x12\x04\xb9\x05\r\x11\n\r\n\x05\x04\x10\x05\x00\x02\x12\x04\xb9\x05\x15\x18\n\x0c\n\x02\x04\x11\x12\x06\xbc\x05\x00\xd9\x05\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xbc\x05\x08\x15\n\xd6\x03\n\x04\x04\x11\x02\x00\x12\x04\xc7\x05\x022\x1a\xdc\x01 Is this method deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the method, or it will be completely ignored; in the very least,\n this is a formalization for deprecating methods.\n2\xe8\x01 Note: Field numbers 1 through 32 are reserved for Google\'s internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n\n\r\n\x05\x04\x11\x02\x00\x04\x12\x04\xc7\x05\x02\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xc7\x05\x0b\x0f\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xc7\x05\x10\x1a\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xc7\x05\x1d\x1f\n\r\n\x05\x04\x11\x02\x00\x08\x12\x04\xc7\x05 1\n\r\n\x05\x04\x11\x02\x00\x07\x12\x04\xc7\x05+0\n\xf0\x01\n\x04\x04\x11\x04\x00\x12\x06\xcc\x05\x02\xd0\x05\x03\x1a\xdf\x01 Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n or neither? HTTP based RPC implementation may choose GET verb for safe\n methods, and PUT verb for idempotent methods instead of the default POST.\n\n\r\n\x05\x04\x11\x04\x00\x01\x12\x04\xcc\x05\x07\x17\n\x0e\n\x06\x04\x11\x04\x00\x02\x00\x12\x04\xcd\x05\x04\x1c\n\x0f\n\x07\x04\x11\x04\x00\x02\x00\x01\x12\x04\xcd\x05\x04\x17\n\x0f\n\x07\x04\x11\x04\x00\x02\x00\x02\x12\x04\xcd\x05\x1a\x1b\n$\n\x06\x04\x11\x04\x00\x02\x01\x12\x04\xce\x05\x04\x18\"\x14 implies idempotent\n\n\x0f\n\x07\x04\x11\x04\x00\x02\x01\x01\x12\x04\xce\x05\x04\x13\n\x0f\n\x07\x04\x11\x04\x00\x02\x01\x02\x12\x04\xce\x05\x16\x17\n7\n\x06\x04\x11\x04\x00\x02\x02\x12\x04\xcf\x05\x04\x13\"\' idempotent, but may have side effects\n\n\x0f\n\x07\x04\x11\x04\x00\x02\x02\x01\x12\x04\xcf\x05\x04\x0e\n\x0f\n\x07\x04\x11\x04\x00\x02\x02\x02\x12\x04\xcf\x05\x11\x12\n\x0e\n\x04\x04\x11\x02\x01\x12\x06\xd1\x05\x02\xd2\x05&\n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\xd1\x05\x02\n\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\xd1\x05\x0b\x1b\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xd1\x05\x1c-\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xd1\x0502\n\r\n\x05\x04\x11\x02\x01\x08\x12\x04\xd2\x05\x06%\n\r\n\x05\x04\x11\x02\x01\x07\x12\x04\xd2\x05\x11$\nO\n\x04\x04\x11\x02\x02\x12\x04\xd5\x05\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x11\x02\x02\x04\x12\x04\xd5\x05\x02\n\n\r\n\x05\x04\x11\x02\x02\x06\x12\x04\xd5\x05\x0b\x1e\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xd5\x05\x1f3\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xd5\x0569\nZ\n\x03\x04\x11\x05\x12\x04\xd8\x05\x02\x19\x1aM Clients can define custom options in extensions of this message. See above.\n\n\x0c\n\x04\x04\x11\x05\x00\x12\x04\xd8\x05\r\x18\n\r\n\x05\x04\x11\x05\x00\x01\x12\x04\xd8\x05\r\x11\n\r\n\x05\x04\x11\x05\x00\x02\x12\x04\xd8\x05\x15\x18\n\x8b\x03\n\x02\x04\x12\x12\x06\xe2\x05\x00\xf6\x05\x01\x1a\xfc\x02 A message representing a option the parser does not recognize. This only\n appears in options protos created by the compiler::Parser class.\n DescriptorPool resolves these when building Descriptor objects. Therefore,\n options protos in descriptor objects (e.g. returned by Descriptor::options(),\n or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n in them.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xe2\x05\x08\x1b\n\xcb\x02\n\x04\x04\x12\x03\x00\x12\x06\xe8\x05\x02\xeb\x05\x03\x1a\xba\x02 The name of the uninterpreted option. Each string represents a segment in\n a dot-separated name. is_extension is true iff a segment represents an\n extension (denoted with parentheses in options specs in .proto files).\n E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"moo\", false] } represents\n \"foo.(bar.baz).moo\".\n\n\r\n\x05\x04\x12\x03\x00\x01\x12\x04\xe8\x05\n\x12\n\x0e\n\x06\x04\x12\x03\x00\x02\x00\x12\x04\xe9\x05\x04\"\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x04\x12\x04\xe9\x05\x04\x0c\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x05\x12\x04\xe9\x05\r\x13\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x01\x12\x04\xe9\x05\x14\x1d\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x03\x12\x04\xe9\x05 !\n\x0e\n\x06\x04\x12\x03\x00\x02\x01\x12\x04\xea\x05\x04#\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x04\x12\x04\xea\x05\x04\x0c\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x05\x12\x04\xea\x05\r\x11\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x01\x12\x04\xea\x05\x12\x1e\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x03\x12\x04\xea\x05!\"\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xec\x05\x02\x1d\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xec\x05\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xec\x05\x0b\x13\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xec\x05\x14\x18\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xec\x05\x1b\x1c\n\x9c\x01\n\x04\x04\x12\x02\x01\x12\x04\xf0\x05\x02\'\x1a\x8d\x01 The value of the uninterpreted option, in whatever type the tokenizer\n identified it as during parsing. Exactly one of these should be set.\n\n\r\n\x05\x04\x12\x02\x01\x04\x12\x04\xf0\x05\x02\n\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\xf0\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xf0\x05\x12\"\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xf0\x05%&\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\xf1\x05\x02)\n\r\n\x05\x04\x12\x02\x02\x04\x12\x04\xf1\x05\x02\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xf1\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\xf1\x05\x12$\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\xf1\x05\'(\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xf2\x05\x02(\n\r\n\x05\x04\x12\x02\x03\x04\x12\x04\xf2\x05\x02\n\n\r\n\x05\x04\x12\x02\x03\x05\x12\x04\xf2\x05\x0b\x10\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\xf2\x05\x11#\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\xf2\x05&\'\n\x0c\n\x04\x04\x12\x02\x04\x12\x04\xf3\x05\x02#\n\r\n\x05\x04\x12\x02\x04\x04\x12\x04\xf3\x05\x02\n\n\r\n\x05\x04\x12\x02\x04\x05\x12\x04\xf3\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\xf3\x05\x12\x1e\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\xf3\x05!\"\n\x0c\n\x04\x04\x12\x02\x05\x12\x04\xf4\x05\x02\"\n\r\n\x05\x04\x12\x02\x05\x04\x12\x04\xf4\x05\x02\n\n\r\n\x05\x04\x12\x02\x05\x05\x12\x04\xf4\x05\x0b\x10\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\xf4\x05\x11\x1d\n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\xf4\x05 !\n\x0c\n\x04\x04\x12\x02\x06\x12\x04\xf5\x05\x02&\n\r\n\x05\x04\x12\x02\x06\x04\x12\x04\xf5\x05\x02\n\n\r\n\x05\x04\x12\x02\x06\x05\x12\x04\xf5\x05\x0b\x11\n\r\n\x05\x04\x12\x02\x06\x01\x12\x04\xf5\x05\x12!\n\r\n\x05\x04\x12\x02\x06\x03\x12\x04\xf5\x05$%\n\xda\x01\n\x02\x04\x13\x12\x06\xfd\x05\x00\xfe\x06\x01\x1aj Encapsulates information about the original source file from which a\n FileDescriptorProto was generated.\n2` ===================================================================\n Optional source code info\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xfd\x05\x08\x16\n\x82\x11\n\x04\x04\x13\x02\x00\x12\x04\xa9\x06\x02!\x1a\xf3\x10 A Location identifies a piece of source code in a .proto file which\n corresponds to a particular definition. This information is intended\n to be useful to IDEs, code indexers, documentation generators, and similar\n tools.\n\n For example, say we have a file like:\n message Foo {\n optional string foo = 1;\n }\n Let\'s look at just the field definition:\n optional string foo = 1;\n ^ ^^ ^^ ^ ^^^\n a bc de f ghi\n We have the following locations:\n span path represents\n [a,i) [ 4, 0, 2, 0 ] The whole field definition.\n [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).\n [c,d) [ 4, 0, 2, 0, 5 ] The type (string).\n [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).\n [g,h) [ 4, 0, 2, 0, 3 ] The number (1).\n\n Notes:\n - A location may refer to a repeated field itself (i.e. not to any\n particular index within it). This is used whenever a set of elements are\n logically enclosed in a single code segment. For example, an entire\n extend block (possibly containing multiple extension definitions) will\n have an outer location whose path refers to the \"extensions\" repeated\n field without an index.\n - Multiple locations may have the same path. This happens when a single\n logical declaration is spread out across multiple places. The most\n obvious example is the \"extend\" block again -- there may be multiple\n extend blocks in the same scope, each of which will have the same path.\n - A location\'s span is not always a subset of its parent\'s span. For\n example, the \"extendee\" of an extension declaration appears at the\n beginning of the \"extend\" block and is shared by all extensions within\n the block.\n - Just because a location\'s span is a subset of some other location\'s span\n does not mean that it is a descendant. For example, a \"group\" defines\n both a type and a field in a single declaration. Thus, the locations\n corresponding to the type and field and their components will overlap.\n - Code which tries to interpret locations should probably be designed to\n ignore those that it doesn\'t understand, as more types of locations could\n be recorded in the future.\n\n\r\n\x05\x04\x13\x02\x00\x04\x12\x04\xa9\x06\x02\n\n\r\n\x05\x04\x13\x02\x00\x06\x12\x04\xa9\x06\x0b\x13\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xa9\x06\x14\x1c\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xa9\x06\x1f \n\x0e\n\x04\x04\x13\x03\x00\x12\x06\xaa\x06\x02\xfd\x06\x03\n\r\n\x05\x04\x13\x03\x00\x01\x12\x04\xaa\x06\n\x12\n\x89\x07\n\x06\x04\x13\x03\x00\x02\x00\x12\x04\xc2\x06\x04,\x1a\xf8\x06 Identifies which part of the FileDescriptorProto was defined at this\n location.\n\n Each element is a field number or an index. They form a path from\n the root FileDescriptorProto to the place where the definition occurs.\n For example, this path:\n [ 4, 3, 2, 7, 1 ]\n refers to:\n file.message_type(3) // 4, 3\n .field(7) // 2, 7\n .name() // 1\n This is because FileDescriptorProto.message_type has field number 4:\n repeated DescriptorProto message_type = 4;\n and DescriptorProto.field has field number 2:\n repeated FieldDescriptorProto field = 2;\n and FieldDescriptorProto.name has field number 1:\n optional string name = 1;\n\n Thus, the above path gives the location of a field name. If we removed\n the last element:\n [ 4, 3, 2, 7 ]\n this path refers to the whole field declaration (from the beginning\n of the label to the terminating semicolon).\n\n\x0f\n\x07\x04\x13\x03\x00\x02\x00\x04\x12\x04\xc2\x06\x04\x0c\n\x0f\n\x07\x04\x13\x03\x00\x02\x00\x05\x12\x04\xc2\x06\r\x12\n\x0f\n\x07\x04\x13\x03\x00\x02\x00\x01\x12\x04\xc2\x06\x13\x17\n\x0f\n\x07\x04\x13\x03\x00\x02\x00\x03\x12\x04\xc2\x06\x1a\x1b\n\x0f\n\x07\x04\x13\x03\x00\x02\x00\x08\x12\x04\xc2\x06\x1c+\n\x10\n\x08\x04\x13\x03\x00\x02\x00\x08\x02\x12\x04\xc2\x06\x1d*\n\xd2\x02\n\x06\x04\x13\x03\x00\x02\x01\x12\x04\xc9\x06\x04,\x1a\xc1\x02 Always has exactly three or four elements: start line, start column,\n end line (optional, otherwise assumed same as start line), end column.\n These are packed into a single field for efficiency. Note that line\n and column numbers are zero-based -- typically you will want to add\n 1 to each before displaying to a user.\n\n\x0f\n\x07\x04\x13\x03\x00\x02\x01\x04\x12\x04\xc9\x06\x04\x0c\n\x0f\n\x07\x04\x13\x03\x00\x02\x01\x05\x12\x04\xc9\x06\r\x12\n\x0f\n\x07\x04\x13\x03\x00\x02\x01\x01\x12\x04\xc9\x06\x13\x17\n\x0f\n\x07\x04\x13\x03\x00\x02\x01\x03\x12\x04\xc9\x06\x1a\x1b\n\x0f\n\x07\x04\x13\x03\x00\x02\x01\x08\x12\x04\xc9\x06\x1c+\n\x10\n\x08\x04\x13\x03\x00\x02\x01\x08\x02\x12\x04\xc9\x06\x1d*\n\xa5\x0c\n\x06\x04\x13\x03\x00\x02\x02\x12\x04\xfa\x06\x04)\x1a\x94\x0c If this SourceCodeInfo represents a complete declaration, these are any\n comments appearing before and after the declaration which appear to be\n attached to the declaration.\n\n A series of line comments appearing on consecutive lines, with no other\n tokens appearing on those lines, will be treated as a single comment.\n\n leading_detached_comments will keep paragraphs of comments that appear\n before (but not connected to) the current element. Each paragraph,\n separated by empty lines, will be one comment element in the repeated\n field.\n\n Only the comment content is provided; comment markers (e.g. //) are\n stripped out. For block comments, leading whitespace and an asterisk\n will be stripped from the beginning of each line other than the first.\n Newlines are included in the output.\n\n Examples:\n\n optional int32 foo = 1; // Comment attached to foo.\n // Comment attached to bar.\n optional int32 bar = 2;\n\n optional string baz = 3;\n // Comment attached to baz.\n // Another line attached to baz.\n\n // Comment attached to moo.\n //\n // Another line attached to moo.\n optional double moo = 4;\n\n // Detached comment for corge. This is not leading or trailing comments\n // to moo or corge because there are blank lines separating it from\n // both.\n\n // Detached comment for corge paragraph 2.\n\n optional string corge = 5;\n /* Block comment attached\n * to corge. Leading asterisks\n * will be removed. */\n /* Block comment attached to\n * grault. */\n optional int32 grault = 6;\n\n // ignored detached comments.\n\n\x0f\n\x07\x04\x13\x03\x00\x02\x02\x04\x12\x04\xfa\x06\x04\x0c\n\x0f\n\x07\x04\x13\x03\x00\x02\x02\x05\x12\x04\xfa\x06\r\x13\n\x0f\n\x07\x04\x13\x03\x00\x02\x02\x01\x12\x04\xfa\x06\x14$\n\x0f\n\x07\x04\x13\x03\x00\x02\x02\x03\x12\x04\xfa\x06\'(\n\x0e\n\x06\x04\x13\x03\x00\x02\x03\x12\x04\xfb\x06\x04*\n\x0f\n\x07\x04\x13\x03\x00\x02\x03\x04\x12\x04\xfb\x06\x04\x0c\n\x0f\n\x07\x04\x13\x03\x00\x02\x03\x05\x12\x04\xfb\x06\r\x13\n\x0f\n\x07\x04\x13\x03\x00\x02\x03\x01\x12\x04\xfb\x06\x14%\n\x0f\n\x07\x04\x13\x03\x00\x02\x03\x03\x12\x04\xfb\x06()\n\x0e\n\x06\x04\x13\x03\x00\x02\x04\x12\x04\xfc\x06\x042\n\x0f\n\x07\x04\x13\x03\x00\x02\x04\x04\x12\x04\xfc\x06\x04\x0c\n\x0f\n\x07\x04\x13\x03\x00\x02\x04\x05\x12\x04\xfc\x06\r\x13\n\x0f\n\x07\x04\x13\x03\x00\x02\x04\x01\x12\x04\xfc\x06\x14-\n\x0f\n\x07\x04\x13\x03\x00\x02\x04\x03\x12\x04\xfc\x0601\n\xee\x01\n\x02\x04\x14\x12\x06\x83\x07\x00\x98\x07\x01\x1a\xdf\x01 Describes the relationship between generated code and its original source\n file. A GeneratedCodeInfo message is associated with only one generated\n source file, but may contain references to different source .proto files.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\x83\x07\x08\x19\nx\n\x04\x04\x14\x02\x00\x12\x04\x86\x07\x02%\x1aj An Annotation connects some span of text in generated code to an element\n of its generating .proto file.\n\n\r\n\x05\x04\x14\x02\x00\x04\x12\x04\x86\x07\x02\n\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\x86\x07\x0b\x15\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\x86\x07\x16 \n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\x86\x07#$\n\x0e\n\x04\x04\x14\x03\x00\x12\x06\x87\x07\x02\x97\x07\x03\n\r\n\x05\x04\x14\x03\x00\x01\x12\x04\x87\x07\n\x14\n\x8f\x01\n\x06\x04\x14\x03\x00\x02\x00\x12\x04\x8a\x07\x04,\x1a\x7f Identifies the element in the original source .proto file. This field\n is formatted the same as SourceCodeInfo.Location.path.\n\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x04\x12\x04\x8a\x07\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x05\x12\x04\x8a\x07\r\x12\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x01\x12\x04\x8a\x07\x13\x17\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x03\x12\x04\x8a\x07\x1a\x1b\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x08\x12\x04\x8a\x07\x1c+\n\x10\n\x08\x04\x14\x03\x00\x02\x00\x08\x02\x12\x04\x8a\x07\x1d*\nO\n\x06\x04\x14\x03\x00\x02\x01\x12\x04\x8d\x07\x04$\x1a? Identifies the filesystem path to the original source .proto.\n\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x04\x12\x04\x8d\x07\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x05\x12\x04\x8d\x07\r\x13\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x01\x12\x04\x8d\x07\x14\x1f\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x03\x12\x04\x8d\x07\"#\nw\n\x06\x04\x14\x03\x00\x02\x02\x12\x04\x91\x07\x04\x1d\x1ag Identifies the starting offset in bytes in the generated code\n that relates to the identified object.\n\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x04\x12\x04\x91\x07\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x05\x12\x04\x91\x07\r\x12\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x01\x12\x04\x91\x07\x13\x18\n\x0f\n\x07\x04\x14\x03\x00\x02\x02\x03\x12\x04\x91\x07\x1b\x1c\n\xdb\x01\n\x06\x04\x14\x03\x00\x02\x03\x12\x04\x96\x07\x04\x1b\x1a\xca\x01 Identifies the ending offset in bytes in the generated code that\n relates to the identified offset. The end offset should be one past\n the last relevant byte (so the length of the text = end - begin).\n\n\x0f\n\x07\x04\x14\x03\x00\x02\x03\x04\x12\x04\x96\x07\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x03\x05\x12\x04\x96\x07\r\x12\n\x0f\n\x07\x04\x14\x03\x00\x02\x03\x01\x12\x04\x96\x07\x13\x16\n\x0f\n\x07\x04\x14\x03\x00\x02\x03\x03\x12\x04\x96\x07\x19\x1a\n\x8e\n\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:K\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b2\x14.google.api.HttpRuleR\x04httpBn\n\x0ecom.google.apiB\x10AnnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIJ\xe3\x07\n\x06\x12\x04\x12\x00!\x01\n\x89\x06\n\x01\x0c\x12\x03\x12\x00\x122\xfe\x05 Copyright 2025 Google LLC\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n Vendored from github.com/googleapis/googleapis, trimmed to the definitions\n (upstream doc comments removed). Consumed at build time only, to compile the\n google.api.http annotations in ../../v2/*.proto.\n\n\x08\n\x01\x02\x12\x03\x14\x00\x13\n\t\n\x02\x03\x00\x12\x03\x16\x00\x1f\n\t\n\x02\x03\x01\x12\x03\x17\x00*\n\x08\n\x01\x08\x12\x03\x19\x00X\n\t\n\x02\x08\x0b\x12\x03\x19\x00X\n\x08\n\x01\x08\x12\x03\x1a\x00\"\n\t\n\x02\x08\n\x12\x03\x1a\x00\"\n\x08\n\x01\x08\x12\x03\x1b\x001\n\t\n\x02\x08\x08\x12\x03\x1b\x001\n\x08\n\x01\x08\x12\x03\x1c\x00\'\n\t\n\x02\x08\x01\x12\x03\x1c\x00\'\n\x08\n\x01\x08\x12\x03\x1d\x00\"\n\t\n\x02\x08$\x12\x03\x1d\x00\"\n\t\n\x01\x07\x12\x04\x1f\x00!\x01\n\t\n\x02\x07\x00\x12\x03 \x02\x1b\n\n\n\x03\x07\x00\x02\x12\x03\x1f\x07$\n\n\n\x03\x07\x00\x06\x12\x03 \x02\n\n\n\n\x03\x07\x00\x01\x12\x03 \x0b\x0f\n\n\n\x03\x07\x00\x03\x12\x03 \x12\x1ab\x06proto3\n\xbb}\n\x0fv2/common.proto\x12\x0fespresso.api.v2\" \n\x0cBLSPublicKey\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\"$\n\x10SchnorrPublicKey\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\"K\n\x0fPeerConnectInfo\x12\x19\n\x08p2p_addr\x18\x01 \x01(\tR\x07p2pAddr\x12\x1d\n\nx25519_key\x18\x02 \x01(\tR\tx25519Key\"p\n\x0fStakeTableEntry\x12:\n\tstake_key\x18\x01 \x01(\x0b2\x1d.espresso.api.v2.BLSPublicKeyR\x08stakeKey\x12!\n\x0cstake_amount\x18\x02 \x01(\tR\x0bstakeAmount\"\xfc\x01\n\nPeerConfig\x12L\n\x11stake_table_entry\x18\x01 \x01(\x0b2 .espresso.api.v2.StakeTableEntryR\x0fstakeTableEntry\x12E\n\rstate_ver_key\x18\x02 \x01(\x0b2!.espresso.api.v2.SchnorrPublicKeyR\x0bstateVerKey\x12H\n\x0cconnect_info\x18\x03 \x01(\x0b2 .espresso.api.v2.PeerConnectInfoH\x00R\x0bconnectInfo\x88\x01\x01B\x0f\n\r_connect_info\"\x97\x02\n\x0bChainConfig\x12\x19\n\x08chain_id\x18\x01 \x01(\tR\x07chainId\x12$\n\x0emax_block_size\x18\x02 \x01(\x04R\x0cmaxBlockSize\x12\x19\n\x08base_fee\x18\x03 \x01(\tR\x07baseFee\x12&\n\x0cfee_contract\x18\x04 \x01(\tH\x00R\x0bfeeContract\x88\x01\x01\x12#\n\rfee_recipient\x18\x05 \x01(\tR\x0cfeeRecipient\x125\n\x14stake_table_contract\x18\x06 \x01(\tH\x01R\x12stakeTableContract\x88\x01\x01B\x0f\n\r_fee_contractB\x17\n\x15_stake_table_contract\"}\n\x15ResolvableChainConfig\x122\n\x04full\x18\x01 \x01(\x0b2\x1c.espresso.api.v2.ChainConfigH\x00R\x04full\x12 \n\ncommitment\x18\x02 \x01(\tH\x00R\ncommitmentB\x0e\n\x0cchain_config\"W\n\x0bL1BlockInfo\x12\x16\n\x06number\x18\x01 \x01(\x04R\x06number\x12\x1c\n\ttimestamp\x18\x02 \x01(\tR\ttimestamp\x12\x12\n\x04hash\x18\x03 \x01(\tR\x04hash\"<\n\x10BuilderSignature\x12\x0c\n\x01r\x18\x01 \x01(\tR\x01r\x12\x0c\n\x01s\x18\x02 \x01(\tR\x01s\x12\x0c\n\x01v\x18\x03 \x01(\rR\x01v\";\n\x07FeeInfo\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x12\x16\n\x06amount\x18\x02 \x01(\tR\x06amount\"\x1f\n\x07NsTable\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"\x94\x05\n\x08HeaderV1\x12I\n\x0cchain_config\x18\x01 \x01(\x0b2&.espresso.api.v2.ResolvableChainConfigR\x0bchainConfig\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\x12\x17\n\x07l1_head\x18\x04 \x01(\x04R\x06l1Head\x12D\n\x0cl1_finalized\x18\x05 \x01(\x0b2\x1c.espresso.api.v2.L1BlockInfoH\x00R\x0bl1Finalized\x88\x01\x01\x12-\n\x12payload_commitment\x18\x06 \x01(\tR\x11payloadCommitment\x12-\n\x12builder_commitment\x18\x07 \x01(\tR\x11builderCommitment\x123\n\x08ns_table\x18\x08 \x01(\x0b2\x18.espresso.api.v2.NsTableR\x07nsTable\x123\n\x16block_merkle_tree_root\x18\t \x01(\tR\x13blockMerkleTreeRoot\x12/\n\x14fee_merkle_tree_root\x18\n \x01(\tR\x11feeMerkleTreeRoot\x123\n\x08fee_info\x18\x0b \x01(\x0b2\x18.espresso.api.v2.FeeInfoR\x07feeInfo\x12S\n\x11builder_signature\x18\x0c \x01(\x0b2!.espresso.api.v2.BuilderSignatureH\x01R\x10builderSignature\x88\x01\x01B\x0f\n\r_l1_finalizedB\x14\n\x12_builder_signature\"\xcb\x05\n\x08HeaderV3\x12I\n\x0cchain_config\x18\x01 \x01(\x0b2&.espresso.api.v2.ResolvableChainConfigR\x0bchainConfig\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\x12\x17\n\x07l1_head\x18\x04 \x01(\x04R\x06l1Head\x12D\n\x0cl1_finalized\x18\x05 \x01(\x0b2\x1c.espresso.api.v2.L1BlockInfoH\x00R\x0bl1Finalized\x88\x01\x01\x12-\n\x12payload_commitment\x18\x06 \x01(\tR\x11payloadCommitment\x12-\n\x12builder_commitment\x18\x07 \x01(\tR\x11builderCommitment\x123\n\x08ns_table\x18\x08 \x01(\x0b2\x18.espresso.api.v2.NsTableR\x07nsTable\x123\n\x16block_merkle_tree_root\x18\t \x01(\tR\x13blockMerkleTreeRoot\x12/\n\x14fee_merkle_tree_root\x18\n \x01(\tR\x11feeMerkleTreeRoot\x123\n\x08fee_info\x18\x0b \x01(\x0b2\x18.espresso.api.v2.FeeInfoR\x07feeInfo\x12S\n\x11builder_signature\x18\x0c \x01(\x0b2!.espresso.api.v2.BuilderSignatureH\x01R\x10builderSignature\x88\x01\x01\x125\n\x17reward_merkle_tree_root\x18\r \x01(\tR\x14rewardMerkleTreeRootB\x0f\n\r_l1_finalizedB\x14\n\x12_builder_signature\"\x82\x07\n\x08HeaderV4\x12I\n\x0cchain_config\x18\x01 \x01(\x0b2&.espresso.api.v2.ResolvableChainConfigR\x0bchainConfig\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\x12)\n\x10timestamp_millis\x18\x04 \x01(\x04R\x0ftimestampMillis\x12\x17\n\x07l1_head\x18\x05 \x01(\x04R\x06l1Head\x12D\n\x0cl1_finalized\x18\x06 \x01(\x0b2\x1c.espresso.api.v2.L1BlockInfoH\x00R\x0bl1Finalized\x88\x01\x01\x12-\n\x12payload_commitment\x18\x07 \x01(\tR\x11payloadCommitment\x12-\n\x12builder_commitment\x18\x08 \x01(\tR\x11builderCommitment\x123\n\x08ns_table\x18\t \x01(\x0b2\x18.espresso.api.v2.NsTableR\x07nsTable\x123\n\x16block_merkle_tree_root\x18\n \x01(\tR\x13blockMerkleTreeRoot\x12/\n\x14fee_merkle_tree_root\x18\x0b \x01(\tR\x11feeMerkleTreeRoot\x123\n\x08fee_info\x18\x0c \x01(\x0b2\x18.espresso.api.v2.FeeInfoR\x07feeInfo\x12S\n\x11builder_signature\x18\r \x01(\x0b2!.espresso.api.v2.BuilderSignatureH\x01R\x10builderSignature\x88\x01\x01\x125\n\x17reward_merkle_tree_root\x18\x0e \x01(\tR\x14rewardMerkleTreeRoot\x128\n\x18total_reward_distributed\x18\x0f \x01(\tR\x16totalRewardDistributed\x126\n\x15next_stake_table_hash\x18\x10 \x01(\tH\x02R\x12nextStakeTableHash\x88\x01\x01B\x0f\n\r_l1_finalizedB\x14\n\x12_builder_signatureB\x18\n\x16_next_stake_table_hash\"\xa7\x07\n\x08HeaderV5\x12I\n\x0cchain_config\x18\x01 \x01(\x0b2&.espresso.api.v2.ResolvableChainConfigR\x0bchainConfig\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x1c\n\ttimestamp\x18\x03 \x01(\x04R\ttimestamp\x12)\n\x10timestamp_millis\x18\x04 \x01(\x04R\x0ftimestampMillis\x12\x17\n\x07l1_head\x18\x05 \x01(\x04R\x06l1Head\x12D\n\x0cl1_finalized\x18\x06 \x01(\x0b2\x1c.espresso.api.v2.L1BlockInfoH\x00R\x0bl1Finalized\x88\x01\x01\x12-\n\x12payload_commitment\x18\x07 \x01(\tR\x11payloadCommitment\x12-\n\x12builder_commitment\x18\x08 \x01(\tR\x11builderCommitment\x123\n\x08ns_table\x18\t \x01(\x0b2\x18.espresso.api.v2.NsTableR\x07nsTable\x123\n\x16block_merkle_tree_root\x18\n \x01(\tR\x13blockMerkleTreeRoot\x12/\n\x14fee_merkle_tree_root\x18\x0b \x01(\tR\x11feeMerkleTreeRoot\x123\n\x08fee_info\x18\x0c \x01(\x0b2\x18.espresso.api.v2.FeeInfoR\x07feeInfo\x12S\n\x11builder_signature\x18\r \x01(\x0b2!.espresso.api.v2.BuilderSignatureH\x01R\x10builderSignature\x88\x01\x01\x125\n\x17reward_merkle_tree_root\x18\x0e \x01(\tR\x14rewardMerkleTreeRoot\x128\n\x18total_reward_distributed\x18\x0f \x01(\tR\x16totalRewardDistributed\x126\n\x15next_stake_table_hash\x18\x10 \x01(\tH\x02R\x12nextStakeTableHash\x88\x01\x01\x12#\n\rleader_counts\x18\x11 \x03(\rR\x0cleaderCountsB\x0f\n\r_l1_finalizedB\x14\n\x12_builder_signatureB\x18\n\x16_next_stake_table_hash\"\xd5\x02\n\x0eHeaderResponse\x12+\n\x02v1\x18\x01 \x01(\x0b2\x19.espresso.api.v2.HeaderV1H\x00R\x02v1\x12+\n\x02v2\x18\x02 \x01(\x0b2\x19.espresso.api.v2.HeaderV1H\x00R\x02v2\x12+\n\x02v3\x18\x03 \x01(\x0b2\x19.espresso.api.v2.HeaderV3H\x00R\x02v3\x12+\n\x02v4\x18\x04 \x01(\x0b2\x19.espresso.api.v2.HeaderV4H\x00R\x02v4\x12+\n\x02v5\x18\x05 \x01(\x0b2\x19.espresso.api.v2.HeaderV5H\x00R\x02v5\x12+\n\x02v6\x18\x06 \x01(\x0b2\x19.espresso.api.v2.HeaderV5H\x00R\x02v6\x12+\n\x02v7\x18\x07 \x01(\x0b2\x19.espresso.api.v2.HeaderV5H\x00R\x02v7B\x08\n\x06headerJ\x8eX\n\x07\x12\x05\x00\x00\xb2\x02\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\x93\x02\n\x02\x04\x00\x12\x04\x08\x00\x0b\x012\x86\x02 Types shared by more than one v2 service. A domain type lives in the proto of the service that\n owns it until a second service needs it, at which point it moves here: proto short names are\n unique package-wide, so the two services cannot each define their own.\n\n\n\n\x03\x04\x00\x01\x12\x03\x08\x08\x14\n6\n\x04\x04\x00\x02\x00\x12\x03\n\x02\x11\x1a) TaggedBase64, e.g. \"BLS_VER_KEY~AAA...\"\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\n\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n\t\x0c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n\x0f\x10\n\n\n\x02\x04\x01\x12\x04\r\x00\x10\x01\n\n\n\x03\x04\x01\x01\x12\x03\r\x08\x18\n:\n\x04\x04\x01\x02\x00\x12\x03\x0f\x02\x11\x1a- TaggedBase64, e.g. \"SCHNORR_VER_KEY~AAA...\"\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x0f\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0f\t\x0c\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0f\x0f\x10\n\n\n\x02\x04\x02\x12\x04\x12\x00\x18\x01\n\n\n\x03\x04\x02\x01\x12\x03\x12\x08\x17\nQ\n\x04\x04\x02\x02\x00\x12\x03\x14\x02\x16\x1aD \"host:port\", with an IPv6 literal left unbracketed as v1 writes it\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x14\t\x11\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x14\x14\x15\n\\\n\x04\x04\x02\x02\x01\x12\x03\x17\x02\x18\x1aO X25519 public key for cliquenet, TaggedBase64 rather than x25519\'s own base58\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x17\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x17\t\x13\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x17\x16\x17\n\n\n\x02\x04\x03\x12\x04\x1a\x00\x1f\x01\n\n\n\x03\x04\x03\x01\x12\x03\x1a\x08\x17\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\x1b\x02\x1d\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03\x1b\x02\x0e\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x1b\x0f\x18\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x1b\x1b\x1c\n=\n\x04\x04\x03\x02\x01\x12\x03\x1e\x02\x1a\x1a0 0x-prefixed hex quantity, as v1 renders a U256\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\x1e\t\x15\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x1e\x18\x19\n\n\n\x02\x04\x04\x12\x04!\x00(\x01\n\n\n\x03\x04\x04\x01\x12\x03!\x08\x12\n\x0b\n\x04\x04\x04\x02\x00\x12\x03\"\x02(\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03\"\x02\x11\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03\"\x12#\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03\"&\'\n\x0b\n\x04\x04\x04\x02\x01\x12\x03$\x02%\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03$\x02\x12\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03$\x13 \n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03$#$\nB\n\x04\x04\x04\x02\x02\x12\x03\'\x02,\x1a5 Absent for a peer that published no network address\n\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03\'\x02\n\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03\'\x0b\x1a\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03\'\x1b\'\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03\'*+\n\n\n\x02\x04\x05\x12\x04*\x00?\x01\n\n\n\x03\x04\x05\x01\x12\x03*\x08\x13\n^\n\x04\x04\x05\x02\x00\x12\x03,\x02\x16\x1aQ Espresso chain ID. A 256-bit number, so a decimal string rather than an integer\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03,\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03,\t\x11\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03,\x14\x15\n-\n\x04\x04\x05\x02\x01\x12\x03/\x02\x1c\x1a Largest block payload in bytes\n\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03/\x02\x08\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03/\t\x17\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03/\x1a\x1b\nZ\n\x04\x04\x05\x02\x02\x12\x032\x02\x16\x1aM Smallest fee in wei per payload byte. A 256-bit number, so a decimal string\n\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x032\x02\x08\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x032\t\x11\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x032\x14\x15\nq\n\x04\x04\x05\x02\x03\x12\x036\x02#\x1ad L1 fee contract, absent while fees are switched off, so that turning them off needs no\n deployment\n\n\x0c\n\x05\x04\x05\x02\x03\x04\x12\x036\x02\n\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\x036\x0b\x11\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x036\x12\x1e\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x036!\"\nd\n\x04\x04\x05\x02\x04\x12\x039\x02\x1b\x1aW Account credited with every sequencing fee, whether or not a fee contract is deployed\n\n\x0c\n\x05\x04\x05\x02\x04\x05\x12\x039\x02\x08\n\x0c\n\x05\x04\x05\x02\x04\x01\x12\x039\t\x16\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x039\x19\x1a\n\xd0\x01\n\x04\x04\x05\x02\x05\x12\x03>\x02+\x1a\xc2\x01 L1 stake table proxy, absent while proof of stake is switched off, so that turning it off\n needs no deployment, and always absent on a 0.1 or 0.2 header, whose chain config predates\n the field\n\n\x0c\n\x05\x04\x05\x02\x05\x04\x12\x03>\x02\n\n\x0c\n\x05\x04\x05\x02\x05\x05\x12\x03>\x0b\x11\n\x0c\n\x05\x04\x05\x02\x05\x01\x12\x03>\x12&\n\x0c\n\x05\x04\x05\x02\x05\x03\x12\x03>)*\nk\n\x02\x04\x06\x12\x04B\x00I\x01\x1a_ A header carries either the chain config itself or a commitment the caller resolves elsewhere\n\n\n\n\x03\x04\x06\x01\x12\x03B\x08\x1d\n\x0c\n\x04\x04\x06\x08\x00\x12\x04C\x02H\x03\n\x0c\n\x05\x04\x06\x08\x00\x01\x12\x03C\x08\x14\n\x0b\n\x04\x04\x06\x02\x00\x12\x03D\x04\x19\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03D\x04\x0f\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03D\x10\x14\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03D\x17\x18\n+\n\x04\x04\x06\x02\x01\x12\x03G\x04\x1a\x1a\x1e TaggedBase64 `CHAIN_CONFIG~`\n\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03G\x04\n\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03G\x0b\x15\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03G\x18\x19\n\n\n\x02\x04\x07\x12\x04K\x00S\x01\n\n\n\x03\x04\x07\x01\x12\x03K\x08\x13\n\x0b\n\x04\x04\x07\x02\x00\x12\x03L\x02\x14\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03L\x02\x08\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03L\t\x0f\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03L\x12\x13\nE\n\x04\x04\x07\x02\x01\x12\x03O\x02\x17\x1a8 Unix seconds, hex-encoded as on v1 rather than decimal\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03O\x02\x08\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03O\t\x12\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03O\x15\x16\nW\n\x04\x04\x07\x02\x02\x12\x03R\x02\x12\x1aJ 32-byte block hash, 0x-prefixed and always 64 hex digits, not a quantity\n\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03R\x02\x08\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03R\t\r\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03R\x10\x11\n\n\n\x02\x04\x08\x12\x04U\x00^\x01\n\n\n\x03\x04\x08\x01\x12\x03U\x08\x18\n\\\n\x04\x04\x08\x02\x00\x12\x03W\x02\x0f\x1aO 0x-prefixed hex quantity, so shorter than 64 digits when it has leading zeros\n\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03W\x02\x08\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03W\t\n\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03W\r\x0e\n\\\n\x04\x04\x08\x02\x01\x12\x03Z\x02\x0f\x1aO 0x-prefixed hex quantity, so shorter than 64 digits when it has leading zeros\n\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03Z\x02\x08\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03Z\t\n\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03Z\r\x0e\n$\n\x04\x04\x08\x02\x02\x12\x03]\x02\x0f\x1a\x17 Recovery id, 27 or 28\n\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03]\x02\x08\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03]\t\n\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03]\r\x0e\n\n\n\x02\x04\t\x12\x04`\x00f\x01\n\n\n\x03\x04\t\x01\x12\x03`\x08\x0f\n7\n\x04\x04\t\x02\x00\x12\x03b\x02\x15\x1a* Account charged for sequencing the block\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03b\x02\x08\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03b\t\x10\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03b\x13\x14\nE\n\x04\x04\t\x02\x01\x12\x03e\x02\x14\x1a8 Fee paid in wei. A 256-bit number, so a decimal string\n\n\x0c\n\x05\x04\t\x02\x01\x05\x12\x03e\x02\x08\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03e\t\x0f\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03e\x12\x13\n\n\n\x02\x04\n\x12\x04h\x00k\x01\n\n\n\x03\x04\n\x01\x12\x03h\x08\x0f\nQ\n\x04\x04\n\x02\x00\x12\x03j\x02\x12\x1aD The namespace table in its canonical byte encoding, base64 in JSON\n\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03j\x02\x07\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03j\x08\r\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03j\x10\x11\nT\n\x02\x04\x0b\x12\x05n\x00\x8f\x01\x01\x1aG The header shape introduced in protocol version 0.1, also used by 0.2\n\n\n\n\x03\x04\x0b\x01\x12\x03n\x08\x10\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03o\x02)\n\x0c\n\x05\x04\x0b\x02\x00\x06\x12\x03o\x02\x17\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03o\x18$\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03o\'(\n\x0b\n\x04\x04\x0b\x02\x01\x12\x03q\x02\x14\n\x0c\n\x05\x04\x0b\x02\x01\x05\x12\x03q\x02\x08\n\x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03q\t\x0f\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03q\x12\x13\n\x1b\n\x04\x04\x0b\x02\x02\x12\x03t\x02\x17\x1a\x0e Unix seconds\n\n\x0c\n\x05\x04\x0b\x02\x02\x05\x12\x03t\x02\x08\n\x0c\n\x05\x04\x0b\x02\x02\x01\x12\x03t\t\x12\n\x0c\n\x05\x04\x0b\x02\x02\x03\x12\x03t\x15\x16\n5\n\x04\x04\x0b\x02\x03\x12\x03w\x02\x15\x1a( L1 block this header was built against\n\n\x0c\n\x05\x04\x0b\x02\x03\x05\x12\x03w\x02\x08\n\x0c\n\x05\x04\x0b\x02\x03\x01\x12\x03w\t\x10\n\x0c\n\x05\x04\x0b\x02\x03\x03\x12\x03w\x13\x14\nZ\n\x04\x04\x0b\x02\x04\x12\x03z\x02(\x1aM Latest L1 block finalized when the block was proposed, absent when none was\n\n\x0c\n\x05\x04\x0b\x02\x04\x04\x12\x03z\x02\n\n\x0c\n\x05\x04\x0b\x02\x04\x06\x12\x03z\x0b\x16\n\x0c\n\x05\x04\x0b\x02\x04\x01\x12\x03z\x17#\n\x0c\n\x05\x04\x0b\x02\x04\x03\x12\x03z&\'\n#\n\x04\x04\x0b\x02\x05\x12\x03}\x02 \x1a\x16 TaggedBase64 `HASH~`\n\n\x0c\n\x05\x04\x0b\x02\x05\x05\x12\x03}\x02\x08\n\x0c\n\x05\x04\x0b\x02\x05\x01\x12\x03}\t\x1b\n\x0c\n\x05\x04\x0b\x02\x05\x03\x12\x03}\x1e\x1f\n2\n\x04\x04\x0b\x02\x06\x12\x04\x80\x01\x02 \x1a$ TaggedBase64 `BUILDER_COMMITMENT~`\n\n\r\n\x05\x04\x0b\x02\x06\x05\x12\x04\x80\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\x80\x01\t\x1b\n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\x80\x01\x1e\x1f\n\x0c\n\x04\x04\x0b\x02\x07\x12\x04\x82\x01\x02\x17\n\r\n\x05\x04\x0b\x02\x07\x06\x12\x04\x82\x01\x02\t\n\r\n\x05\x04\x0b\x02\x07\x01\x12\x04\x82\x01\n\x12\n\r\n\x05\x04\x0b\x02\x07\x03\x12\x04\x82\x01\x15\x16\n+\n\x04\x04\x0b\x02\x08\x12\x04\x85\x01\x02$\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0b\x02\x08\x05\x12\x04\x85\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x08\x01\x12\x04\x85\x01\t\x1f\n\r\n\x05\x04\x0b\x02\x08\x03\x12\x04\x85\x01\"#\n+\n\x04\x04\x0b\x02\t\x12\x04\x88\x01\x02#\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0b\x02\t\x05\x12\x04\x88\x01\x02\x08\n\r\n\x05\x04\x0b\x02\t\x01\x12\x04\x88\x01\t\x1d\n\r\n\x05\x04\x0b\x02\t\x03\x12\x04\x88\x01 \"\n\x0c\n\x04\x04\x0b\x02\n\x12\x04\x8a\x01\x02\x18\n\r\n\x05\x04\x0b\x02\n\x06\x12\x04\x8a\x01\x02\t\n\r\n\x05\x04\x0b\x02\n\x01\x12\x04\x8a\x01\n\x12\n\r\n\x05\x04\x0b\x02\n\x03\x12\x04\x8a\x01\x15\x17\n\xaa\x01\n\x04\x04\x0b\x02\x0b\x12\x04\x8e\x01\x023\x1a\x9b\x01 Evidence that fee_info is correct. Absent when the builder did not sign, and never part of\n the header commitment, since consensus has already checked it\n\n\r\n\x05\x04\x0b\x02\x0b\x04\x12\x04\x8e\x01\x02\n\n\r\n\x05\x04\x0b\x02\x0b\x06\x12\x04\x8e\x01\x0b\x1b\n\r\n\x05\x04\x0b\x02\x0b\x01\x12\x04\x8e\x01\x1c-\n\r\n\x05\x04\x0b\x02\x0b\x03\x12\x04\x8e\x0102\ng\n\x02\x04\x0c\x12\x06\x92\x01\x00\xb6\x01\x01\x1aY The header shape introduced in protocol version 0.3, which added the reward merkle tree\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x92\x01\x08\x10\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\x93\x01\x02)\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\x93\x01\x02\x17\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x93\x01\x18$\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x93\x01\'(\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\x95\x01\x02\x14\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x95\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x95\x01\t\x0f\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\x95\x01\x12\x13\n\x1c\n\x04\x04\x0c\x02\x02\x12\x04\x98\x01\x02\x17\x1a\x0e Unix seconds\n\n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\x98\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\x98\x01\t\x12\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\x98\x01\x15\x16\n6\n\x04\x04\x0c\x02\x03\x12\x04\x9b\x01\x02\x15\x1a( L1 block this header was built against\n\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\x9b\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\x9b\x01\t\x10\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\x9b\x01\x13\x14\n[\n\x04\x04\x0c\x02\x04\x12\x04\x9e\x01\x02(\x1aM Latest L1 block finalized when the block was proposed, absent when none was\n\n\r\n\x05\x04\x0c\x02\x04\x04\x12\x04\x9e\x01\x02\n\n\r\n\x05\x04\x0c\x02\x04\x06\x12\x04\x9e\x01\x0b\x16\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\x9e\x01\x17#\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\x9e\x01&\'\n+\n\x04\x04\x0c\x02\x05\x12\x04\xa1\x01\x02 \x1a\x1d TaggedBase64 `AvidMCommit~`\n\n\r\n\x05\x04\x0c\x02\x05\x05\x12\x04\xa1\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xa1\x01\t\x1b\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xa1\x01\x1e\x1f\n2\n\x04\x04\x0c\x02\x06\x12\x04\xa4\x01\x02 \x1a$ TaggedBase64 `BUILDER_COMMITMENT~`\n\n\r\n\x05\x04\x0c\x02\x06\x05\x12\x04\xa4\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x06\x01\x12\x04\xa4\x01\t\x1b\n\r\n\x05\x04\x0c\x02\x06\x03\x12\x04\xa4\x01\x1e\x1f\n\x0c\n\x04\x04\x0c\x02\x07\x12\x04\xa6\x01\x02\x17\n\r\n\x05\x04\x0c\x02\x07\x06\x12\x04\xa6\x01\x02\t\n\r\n\x05\x04\x0c\x02\x07\x01\x12\x04\xa6\x01\n\x12\n\r\n\x05\x04\x0c\x02\x07\x03\x12\x04\xa6\x01\x15\x16\n+\n\x04\x04\x0c\x02\x08\x12\x04\xa9\x01\x02$\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0c\x02\x08\x05\x12\x04\xa9\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x08\x01\x12\x04\xa9\x01\t\x1f\n\r\n\x05\x04\x0c\x02\x08\x03\x12\x04\xa9\x01\"#\n+\n\x04\x04\x0c\x02\t\x12\x04\xac\x01\x02#\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0c\x02\t\x05\x12\x04\xac\x01\x02\x08\n\r\n\x05\x04\x0c\x02\t\x01\x12\x04\xac\x01\t\x1d\n\r\n\x05\x04\x0c\x02\t\x03\x12\x04\xac\x01 \"\n\x0c\n\x04\x04\x0c\x02\n\x12\x04\xae\x01\x02\x18\n\r\n\x05\x04\x0c\x02\n\x06\x12\x04\xae\x01\x02\t\n\r\n\x05\x04\x0c\x02\n\x01\x12\x04\xae\x01\n\x12\n\r\n\x05\x04\x0c\x02\n\x03\x12\x04\xae\x01\x15\x17\n\xaa\x01\n\x04\x04\x0c\x02\x0b\x12\x04\xb2\x01\x023\x1a\x9b\x01 Evidence that fee_info is correct. Absent when the builder did not sign, and never part\n of the header commitment, since consensus has already checked it\n\n\r\n\x05\x04\x0c\x02\x0b\x04\x12\x04\xb2\x01\x02\n\n\r\n\x05\x04\x0c\x02\x0b\x06\x12\x04\xb2\x01\x0b\x1b\n\r\n\x05\x04\x0c\x02\x0b\x01\x12\x04\xb2\x01\x1c-\n\r\n\x05\x04\x0c\x02\x0b\x03\x12\x04\xb2\x0102\nQ\n\x04\x04\x0c\x02\x0c\x12\x04\xb5\x01\x02&\x1aC Root of the first reward merkle tree. TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0c\x02\x0c\x05\x12\x04\xb5\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x0c\x01\x12\x04\xb5\x01\t \n\r\n\x05\x04\x0c\x02\x0c\x03\x12\x04\xb5\x01#%\n\xc7\x01\n\x02\x04\r\x12\x06\xba\x01\x00\xea\x01\x01\x1a\xb8\x01 The header shape introduced in protocol version 0.4, which moved to the second reward merkle\n tree and added millisecond timestamps, distributed rewards and the next stake table hash\n\n\x0b\n\x03\x04\r\x01\x12\x04\xba\x01\x08\x10\n\x0c\n\x04\x04\r\x02\x00\x12\x04\xbb\x01\x02)\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xbb\x01\x02\x17\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xbb\x01\x18$\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xbb\x01\'(\n\x0c\n\x04\x04\r\x02\x01\x12\x04\xbd\x01\x02\x14\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xbd\x01\x02\x08\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xbd\x01\t\x0f\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xbd\x01\x12\x13\n\x1c\n\x04\x04\r\x02\x02\x12\x04\xc0\x01\x02\x17\x1a\x0e Unix seconds\n\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xc0\x01\x02\x08\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xc0\x01\t\x12\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xc0\x01\x15\x16\ny\n\x04\x04\r\x02\x03\x12\x04\xc4\x01\x02\x1e\x1ak Unix milliseconds. Clamped separately from `timestamp`, so it is not guaranteed to be\n `timestamp * 1000`\n\n\r\n\x05\x04\r\x02\x03\x05\x12\x04\xc4\x01\x02\x08\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\xc4\x01\t\x19\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\xc4\x01\x1c\x1d\n6\n\x04\x04\r\x02\x04\x12\x04\xc7\x01\x02\x15\x1a( L1 block this header was built against\n\n\r\n\x05\x04\r\x02\x04\x05\x12\x04\xc7\x01\x02\x08\n\r\n\x05\x04\r\x02\x04\x01\x12\x04\xc7\x01\t\x10\n\r\n\x05\x04\r\x02\x04\x03\x12\x04\xc7\x01\x13\x14\n[\n\x04\x04\r\x02\x05\x12\x04\xca\x01\x02(\x1aM Latest L1 block finalized when the block was proposed, absent when none was\n\n\r\n\x05\x04\r\x02\x05\x04\x12\x04\xca\x01\x02\n\n\r\n\x05\x04\r\x02\x05\x06\x12\x04\xca\x01\x0b\x16\n\r\n\x05\x04\r\x02\x05\x01\x12\x04\xca\x01\x17#\n\r\n\x05\x04\r\x02\x05\x03\x12\x04\xca\x01&\'\n+\n\x04\x04\r\x02\x06\x12\x04\xcd\x01\x02 \x1a\x1d TaggedBase64 `AvidMCommit~`\n\n\r\n\x05\x04\r\x02\x06\x05\x12\x04\xcd\x01\x02\x08\n\r\n\x05\x04\r\x02\x06\x01\x12\x04\xcd\x01\t\x1b\n\r\n\x05\x04\r\x02\x06\x03\x12\x04\xcd\x01\x1e\x1f\n2\n\x04\x04\r\x02\x07\x12\x04\xd0\x01\x02 \x1a$ TaggedBase64 `BUILDER_COMMITMENT~`\n\n\r\n\x05\x04\r\x02\x07\x05\x12\x04\xd0\x01\x02\x08\n\r\n\x05\x04\r\x02\x07\x01\x12\x04\xd0\x01\t\x1b\n\r\n\x05\x04\r\x02\x07\x03\x12\x04\xd0\x01\x1e\x1f\n\x0c\n\x04\x04\r\x02\x08\x12\x04\xd2\x01\x02\x17\n\r\n\x05\x04\r\x02\x08\x06\x12\x04\xd2\x01\x02\t\n\r\n\x05\x04\r\x02\x08\x01\x12\x04\xd2\x01\n\x12\n\r\n\x05\x04\r\x02\x08\x03\x12\x04\xd2\x01\x15\x16\n+\n\x04\x04\r\x02\t\x12\x04\xd5\x01\x02%\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\r\x02\t\x05\x12\x04\xd5\x01\x02\x08\n\r\n\x05\x04\r\x02\t\x01\x12\x04\xd5\x01\t\x1f\n\r\n\x05\x04\r\x02\t\x03\x12\x04\xd5\x01\"$\n+\n\x04\x04\r\x02\n\x12\x04\xd8\x01\x02#\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\r\x02\n\x05\x12\x04\xd8\x01\x02\x08\n\r\n\x05\x04\r\x02\n\x01\x12\x04\xd8\x01\t\x1d\n\r\n\x05\x04\r\x02\n\x03\x12\x04\xd8\x01 \"\n\x0c\n\x04\x04\r\x02\x0b\x12\x04\xda\x01\x02\x18\n\r\n\x05\x04\r\x02\x0b\x06\x12\x04\xda\x01\x02\t\n\r\n\x05\x04\r\x02\x0b\x01\x12\x04\xda\x01\n\x12\n\r\n\x05\x04\r\x02\x0b\x03\x12\x04\xda\x01\x15\x17\n\xaa\x01\n\x04\x04\r\x02\x0c\x12\x04\xde\x01\x023\x1a\x9b\x01 Evidence that fee_info is correct. Absent when the builder did not sign, and never part\n of the header commitment, since consensus has already checked it\n\n\r\n\x05\x04\r\x02\x0c\x04\x12\x04\xde\x01\x02\n\n\r\n\x05\x04\r\x02\x0c\x06\x12\x04\xde\x01\x0b\x1b\n\r\n\x05\x04\r\x02\x0c\x01\x12\x04\xde\x01\x1c-\n\r\n\x05\x04\r\x02\x0c\x03\x12\x04\xde\x0102\n}\n\x04\x04\r\x02\r\x12\x04\xe2\x01\x02&\x1ao Root of the second reward merkle tree, which replaced the first in this version.\n TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\r\x02\r\x05\x12\x04\xe2\x01\x02\x08\n\r\n\x05\x04\r\x02\r\x01\x12\x04\xe2\x01\t \n\r\n\x05\x04\r\x02\r\x03\x12\x04\xe2\x01#%\n`\n\x04\x04\r\x02\x0e\x12\x04\xe5\x01\x02\'\x1aR Rewards distributed since genesis, in wei. A 256-bit number, so a decimal string\n\n\r\n\x05\x04\r\x02\x0e\x05\x12\x04\xe5\x01\x02\x08\n\r\n\x05\x04\r\x02\x0e\x01\x12\x04\xe5\x01\t!\n\r\n\x05\x04\r\x02\x0e\x03\x12\x04\xe5\x01$&\nt\n\x04\x04\r\x02\x0f\x12\x04\xe9\x01\x02-\x1af Stake table taking effect next epoch. TaggedBase64 `STAKE_TABLE~`. Absent outside an epoch\n boundary\n\n\r\n\x05\x04\r\x02\x0f\x04\x12\x04\xe9\x01\x02\n\n\r\n\x05\x04\r\x02\x0f\x05\x12\x04\xe9\x01\x0b\x11\n\r\n\x05\x04\r\x02\x0f\x01\x12\x04\xe9\x01\x12\'\n\r\n\x05\x04\r\x02\x0f\x03\x12\x04\xe9\x01*,\ny\n\x02\x04\x0e\x12\x06\xee\x01\x00\xa4\x02\x01\x1ak The header shape introduced in protocol version 0.5, which added leader counts. Also used by\n 0.6 and 0.7\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xee\x01\x08\x10\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\xef\x01\x02)\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\xef\x01\x02\x17\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xef\x01\x18$\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xef\x01\'(\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\xf1\x01\x02\x14\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xf1\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xf1\x01\t\x0f\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xf1\x01\x12\x13\n\x1c\n\x04\x04\x0e\x02\x02\x12\x04\xf4\x01\x02\x17\x1a\x0e Unix seconds\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xf4\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xf4\x01\t\x12\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xf4\x01\x15\x16\ny\n\x04\x04\x0e\x02\x03\x12\x04\xf8\x01\x02\x1e\x1ak Unix milliseconds. Clamped separately from `timestamp`, so it is not guaranteed to be\n `timestamp * 1000`\n\n\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\xf8\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\xf8\x01\t\x19\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\xf8\x01\x1c\x1d\n6\n\x04\x04\x0e\x02\x04\x12\x04\xfb\x01\x02\x15\x1a( L1 block this header was built against\n\n\r\n\x05\x04\x0e\x02\x04\x05\x12\x04\xfb\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xfb\x01\t\x10\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xfb\x01\x13\x14\n[\n\x04\x04\x0e\x02\x05\x12\x04\xfe\x01\x02(\x1aM Latest L1 block finalized when the block was proposed, absent when none was\n\n\r\n\x05\x04\x0e\x02\x05\x04\x12\x04\xfe\x01\x02\n\n\r\n\x05\x04\x0e\x02\x05\x06\x12\x04\xfe\x01\x0b\x16\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\xfe\x01\x17#\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\xfe\x01&\'\ns\n\x04\x04\x0e\x02\x06\x12\x04\x82\x02\x02 \x1ae TaggedBase64. `AvidMCommit~` on 0.5 and `AvidmGf2Commit~` on 0.6 and 0.7, which share\n this message\n\n\r\n\x05\x04\x0e\x02\x06\x05\x12\x04\x82\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x06\x01\x12\x04\x82\x02\t\x1b\n\r\n\x05\x04\x0e\x02\x06\x03\x12\x04\x82\x02\x1e\x1f\nZ\n\x04\x04\x0e\x02\x07\x12\x04\x85\x02\x02 \x1aL TaggedBase64 `BUILDER_COMMITMENT~`. Empty on 0.7, whose headers carry none\n\n\r\n\x05\x04\x0e\x02\x07\x05\x12\x04\x85\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x07\x01\x12\x04\x85\x02\t\x1b\n\r\n\x05\x04\x0e\x02\x07\x03\x12\x04\x85\x02\x1e\x1f\n\x0c\n\x04\x04\x0e\x02\x08\x12\x04\x87\x02\x02\x17\n\r\n\x05\x04\x0e\x02\x08\x06\x12\x04\x87\x02\x02\t\n\r\n\x05\x04\x0e\x02\x08\x01\x12\x04\x87\x02\n\x12\n\r\n\x05\x04\x0e\x02\x08\x03\x12\x04\x87\x02\x15\x16\n+\n\x04\x04\x0e\x02\t\x12\x04\x8a\x02\x02%\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0e\x02\t\x05\x12\x04\x8a\x02\x02\x08\n\r\n\x05\x04\x0e\x02\t\x01\x12\x04\x8a\x02\t\x1f\n\r\n\x05\x04\x0e\x02\t\x03\x12\x04\x8a\x02\"$\n+\n\x04\x04\x0e\x02\n\x12\x04\x8d\x02\x02#\x1a\x1d TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0e\x02\n\x05\x12\x04\x8d\x02\x02\x08\n\r\n\x05\x04\x0e\x02\n\x01\x12\x04\x8d\x02\t\x1d\n\r\n\x05\x04\x0e\x02\n\x03\x12\x04\x8d\x02 \"\n\x0c\n\x04\x04\x0e\x02\x0b\x12\x04\x8f\x02\x02\x18\n\r\n\x05\x04\x0e\x02\x0b\x06\x12\x04\x8f\x02\x02\t\n\r\n\x05\x04\x0e\x02\x0b\x01\x12\x04\x8f\x02\n\x12\n\r\n\x05\x04\x0e\x02\x0b\x03\x12\x04\x8f\x02\x15\x17\n\xaa\x01\n\x04\x04\x0e\x02\x0c\x12\x04\x93\x02\x023\x1a\x9b\x01 Evidence that fee_info is correct. Absent when the builder did not sign, and never part\n of the header commitment, since consensus has already checked it\n\n\r\n\x05\x04\x0e\x02\x0c\x04\x12\x04\x93\x02\x02\n\n\r\n\x05\x04\x0e\x02\x0c\x06\x12\x04\x93\x02\x0b\x1b\n\r\n\x05\x04\x0e\x02\x0c\x01\x12\x04\x93\x02\x1c-\n\r\n\x05\x04\x0e\x02\x0c\x03\x12\x04\x93\x0202\nt\n\x04\x04\x0e\x02\r\x12\x04\x97\x02\x02&\x1af Root of the second reward merkle tree, which replaced the first in 0.4.\n TaggedBase64 `MERKLE_COMM~`\n\n\r\n\x05\x04\x0e\x02\r\x05\x12\x04\x97\x02\x02\x08\n\r\n\x05\x04\x0e\x02\r\x01\x12\x04\x97\x02\t \n\r\n\x05\x04\x0e\x02\r\x03\x12\x04\x97\x02#%\n`\n\x04\x04\x0e\x02\x0e\x12\x04\x9a\x02\x02\'\x1aR Rewards distributed since genesis, in wei. A 256-bit number, so a decimal string\n\n\r\n\x05\x04\x0e\x02\x0e\x05\x12\x04\x9a\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x0e\x01\x12\x04\x9a\x02\t!\n\r\n\x05\x04\x0e\x02\x0e\x03\x12\x04\x9a\x02$&\nt\n\x04\x04\x0e\x02\x0f\x12\x04\x9e\x02\x02-\x1af Stake table taking effect next epoch. TaggedBase64 `STAKE_TABLE~`. Absent outside an epoch\n boundary\n\n\r\n\x05\x04\x0e\x02\x0f\x04\x12\x04\x9e\x02\x02\n\n\r\n\x05\x04\x0e\x02\x0f\x05\x12\x04\x9e\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x0f\x01\x12\x04\x9e\x02\x12\'\n\r\n\x05\x04\x0e\x02\x0f\x03\x12\x04\x9e\x02*,\n\xde\x01\n\x04\x04\x0e\x02\x10\x12\x04\xa3\x02\x02%\x1a\xcf\x01 Blocks each validator proposed this epoch, indexed by its position in the epoch\'s stake\n table. A view whose leader proposed nothing is not counted. Always 100 entries, the cap on\n the active validator set\n\n\r\n\x05\x04\x0e\x02\x10\x04\x12\x04\xa3\x02\x02\n\n\r\n\x05\x04\x0e\x02\x10\x05\x12\x04\xa3\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x10\x01\x12\x04\xa3\x02\x12\x1f\n\r\n\x05\x04\x0e\x02\x10\x03\x12\x04\xa3\x02\"$\n\xad\x01\n\x02\x04\x0f\x12\x06\xa8\x02\x00\xb2\x02\x01\x1a\x9e\x01 The arm names the protocol version that produced the header. Versions sharing a shape share a\n message: 0.2 uses the 0.1 shape and 0.6 and 0.7 the 0.5 shape\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\xa8\x02\x08\x16\n\x0e\n\x04\x04\x0f\x08\x00\x12\x06\xa9\x02\x02\xb1\x02\x03\n\r\n\x05\x04\x0f\x08\x00\x01\x12\x04\xa9\x02\x08\x0e\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\xaa\x02\x04\x14\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xaa\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xaa\x02\r\x0f\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xaa\x02\x12\x13\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\xab\x02\x04\x14\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xab\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xab\x02\r\x0f\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xab\x02\x12\x13\n\x0c\n\x04\x04\x0f\x02\x02\x12\x04\xac\x02\x04\x14\n\r\n\x05\x04\x0f\x02\x02\x06\x12\x04\xac\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xac\x02\r\x0f\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xac\x02\x12\x13\n\x0c\n\x04\x04\x0f\x02\x03\x12\x04\xad\x02\x04\x14\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\xad\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xad\x02\r\x0f\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xad\x02\x12\x13\n\x0c\n\x04\x04\x0f\x02\x04\x12\x04\xae\x02\x04\x14\n\r\n\x05\x04\x0f\x02\x04\x06\x12\x04\xae\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\x04\x01\x12\x04\xae\x02\r\x0f\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\xae\x02\x12\x13\n\x0c\n\x04\x04\x0f\x02\x05\x12\x04\xaf\x02\x04\x14\n\r\n\x05\x04\x0f\x02\x05\x06\x12\x04\xaf\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\x05\x01\x12\x04\xaf\x02\r\x0f\n\r\n\x05\x04\x0f\x02\x05\x03\x12\x04\xaf\x02\x12\x13\n\x0c\n\x04\x04\x0f\x02\x06\x12\x04\xb0\x02\x04\x14\n\r\n\x05\x04\x0f\x02\x06\x06\x12\x04\xb0\x02\x04\x0c\n\r\n\x05\x04\x0f\x02\x06\x01\x12\x04\xb0\x02\r\x0f\n\r\n\x05\x04\x0f\x02\x06\x03\x12\x04\xb0\x02\x12\x13b\x06proto3\n\xf4\x93\x03\n\x15v2/availability.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x0fv2/common.proto\"\x12\n\x10GetLimitsRequest\"\xc1\x01\n\x0eLimitsResponse\x127\n\x18small_object_range_limit\x18\x01 \x01(\x04R\x15smallObjectRangeLimit\x127\n\x18large_object_range_limit\x18\x02 \x01(\x04R\x15largeObjectRangeLimit\x12=\n\x1bnamespace_proof_range_limit\x18\x03 \x01(\x04R\x18namespaceProofRangeLimit\"\x95\x01\n\x10GetHeaderRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01\x12&\n\x0cpayload_hash\x18\x03 \x01(\tH\x02R\x0bpayloadHash\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hashB\x0f\n\r_payload_hash\"^\n\x15GetHeaderRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"P\n\x13HeaderRangeResponse\x129\n\x07headers\x18\x01 \x03(\x0b2\x1f.espresso.api.v2.HeaderResponseR\x07headers\"T\n\x0bHeightRange\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"=\n\x0fProtocolVersion\x12\x14\n\x05major\x18\x01 \x01(\rR\x05major\x12\x14\n\x05minor\x18\x02 \x01(\rR\x05minor\"J\n\x10QuorumSignatures\x12\x1c\n\tsignature\x18\x01 \x01(\tR\tsignature\x12\x18\n\x07signers\x18\x02 \x03(\x08R\x07signers\"\x8c\x01\n\x0bQuorumData2\x12\x1f\n\x0bleaf_commit\x18\x01 \x01(\tR\nleafCommit\x12\x19\n\x05epoch\x18\x02 \x01(\x04H\x00R\x05epoch\x88\x01\x01\x12&\n\x0cblock_number\x18\x03 \x01(\x04H\x01R\x0bblockNumber\x88\x01\x01B\x08\n\x06_epochB\x0f\n\r_block_number\"e\n\tVote2Data\x12\x1f\n\x0bleaf_commit\x18\x01 \x01(\tR\nleafCommit\x12\x14\n\x05epoch\x18\x02 \x01(\x04R\x05epoch\x12!\n\x0cblock_number\x18\x03 \x01(\x04R\x0bblockNumber\"G\n\x0cTimeoutData2\x12\x12\n\x04view\x18\x01 \x01(\x04R\x04view\x12\x19\n\x05epoch\x18\x02 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"4\n\x08LockView\x12\x14\n\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12\x12\n\x04view\x18\x02 \x01(\x04R\x04view\"u\n\x0cTimeoutData3\x12\x12\n\x04view\x18\x01 \x01(\x04R\x04view\x12\x14\n\x05epoch\x18\x02 \x01(\x04R\x05epoch\x122\n\x04lock\x18\x03 \x01(\x0b2\x19.espresso.api.v2.LockViewH\x00R\x04lock\x88\x01\x01B\x07\n\x05_lock\"h\n\x15ViewSyncFinalizeData2\x12\x14\n\x05relay\x18\x01 \x01(\x04R\x05relay\x12\x14\n\x05round\x18\x02 \x01(\x04R\x05round\x12\x19\n\x05epoch\x18\x03 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"\xca\x02\n\x13UpgradeProposalData\x12A\n\x0bold_version\x18\x01 \x01(\x0b2 .espresso.api.v2.ProtocolVersionR\noldVersion\x12A\n\x0bnew_version\x18\x02 \x01(\x0b2 .espresso.api.v2.ProtocolVersionR\nnewVersion\x12\x1b\n\tdecide_by\x18\x03 \x01(\x04R\x08decideBy\x12(\n\x10new_version_hash\x18\x04 \x01(\x0cR\x0enewVersionHash\x121\n\x15old_version_last_view\x18\x05 \x01(\x04R\x12oldVersionLastView\x123\n\x16new_version_first_view\x18\x06 \x01(\x04R\x13newVersionFirstView\"\xd3\x01\n\x12QuorumCertificate2\x120\n\x04data\x18\x01 \x01(\x0b2\x1c.espresso.api.v2.QuorumData2R\x04data\x12\'\n\x0fvote_commitment\x18\x02 \x01(\tR\x0evoteCommitment\x12\x1f\n\x0bview_number\x18\x03 \x01(\x04R\nviewNumber\x12A\n\nsignatures\x18\x04 \x01(\x0b2!.espresso.api.v2.QuorumSignaturesR\nsignatures\"\xcb\x01\n\x0cCertificate2\x12.\n\x04data\x18\x01 \x01(\x0b2\x1a.espresso.api.v2.Vote2DataR\x04data\x12\'\n\x0fvote_commitment\x18\x02 \x01(\tR\x0evoteCommitment\x12\x1f\n\x0bview_number\x18\x03 \x01(\x04R\nviewNumber\x12A\n\nsignatures\x18\x04 \x01(\x0b2!.espresso.api.v2.QuorumSignaturesR\nsignatures\"\xd5\x01\n\x13TimeoutCertificate2\x121\n\x04data\x18\x01 \x01(\x0b2\x1d.espresso.api.v2.TimeoutData2R\x04data\x12\'\n\x0fvote_commitment\x18\x02 \x01(\tR\x0evoteCommitment\x12\x1f\n\x0bview_number\x18\x03 \x01(\x04R\nviewNumber\x12A\n\nsignatures\x18\x04 \x01(\x0b2!.espresso.api.v2.QuorumSignaturesR\nsignatures\"\x93\x01\n\x11TimeoutSignatures\x122\n\x04lock\x18\x01 \x01(\x0b2\x19.espresso.api.v2.LockViewH\x00R\x04lock\x88\x01\x01\x12A\n\nsignatures\x18\x02 \x01(\x0b2!.espresso.api.v2.QuorumSignaturesR\nsignaturesB\x07\n\x05_lock\"\xa2\x02\n\x13TimeoutCertificate3\x12\x1f\n\x0bview_number\x18\x01 \x01(\x04R\nviewNumber\x12\x14\n\x05epoch\x18\x02 \x01(\x04R\x05epoch\x12E\n\tlock_cert\x18\x03 \x01(\x0b2#.espresso.api.v2.QuorumCertificate2H\x00R\x08lockCert\x88\x01\x01\x12A\n\nsignatures\x18\x04 \x01(\x0b2!.espresso.api.v2.QuorumSignaturesR\nsignatures\x12<\n\x07earlier\x18\x05 \x03(\x0b2\".espresso.api.v2.TimeoutSignaturesR\x07earlierB\x0c\n\n_lock_cert\"\xe7\x01\n\x1cViewSyncFinalizeCertificate2\x12:\n\x04data\x18\x01 \x01(\x0b2&.espresso.api.v2.ViewSyncFinalizeData2R\x04data\x12\'\n\x0fvote_commitment\x18\x02 \x01(\tR\x0evoteCommitment\x12\x1f\n\x0bview_number\x18\x03 \x01(\x04R\nviewNumber\x12A\n\nsignatures\x18\x04 \x01(\x0b2!.espresso.api.v2.QuorumSignaturesR\nsignatures\"\xdb\x01\n\x12UpgradeCertificate\x128\n\x04data\x18\x01 \x01(\x0b2$.espresso.api.v2.UpgradeProposalDataR\x04data\x12\'\n\x0fvote_commitment\x18\x02 \x01(\tR\x0evoteCommitment\x12\x1f\n\x0bview_number\x18\x03 \x01(\x04R\nviewNumber\x12A\n\nsignatures\x18\x04 \x01(\x0b2!.espresso.api.v2.QuorumSignaturesR\nsignatures\"\xf5\x01\n\x13ViewChangeEvidence2\x12@\n\x07timeout\x18\x01 \x01(\x0b2$.espresso.api.v2.TimeoutCertificate2H\x00R\x07timeout\x12L\n\tview_sync\x18\x02 \x01(\x0b2-.espresso.api.v2.ViewSyncFinalizeCertificate2H\x00R\x08viewSync\x12B\n\x08timeout3\x18\x03 \x01(\x0b2$.espresso.api.v2.TimeoutCertificate3H\x00R\x08timeout3B\n\n\x08evidence\"_\n\x07Payload\x12\x1f\n\x0braw_payload\x18\x01 \x01(\x0cR\nrawPayload\x123\n\x08ns_table\x18\x02 \x01(\x0b2\x18.espresso.api.v2.NsTableR\x07nsTable\"\xe9\x04\n\x05Leaf2\x12\x1f\n\x0bview_number\x18\x01 \x01(\x04R\nviewNumber\x12B\n\njustify_qc\x18\x02 \x01(\x0b2#.espresso.api.v2.QuorumCertificate2R\tjustifyQc\x12V\n\x15next_epoch_justify_qc\x18\x03 \x01(\x0b2#.espresso.api.v2.QuorumCertificate2R\x12nextEpochJustifyQc\x12+\n\x11parent_commitment\x18\x04 \x01(\tR\x10parentCommitment\x12B\n\x0cblock_header\x18\x05 \x01(\x0b2\x1f.espresso.api.v2.HeaderResponseR\x0bblockHeader\x12T\n\x13upgrade_certificate\x18\x06 \x01(\x0b2#.espresso.api.v2.UpgradeCertificateR\x12upgradeCertificate\x12=\n\rblock_payload\x18\x07 \x01(\x0b2\x18.espresso.api.v2.PayloadR\x0cblockPayload\x12V\n\x14view_change_evidence\x18\x08 \x01(\x0b2$.espresso.api.v2.ViewChangeEvidence2R\x12viewChangeEvidence\x12&\n\x0fnext_drb_result\x18\t \x01(\x0cR\rnextDrbResult\x12\x1d\n\nwith_epoch\x18\n \x01(\x08R\twithEpoch\"o\n\x0cLeafResponse\x12*\n\x04leaf\x18\x01 \x01(\x0b2\x16.espresso.api.v2.Leaf2R\x04leaf\x123\n\x02qc\x18\x02 \x01(\x0b2#.espresso.api.v2.QuorumCertificate2R\x02qc\"Z\n\x0eGetLeafRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hash\"\\\n\x13GetLeafRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"J\n\x11LeafRangeResponse\x125\n\x06leaves\x18\x01 \x03(\x0b2\x1d.espresso.api.v2.LeafResponseR\x06leaves\"9\n\x0fGetCert2Request\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01B\t\n\x07_height\"P\n\rCert2Response\x12?\n\x0bcertificate\x18\x01 \x01(\x0b2\x1d.espresso.api.v2.Certificate2R\x0bcertificate\"\xcf\x01\n\rBlockResponse\x127\n\x06header\x18\x01 \x01(\x0b2\x1f.espresso.api.v2.HeaderResponseR\x06header\x122\n\x07payload\x18\x02 \x01(\x0b2\x18.espresso.api.v2.PayloadR\x07payload\x12\x12\n\x04hash\x18\x03 \x01(\tR\x04hash\x12\x12\n\x04size\x18\x04 \x01(\x04R\x04size\x12)\n\x10num_transactions\x18\x05 \x01(\x04R\x0fnumTransactions\"\x94\x01\n\x0fGetBlockRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01\x12&\n\x0cpayload_hash\x18\x03 \x01(\tH\x02R\x0bpayloadHash\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hashB\x0f\n\r_payload_hash\"]\n\x14GetBlockRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"L\n\x12BlockRangeResponse\x126\n\x06blocks\x18\x01 \x03(\x0b2\x1e.espresso.api.v2.BlockResponseR\x06blocks\"\x9e\x01\n\x0fPayloadResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1d\n\nblock_hash\x18\x02 \x01(\tR\tblockHash\x12\x12\n\x04hash\x18\x03 \x01(\tR\x04hash\x12\x12\n\x04size\x18\x04 \x01(\x04R\x04size\x12,\n\x04data\x18\x05 \x01(\x0b2\x18.espresso.api.v2.PayloadR\x04data\"\x90\x01\n\x11GetPayloadRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01\x12\"\n\nblock_hash\x18\x03 \x01(\tH\x02R\tblockHash\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hashB\r\n\x0b_block_hash\"_\n\x16GetPayloadRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"T\n\x14PayloadRangeResponse\x12<\n\x08payloads\x18\x01 \x03(\x0b2 .espresso.api.v2.PayloadResponseR\x08payloads\"\xd3\x01\n\nAdvzCommon\x12!\n\x0cpoly_commits\x18\x01 \x01(\tR\x0bpolyCommits\x12(\n\x10all_evals_digest\x18\x02 \x01(\tR\x0eallEvalsDigest\x12(\n\x10payload_byte_len\x18\x03 \x01(\rR\x0epayloadByteLen\x12*\n\x11num_storage_nodes\x18\x04 \x01(\rR\x0fnumStorageNodes\x12\"\n\x0cmultiplicity\x18\x05 \x01(\rR\x0cmultiplicity\"a\n\x0bAvidmCommon\x12#\n\rtotal_weights\x18\x01 \x01(\x04R\x0ctotalWeights\x12-\n\x12recovery_threshold\x18\x02 \x01(\x04R\x11recoveryThreshold\"c\n\rAvidmGf2Param\x12#\n\rtotal_weights\x18\x01 \x01(\x04R\x0ctotalWeights\x12-\n\x12recovery_threshold\x18\x02 \x01(\x04R\x11recoveryThreshold\"~\n\x0eAvidmGf2Common\x124\n\x05param\x18\x01 \x01(\x0b2\x1e.espresso.api.v2.AvidmGf2ParamR\x05param\x12\x1d\n\nns_commits\x18\x02 \x03(\tR\tnsCommits\x12\x17\n\x07ns_lens\x18\x03 \x03(\x04R\x06nsLens\"\xa7\x01\n\tVidCommon\x12-\n\x02v0\x18\x01 \x01(\x0b2\x1b.espresso.api.v2.AdvzCommonH\x00R\x02v0\x12.\n\x02v1\x18\x02 \x01(\x0b2\x1c.espresso.api.v2.AvidmCommonH\x00R\x02v1\x121\n\x02v2\x18\x03 \x01(\x0b2\x1f.espresso.api.v2.AvidmGf2CommonH\x00R\x02v2B\x08\n\x06common\"\xa1\x01\n\x11VidCommonResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\x1d\n\nblock_hash\x18\x02 \x01(\tR\tblockHash\x12!\n\x0cpayload_hash\x18\x03 \x01(\tR\x0bpayloadHash\x122\n\x06common\x18\x04 \x01(\x0b2\x1a.espresso.api.v2.VidCommonR\x06common\"\x98\x01\n\x13GetVidCommonRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01\x12&\n\x0cpayload_hash\x18\x03 \x01(\tH\x02R\x0bpayloadHash\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hashB\x0f\n\r_payload_hash\"a\n\x18GetVidCommonRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"[\n\x16VidCommonRangeResponse\x12A\n\nvid_common\x18\x01 \x03(\x0b2\".espresso.api.v2.VidCommonResponseR\tvidCommon\"E\n\x0bTransaction\x12\x1c\n\tnamespace\x18\x01 \x01(\x04R\tnamespace\x12\x18\n\x07payload\x18\x02 \x01(\x0cR\x07payload\"e\n\x0eNsProofPayload\x12\x19\n\x08ns_index\x18\x01 \x01(\x04R\x07nsIndex\x12\x1d\n\nns_payload\x18\x02 \x01(\x0cR\tnsPayload\x12\x19\n\x08ns_proof\x18\x03 \x01(\tR\x07nsProof\"e\n\x0cAvidmTxProof\x12\x19\n\x08tx_index\x18\x01 \x01(\x0cR\x07txIndex\x12:\n\x08ns_proof\x18\x02 \x01(\x0b2\x1f.espresso.api.v2.NsProofPayloadR\x07nsProof\"h\n\x0fAvidmGf2TxProof\x12\x19\n\x08tx_index\x18\x01 \x01(\x0cR\x07txIndex\x12:\n\x08ns_proof\x18\x02 \x01(\x0b2\x1f.espresso.api.v2.NsProofPayloadR\x07nsProof\"o\n\x0fSmallRangeProof\x12\x16\n\x06proofs\x18\x01 \x01(\tR\x06proofs\x12!\n\x0cprefix_bytes\x18\x02 \x01(\x0cR\x0bprefixBytes\x12!\n\x0csuffix_bytes\x18\x03 \x01(\x0cR\x0bsuffixBytes\"\x90\x03\n\x0bAdvzTxProof\x12\x19\n\x08tx_index\x18\x01 \x01(\x0cR\x07txIndex\x12&\n\x0fpayload_num_txs\x18\x02 \x01(\x0cR\rpayloadNumTxs\x12S\n\x15payload_proof_num_txs\x18\x03 \x01(\x0b2 .espresso.api.v2.SmallRangeProofR\x12payloadProofNumTxs\x127\n\x18payload_tx_table_entries\x18\x04 \x01(\x0cR\x15payloadTxTableEntries\x12d\n\x1epayload_proof_tx_table_entries\x18\x05 \x01(\x0b2 .espresso.api.v2.SmallRangeProofR\x1apayloadProofTxTableEntries\x12J\n\x10payload_proof_tx\x18\x06 \x01(\x0b2 .espresso.api.v2.SmallRangeProofR\x0epayloadProofTx\"\xa7\x01\n\x07TxProof\x12.\n\x02v0\x18\x01 \x01(\x0b2\x1c.espresso.api.v2.AdvzTxProofH\x00R\x02v0\x12/\n\x02v1\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.AvidmTxProofH\x00R\x02v1\x122\n\x02v2\x18\x03 \x01(\x0b2 .espresso.api.v2.AvidmGf2TxProofH\x00R\x02v2B\x07\n\x05proof\"\x89\x02\n\x13TransactionResponse\x12>\n\x0btransaction\x18\x01 \x01(\x0b2\x1c.espresso.api.v2.TransactionR\x0btransaction\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\x12\x14\n\x05index\x18\x03 \x01(\x04R\x05index\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12!\n\x0cblock_height\x18\x05 \x01(\x04R\x0bblockHeight\x12\x1c\n\tnamespace\x18\x06 \x01(\x04R\tnamespace\x12(\n\x10pos_in_namespace\x18\x07 \x01(\rR\x0eposInNamespace\"\xc2\x02\n\x1cTransactionWithProofResponse\x12>\n\x0btransaction\x18\x01 \x01(\x0b2\x1c.espresso.api.v2.TransactionR\x0btransaction\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\x12\x14\n\x05index\x18\x03 \x01(\x04R\x05index\x12\x1d\n\nblock_hash\x18\x04 \x01(\tR\tblockHash\x12!\n\x0cblock_height\x18\x05 \x01(\x04R\x0bblockHeight\x12\x1c\n\tnamespace\x18\x06 \x01(\x04R\tnamespace\x12(\n\x10pos_in_namespace\x18\x07 \x01(\rR\x0eposInNamespace\x12.\n\x05proof\x18\x08 \x01(\x0b2\x18.espresso.api.v2.TxProofR\x05proof\"\x86\x01\n\x15GetTransactionRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x19\n\x05index\x18\x02 \x01(\x04H\x01R\x05index\x88\x01\x01\x12\x17\n\x04hash\x18\x03 \x01(\tH\x02R\x04hash\x88\x01\x01B\t\n\x07_heightB\x08\n\x06_indexB\x07\n\x05_hash\"\x8b\x01\n\x1aGetTransactionProofRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x19\n\x05index\x18\x02 \x01(\x04H\x01R\x05index\x88\x01\x01\x12\x17\n\x04hash\x18\x03 \x01(\tH\x02R\x04hash\x88\x01\x01B\t\n\x07_heightB\x08\n\x06_indexB\x07\n\x05_hash\"N\n\rNamespaceInfo\x12)\n\x10num_transactions\x18\x01 \x01(\x04R\x0fnumTransactions\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size\"\xd8\x02\n\x14BlockSummaryResponse\x127\n\x06header\x18\x01 \x01(\x0b2\x1f.espresso.api.v2.HeaderResponseR\x06header\x12\x12\n\x04hash\x18\x02 \x01(\tR\x04hash\x12\x12\n\x04size\x18\x03 \x01(\x04R\x04size\x12)\n\x10num_transactions\x18\x04 \x01(\x04R\x0fnumTransactions\x12U\n\nnamespaces\x18\x05 \x03(\x0b25.espresso.api.v2.BlockSummaryResponse.NamespacesEntryR\nnamespaces\x1a]\n\x0fNamespacesEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x124\n\x05value\x18\x02 \x01(\x0b2\x1e.espresso.api.v2.NamespaceInfoR\x05value:\x028\x01\"@\n\x16GetBlockSummaryRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01B\t\n\x07_height\"d\n\x1bGetBlockSummaryRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"`\n\x19BlockSummaryRangeResponse\x12C\n\tsummaries\x18\x01 \x03(\x0b2%.espresso.api.v2.BlockSummaryResponseR\tsummaries\"\x9d\x01\n\x0fLargeRangeProof\x12!\n\x0cprefix_elems\x18\x01 \x01(\tR\x0bprefixElems\x12!\n\x0csuffix_elems\x18\x02 \x01(\tR\x0bsuffixElems\x12!\n\x0cprefix_bytes\x18\x03 \x01(\x0cR\x0bprefixBytes\x12!\n\x0csuffix_bytes\x18\x04 \x01(\x0cR\x0bsuffixBytes\"\x84\x01\n\x0bAdvzNsProof\x12\x19\n\x08ns_index\x18\x01 \x01(\x0cR\x07nsIndex\x12\x1d\n\nns_payload\x18\x02 \x01(\x0cR\tnsPayload\x12;\n\x08ns_proof\x18\x03 \x01(\x0b2 .espresso.api.v2.LargeRangeProofR\x07nsProof\"]\n\x15AvidmBadEncodingProof\x12%\n\x0erecovered_poly\x18\x01 \x01(\tR\rrecoveredPoly\x12\x1d\n\nraw_shares\x18\x02 \x01(\tR\trawShares\"\xb4\x01\n\x17AvidmBadEncodingNsProof\x12\x19\n\x08ns_index\x18\x01 \x01(\x04R\x07nsIndex\x12\x1b\n\tns_commit\x18\x02 \x01(\tR\x08nsCommit\x12\x1e\n\x0bns_mt_proof\x18\x03 \x01(\tR\tnsMtProof\x12A\n\x08ns_proof\x18\x04 \x01(\x0b2&.espresso.api.v2.AvidmBadEncodingProofR\x07nsProof\"\x88\x02\n\x07NsProof\x12.\n\x02v0\x18\x01 \x01(\x0b2\x1c.espresso.api.v2.AdvzNsProofH\x00R\x02v0\x121\n\x02v1\x18\x02 \x01(\x0b2\x1f.espresso.api.v2.NsProofPayloadH\x00R\x02v1\x12^\n\x15v1_incorrect_encoding\x18\x03 \x01(\x0b2(.espresso.api.v2.AvidmBadEncodingNsProofH\x00R\x13v1IncorrectEncoding\x121\n\x02v2\x18\x04 \x01(\x0b2\x1f.espresso.api.v2.NsProofPayloadH\x00R\x02v2B\x07\n\x05proof\"\x8a\x01\n\x16NamespaceProofResponse\x12.\n\x05proof\x18\x01 \x01(\x0b2\x18.espresso.api.v2.NsProofR\x05proof\x12@\n\x0ctransactions\x18\x02 \x03(\x0b2\x1c.espresso.api.v2.TransactionR\x0ctransactions\"\xce\x01\n\x18GetNamespaceProofRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01\x12&\n\x0cpayload_hash\x18\x03 \x01(\tH\x02R\x0bpayloadHash\x88\x01\x01\x12!\n\tnamespace\x18\x04 \x01(\x04H\x03R\tnamespace\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hashB\x0f\n\r_payload_hashB\x0c\n\n_namespace\"\x97\x01\n\x1dGetNamespaceProofRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01\x12!\n\tnamespace\x18\x03 \x01(\x04H\x02R\tnamespace\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_untilB\x0c\n\n_namespace\"^\n\x1bNamespaceProofRangeResponse\x12?\n\x06proofs\x18\x01 \x03(\x0b2\'.espresso.api.v2.NamespaceProofResponseR\x06proofs\"{\n GetIncorrectEncodingProofRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12!\n\tnamespace\x18\x02 \x01(\x04H\x01R\tnamespace\x88\x01\x01B\t\n\x07_heightB\x0c\n\n_namespace\"`\n\x1eIncorrectEncodingProofResponse\x12>\n\x05proof\x18\x01 \x01(\x0b2(.espresso.api.v2.AvidmBadEncodingNsProofR\x05proof\"B\n\x10StateSignatureV1\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\"r\n\x10StateSignatureV2\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12%\n\x0elcv3_signature\x18\x02 \x01(\tR\rlcv3Signature\x12%\n\x0elcv2_signature\x18\x03 \x01(\tR\rlcv2Signature\"\xd1\x01\n\x13StateCertV1Response\x12\x14\n\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12,\n\x12light_client_state\x18\x02 \x01(\tR\x10lightClientState\x123\n\x16next_stake_table_state\x18\x03 \x01(\tR\x13nextStakeTableState\x12A\n\nsignatures\x18\x04 \x03(\x0b2!.espresso.api.v2.StateSignatureV1R\nsignatures\"\xee\x01\n\x13StateCertV2Response\x12\x14\n\x05epoch\x18\x01 \x01(\x04R\x05epoch\x12,\n\x12light_client_state\x18\x02 \x01(\tR\x10lightClientState\x123\n\x16next_stake_table_state\x18\x03 \x01(\tR\x13nextStakeTableState\x12A\n\nsignatures\x18\x04 \x03(\x0b2!.espresso.api.v2.StateSignatureV2R\nsignatures\x12\x1b\n\tauth_root\x18\x05 \x01(\tR\x08authRoot\":\n\x13GetStateCertRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"<\n\x15GetStateCertV2Request\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"7\n\x13StreamLeavesRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01B\x07\n\x05_from\"8\n\x14StreamHeadersRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01B\x07\n\x05_from\"7\n\x13StreamBlocksRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01B\x07\n\x05_from\"9\n\x15StreamPayloadsRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01B\x07\n\x05_from\":\n\x16StreamVidCommonRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01B\x07\n\x05_from\"n\n\x19StreamTransactionsRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12!\n\tnamespace\x18\x02 \x01(\x04H\x01R\tnamespace\x88\x01\x01B\x07\n\x05_fromB\x0c\n\n_namespace\"q\n\x1cStreamNamespaceProofsRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12!\n\tnamespace\x18\x02 \x01(\x04H\x01R\tnamespace\x88\x01\x01B\x07\n\x05_fromB\x0c\n\n_namespace\"L\n\x14GetLeafRangesRequest\x124\n\x06ranges\x18\x01 \x03(\x0b2\x1c.espresso.api.v2.HeightRangeR\x06ranges\"M\n\x15GetBlockRangesRequest\x124\n\x06ranges\x18\x01 \x03(\x0b2\x1c.espresso.api.v2.HeightRangeR\x06ranges\"Q\n\x19GetVidCommonRangesRequest\x124\n\x06ranges\x18\x01 \x03(\x0b2\x1c.espresso.api.v2.HeightRangeR\x06ranges2\xb6!\n\x13AvailabilityService\x12p\n\tGetLimits\x12!.espresso.api.v2.GetLimitsRequest\x1a\x1f.espresso.api.v2.LimitsResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2/availability/limits\x12p\n\tGetHeader\x12!.espresso.api.v2.GetHeaderRequest\x1a\x1f.espresso.api.v2.HeaderResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2/availability/header\x12\x85\x01\n\x0eGetHeaderRange\x12&.espresso.api.v2.GetHeaderRangeRequest\x1a$.espresso.api.v2.HeaderRangeResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v2/availability/header-range\x12h\n\x07GetLeaf\x12\x1f.espresso.api.v2.GetLeafRequest\x1a\x1d.espresso.api.v2.LeafResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v2/availability/leaf\x12}\n\x0cGetLeafRange\x12$.espresso.api.v2.GetLeafRangeRequest\x1a\".espresso.api.v2.LeafRangeResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/availability/leaf-range\x12\x83\x01\n\rGetLeafRanges\x12%.espresso.api.v2.GetLeafRangesRequest\x1a\".espresso.api.v2.LeafRangeResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v2/availability/leaf-ranges:\x01*\x12l\n\x08GetCert2\x12 .espresso.api.v2.GetCert2Request\x1a\x1e.espresso.api.v2.Cert2Response\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/availability/cert2\x12l\n\x08GetBlock\x12 .espresso.api.v2.GetBlockRequest\x1a\x1e.espresso.api.v2.BlockResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/availability/block\x12\x81\x01\n\rGetBlockRange\x12%.espresso.api.v2.GetBlockRangeRequest\x1a#.espresso.api.v2.BlockRangeResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v2/availability/block-range\x12\x87\x01\n\x0eGetBlockRanges\x12&.espresso.api.v2.GetBlockRangesRequest\x1a#.espresso.api.v2.BlockRangeResponse\"(\x82\xd3\xe4\x93\x02\"\"\x1d/v2/availability/block-ranges:\x01*\x12t\n\nGetPayload\x12\".espresso.api.v2.GetPayloadRequest\x1a .espresso.api.v2.PayloadResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v2/availability/payload\x12\x89\x01\n\x0fGetPayloadRange\x12\'.espresso.api.v2.GetPayloadRangeRequest\x1a%.espresso.api.v2.PayloadRangeResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/availability/payload-range\x12}\n\x0cGetVidCommon\x12$.espresso.api.v2.GetVidCommonRequest\x1a\".espresso.api.v2.VidCommonResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/availability/vid-common\x12\x92\x01\n\x11GetVidCommonRange\x12).espresso.api.v2.GetVidCommonRangeRequest\x1a\'.espresso.api.v2.VidCommonRangeResponse\")\x82\xd3\xe4\x93\x02#\x12!/v2/availability/vid-common-range\x12\x98\x01\n\x12GetVidCommonRanges\x12*.espresso.api.v2.GetVidCommonRangesRequest\x1a\'.espresso.api.v2.VidCommonRangeResponse\"-\x82\xd3\xe4\x93\x02\'\"\"/v2/availability/vid-common-ranges:\x01*\x12\x84\x01\n\x0eGetTransaction\x12&.espresso.api.v2.GetTransactionRequest\x1a$.espresso.api.v2.TransactionResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v2/availability/transaction\x12\x9d\x01\n\x13GetTransactionProof\x12+.espresso.api.v2.GetTransactionProofRequest\x1a-.espresso.api.v2.TransactionWithProofResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v2/availability/transaction-proof\x12\x89\x01\n\x0fGetBlockSummary\x12\'.espresso.api.v2.GetBlockSummaryRequest\x1a%.espresso.api.v2.BlockSummaryResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/availability/block-summary\x12\x9e\x01\n\x14GetBlockSummaryRange\x12,.espresso.api.v2.GetBlockSummaryRangeRequest\x1a*.espresso.api.v2.BlockSummaryRangeResponse\",\x82\xd3\xe4\x93\x02&\x12$/v2/availability/block-summary-range\x12\x91\x01\n\x11GetNamespaceProof\x12).espresso.api.v2.GetNamespaceProofRequest\x1a\'.espresso.api.v2.NamespaceProofResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v2/availability/namespace-proof\x12\xa6\x01\n\x16GetNamespaceProofRange\x12..espresso.api.v2.GetNamespaceProofRangeRequest\x1a,.espresso.api.v2.NamespaceProofRangeResponse\".\x82\xd3\xe4\x93\x02(\x12&/v2/availability/namespace-proof-range\x12\xb2\x01\n\x19GetIncorrectEncodingProof\x121.espresso.api.v2.GetIncorrectEncodingProofRequest\x1a/.espresso.api.v2.IncorrectEncodingProofResponse\"1\x82\xd3\xe4\x93\x02+\x12)/v2/availability/incorrect-encoding-proof\x12\x7f\n\x0cGetStateCert\x12$.espresso.api.v2.GetStateCertRequest\x1a$.espresso.api.v2.StateCertV1Response\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/availability/state-cert\x12\x86\x01\n\x0eGetStateCertV2\x12&.espresso.api.v2.GetStateCertV2Request\x1a$.espresso.api.v2.StateCertV2Response\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/availability/state-cert-v2\x12}\n\x0cStreamLeaves\x12$.espresso.api.v2.StreamLeavesRequest\x1a\x1d.espresso.api.v2.LeafResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/availability/stream/leaves0\x01\x12\x82\x01\n\rStreamHeaders\x12%.espresso.api.v2.StreamHeadersRequest\x1a\x1f.espresso.api.v2.HeaderResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/v2/availability/stream/headers0\x01\x12~\n\x0cStreamBlocks\x12$.espresso.api.v2.StreamBlocksRequest\x1a\x1e.espresso.api.v2.BlockResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/availability/stream/blocks0\x01\x12\x86\x01\n\x0eStreamPayloads\x12&.espresso.api.v2.StreamPayloadsRequest\x1a .espresso.api.v2.PayloadResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v2/availability/stream/payloads0\x01\x12\x8c\x01\n\x0fStreamVidCommon\x12\'.espresso.api.v2.StreamVidCommonRequest\x1a\".espresso.api.v2.VidCommonResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v2/availability/stream/vid-common0\x01\x12\x96\x01\n\x12StreamTransactions\x12*.espresso.api.v2.StreamTransactionsRequest\x1a$.espresso.api.v2.TransactionResponse\",\x82\xd3\xe4\x93\x02&\x12$/v2/availability/stream/transactions0\x01\x12\xa3\x01\n\x15StreamNamespaceProofs\x12-.espresso.api.v2.StreamNamespaceProofsRequest\x1a\'.espresso.api.v2.NamespaceProofResponse\"0\x82\xd3\xe4\x93\x02*\x12(/v2/availability/stream/namespace-proofs0\x01J\xec\x8d\x02\n\x07\x12\x05\x00\x00\x9c\x08\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x19\n\t\n\x02\x04\x00\x12\x03\x07\x00\x1b\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x18\n\n\n\x02\x04\x01\x12\x04\t\x00\x13\x01\n\n\n\x03\x04\x01\x01\x12\x03\t\x08\x16\nK\n\x04\x04\x01\x02\x00\x12\x03\x0b\x02&\x1a> Most leaves or VID common objects one range query may return\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x0b\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0b\t!\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0b$%\n\xad\x01\n\x04\x04\x01\x02\x01\x12\x03\x0f\x02&\x1a\x9f\x01 Most blocks, payloads, headers or block summaries one range query may return. Headers and\n summaries count as large because serving one loads its whole block\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x0f\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x0f\t!\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0f$%\nD\n\x04\x04\x01\x02\x02\x12\x03\x12\x02)\x1a7 Most blocks one namespace-proof range query may cover\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x12\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x12\t$\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x12\'(\n\n\n\x02\x04\x02\x12\x04\x15\x00\x1e\x01\n\n\n\x03\x04\x02\x01\x12\x03\x15\x08\x18\n&\n\x04\x04\x02\x02\x00\x12\x03\x17\x02\x1d\x1a\x19 Look up by block height\n\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x17\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x17\x0b\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x17\x12\x18\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x17\x1b\x1c\n;\n\x04\x04\x02\x02\x01\x12\x03\x1a\x02\x1b\x1a. Look up by block hash, TaggedBase64 `BLOCK~`\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1a\x0b\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1a\x12\x16\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1a\x19\x1a\n]\n\x04\x04\x02\x02\x02\x12\x03\x1d\x02#\x1aP Look up by payload hash, which may match several blocks, the first is returned\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03\x1d\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03\x1d\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x1d\x12\x1e\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x1d!\"\n\n\n\x02\x04\x03\x12\x04 \x00&\x01\n\n\n\x03\x04\x03\x01\x12\x03 \x08\x1d\n4\n\x04\x04\x03\x02\x00\x12\x03\"\x02\x1b\x1a\' First height in the range (inclusive)\n\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03\"\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03\"\x0b\x11\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\"\x12\x16\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\"\x19\x1a\nE\n\x04\x04\x03\x02\x01\x12\x03%\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\x0c\n\x05\x04\x03\x02\x01\x04\x12\x03%\x02\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03%\x0b\x11\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03%\x12\x17\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03%\x1a\x1b\n\n\n\x02\x04\x04\x12\x04(\x00*\x01\n\n\n\x03\x04\x04\x01\x12\x03(\x08\x1b\n\x0b\n\x04\x04\x04\x02\x00\x12\x03)\x02&\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03)\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03)\x0b\x19\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03)\x1a!\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03)$%\nO\n\x02\x04\x05\x12\x04-\x003\x01\x1aC A half-open range of heights, one entry of a batch request\'s body\n\n\n\n\x03\x04\x05\x01\x12\x03-\x08\x13\nB\n\x04\x04\x05\x02\x00\x12\x03/\x02\x1b\x1a5 Required, the first height in the range (inclusive)\n\n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03/\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03/\x0b\x11\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03/\x12\x16\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03/\x19\x1a\nS\n\x04\x04\x05\x02\x01\x12\x032\x02\x1c\x1aF Required, the height just past the last one in the range (exclusive)\n\n\x0c\n\x05\x04\x05\x02\x01\x04\x12\x032\x02\n\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x032\x0b\x11\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x032\x12\x17\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x032\x1a\x1b\n\n\n\x02\x04\x06\x12\x045\x009\x01\n\n\n\x03\x04\x06\x01\x12\x035\x08\x17\n\x0b\n\x04\x04\x06\x02\x00\x12\x036\x02\x13\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x036\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x036\t\x0e\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x036\x11\x12\n\x0b\n\x04\x04\x06\x02\x01\x12\x038\x02\x13\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x038\x02\x08\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x038\t\x0e\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x038\x11\x12\nP\n\x02\x04\x07\x12\x04<\x00B\x01\x1aD The aggregate signature on a certificate and who contributed to it\n\n\n\n\x03\x04\x07\x01\x12\x03<\x08\x18\n?\n\x04\x04\x07\x02\x00\x12\x03>\x02\x17\x1a2 Aggregate BLS signature, TaggedBase64 `BLS_SIG~`\n\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03>\x02\x08\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03>\t\x12\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03>\x15\x16\nF\n\x04\x04\x07\x02\x01\x12\x03A\x02\x1c\x1a9 Which validators signed, by position in the stake table\n\n\x0c\n\x05\x04\x07\x02\x01\x04\x12\x03A\x02\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03A\x0b\x0f\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03A\x10\x17\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03A\x1a\x1b\n\n\n\x02\x04\x08\x12\x04D\x00M\x01\n\n\n\x03\x04\x08\x01\x12\x03D\x08\x13\nF\n\x04\x04\x08\x02\x00\x12\x03F\x02\x19\x1a9 Commitment to the leaf voted on, TaggedBase64 `COMMIT~`\n\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03F\x02\x08\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03F\t\x14\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03F\x17\x18\n+\n\x04\x04\x08\x02\x01\x12\x03I\x02\x1c\x1a\x1e Absent before proof of stake\n\n\x0c\n\x05\x04\x08\x02\x01\x04\x12\x03I\x02\n\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03I\x0b\x11\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03I\x12\x17\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03I\x1a\x1b\n+\n\x04\x04\x08\x02\x02\x12\x03L\x02#\x1a\x1e Absent before proof of stake\n\n\x0c\n\x05\x04\x08\x02\x02\x04\x12\x03L\x02\n\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03L\x0b\x11\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03L\x12\x1e\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03L!\"\n\n\n\x02\x04\t\x12\x04O\x00V\x01\n\n\n\x03\x04\t\x01\x12\x03O\x08\x11\nF\n\x04\x04\t\x02\x00\x12\x03Q\x02\x19\x1a9 Commitment to the leaf voted on, TaggedBase64 `COMMIT~`\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03Q\x02\x08\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03Q\t\x14\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03Q\x17\x18\n\x0b\n\x04\x04\t\x02\x01\x12\x03S\x02\x13\n\x0c\n\x05\x04\t\x02\x01\x05\x12\x03S\x02\x08\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03S\t\x0e\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03S\x11\x12\n\x0b\n\x04\x04\t\x02\x02\x12\x03U\x02\x1a\n\x0c\n\x05\x04\t\x02\x02\x05\x12\x03U\x02\x08\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03U\t\x15\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03U\x18\x19\n\n\n\x02\x04\n\x12\x04X\x00^\x01\n\n\n\x03\x04\n\x01\x12\x03X\x08\x14\n\"\n\x04\x04\n\x02\x00\x12\x03Z\x02\x12\x1a\x15 View that timed out\n\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03Z\x02\x08\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03Z\t\r\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03Z\x10\x11\n+\n\x04\x04\n\x02\x01\x12\x03]\x02\x1c\x1a\x1e Absent before proof of stake\n\n\x0c\n\x05\x04\n\x02\x01\x04\x12\x03]\x02\n\n\x0c\n\x05\x04\n\x02\x01\x05\x12\x03]\x0b\x11\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03]\x12\x17\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03]\x1a\x1b\n1\n\x02\x04\x0b\x12\x04a\x00e\x01\x1a% A lock, ordered by epoch, then view\n\n\n\n\x03\x04\x0b\x01\x12\x03a\x08\x10\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03b\x02\x13\n\x0c\n\x05\x04\x0b\x02\x00\x05\x12\x03b\x02\x08\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03b\t\x0e\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03b\x11\x12\n\x0b\n\x04\x04\x0b\x02\x01\x12\x03d\x02\x12\n\x0c\n\x05\x04\x0b\x02\x01\x05\x12\x03d\x02\x08\n\x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03d\t\r\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03d\x10\x11\n\n\n\x02\x04\x0c\x12\x04g\x00o\x01\n\n\n\x03\x04\x0c\x01\x12\x03g\x08\x14\n\"\n\x04\x04\x0c\x02\x00\x12\x03i\x02\x12\x1a\x15 View that timed out\n\n\x0c\n\x05\x04\x0c\x02\x00\x05\x12\x03i\x02\x08\n\x0c\n\x05\x04\x0c\x02\x00\x01\x12\x03i\t\r\n\x0c\n\x05\x04\x0c\x02\x00\x03\x12\x03i\x10\x11\n\x0b\n\x04\x04\x0c\x02\x01\x12\x03k\x02\x13\n\x0c\n\x05\x04\x0c\x02\x01\x05\x12\x03k\x02\x08\n\x0c\n\x05\x04\x0c\x02\x01\x01\x12\x03k\t\x0e\n\x0c\n\x05\x04\x0c\x02\x01\x03\x12\x03k\x11\x12\nR\n\x04\x04\x0c\x02\x02\x12\x03n\x02\x1d\x1aE The signer\'s lock, absent while it is locked on nothing but genesis\n\n\x0c\n\x05\x04\x0c\x02\x02\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x0c\x02\x02\x06\x12\x03n\x0b\x13\n\x0c\n\x05\x04\x0c\x02\x02\x01\x12\x03n\x14\x18\n\x0c\n\x05\x04\x0c\x02\x02\x03\x12\x03n\x1b\x1c\n\n\n\x02\x04\r\x12\x04q\x00z\x01\n\n\n\x03\x04\r\x01\x12\x03q\x08\x1d\n3\n\x04\x04\r\x02\x00\x12\x03s\x02\x13\x1a& Relay that coordinated the view sync\n\n\x0c\n\x05\x04\r\x02\x00\x05\x12\x03s\x02\x08\n\x0c\n\x05\x04\r\x02\x00\x01\x12\x03s\t\x0e\n\x0c\n\x05\x04\r\x02\x00\x03\x12\x03s\x11\x12\n)\n\x04\x04\r\x02\x01\x12\x03v\x02\x13\x1a\x1c View the sync finalized on\n\n\x0c\n\x05\x04\r\x02\x01\x05\x12\x03v\x02\x08\n\x0c\n\x05\x04\r\x02\x01\x01\x12\x03v\t\x0e\n\x0c\n\x05\x04\r\x02\x01\x03\x12\x03v\x11\x12\n+\n\x04\x04\r\x02\x02\x12\x03y\x02\x1c\x1a\x1e Absent before proof of stake\n\n\x0c\n\x05\x04\r\x02\x02\x04\x12\x03y\x02\n\n\x0c\n\x05\x04\r\x02\x02\x05\x12\x03y\x0b\x11\n\x0c\n\x05\x04\r\x02\x02\x01\x12\x03y\x12\x17\n\x0c\n\x05\x04\r\x02\x02\x03\x12\x03y\x1a\x1b\n\x0b\n\x02\x04\x0e\x12\x05|\x00\x8c\x01\x01\n\n\n\x03\x04\x0e\x01\x12\x03|\x08\x1b\n\x0b\n\x04\x04\x0e\x02\x00\x12\x03}\x02\"\n\x0c\n\x05\x04\x0e\x02\x00\x06\x12\x03}\x02\x11\n\x0c\n\x05\x04\x0e\x02\x00\x01\x12\x03}\x12\x1d\n\x0c\n\x05\x04\x0e\x02\x00\x03\x12\x03} !\n\x0b\n\x04\x04\x0e\x02\x01\x12\x03\x7f\x02\"\n\x0c\n\x05\x04\x0e\x02\x01\x06\x12\x03\x7f\x02\x11\n\x0c\n\x05\x04\x0e\x02\x01\x01\x12\x03\x7f\x12\x1d\n\x0c\n\x05\x04\x0e\x02\x01\x03\x12\x03\x7f !\nW\n\x04\x04\x0e\x02\x02\x12\x04\x82\x01\x02\x17\x1aI Last view in which the upgrade may still be decided, discarded after it\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\x82\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\x82\x01\t\x12\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\x82\x01\x15\x16\nF\n\x04\x04\x0e\x02\x03\x12\x04\x85\x01\x02\x1d\x1a8 Identifies the protocol being voted on, base64 in JSON\n\n\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\x85\x01\x02\x07\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\x85\x01\x08\x18\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\x85\x01\x1b\x1c\n1\n\x04\x04\x0e\x02\x04\x12\x04\x88\x01\x02#\x1a# Last view the old version governs\n\n\r\n\x05\x04\x0e\x02\x04\x05\x12\x04\x88\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\x88\x01\t\x1e\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\x88\x01!\"\n2\n\x04\x04\x0e\x02\x05\x12\x04\x8b\x01\x02$\x1a$ First view the new version governs\n\n\r\n\x05\x04\x0e\x02\x05\x05\x12\x04\x8b\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\x8b\x01\t\x1f\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\x8b\x01\"#\n\xa2\x01\n\x02\x04\x0f\x12\x06\x90\x01\x00\x9a\x01\x01\x1a\x93\x01 A certificate is its voted data plus the signatures over the commitment of that data. One\n message per data type, the shape is otherwise the same\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\x90\x01\x08\x1a\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\x91\x01\x02\x17\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\x91\x01\x02\r\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\x91\x01\x0e\x12\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\x91\x01\x15\x16\ng\n\x04\x04\x0f\x02\x01\x12\x04\x94\x01\x02\x1d\x1aY Commitment to the versioned vote, which the signatures are over. TaggedBase64 `COMMIT~`\n\n\r\n\x05\x04\x0f\x02\x01\x05\x12\x04\x94\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\x94\x01\t\x18\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\x94\x01\x1b\x1c\n\x0c\n\x04\x04\x0f\x02\x02\x12\x04\x96\x01\x02\x19\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\x96\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\x96\x01\t\x14\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\x96\x01\x17\x18\nF\n\x04\x04\x0f\x02\x03\x12\x04\x99\x01\x02\"\x1a8 Absent on the genesis certificate, which nobody signed\n\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\x99\x01\x02\x12\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\x99\x01\x13\x1d\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\x99\x01 !\nN\n\x02\x04\x10\x12\x06\x9d\x01\x00\xa6\x01\x01\x1a@ The new protocol\'s phase-2 certificate, which finalizes a leaf\n\n\x0b\n\x03\x04\x10\x01\x12\x04\x9d\x01\x08\x14\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\x9e\x01\x02\x15\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\x9e\x01\x02\x0b\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\x9e\x01\x0c\x10\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\x9e\x01\x13\x14\n&\n\x04\x04\x10\x02\x01\x12\x04\xa1\x01\x02\x1d\x1a\x18 TaggedBase64 `COMMIT~`\n\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xa1\x01\x02\x08\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xa1\x01\t\x18\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xa1\x01\x1b\x1c\n\x0c\n\x04\x04\x10\x02\x02\x12\x04\xa3\x01\x02\x19\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\xa3\x01\x02\x08\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xa3\x01\t\x14\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xa3\x01\x17\x18\n\x0c\n\x04\x04\x10\x02\x03\x12\x04\xa5\x01\x02\"\n\r\n\x05\x04\x10\x02\x03\x06\x12\x04\xa5\x01\x02\x12\n\r\n\x05\x04\x10\x02\x03\x01\x12\x04\xa5\x01\x13\x1d\n\r\n\x05\x04\x10\x02\x03\x03\x12\x04\xa5\x01 !\n\x0c\n\x02\x04\x11\x12\x06\xa8\x01\x00\xb1\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xa8\x01\x08\x1b\n\x0c\n\x04\x04\x11\x02\x00\x12\x04\xa9\x01\x02\x18\n\r\n\x05\x04\x11\x02\x00\x06\x12\x04\xa9\x01\x02\x0e\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xa9\x01\x0f\x13\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xa9\x01\x16\x17\n&\n\x04\x04\x11\x02\x01\x12\x04\xac\x01\x02\x1d\x1a\x18 TaggedBase64 `COMMIT~`\n\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\xac\x01\x02\x08\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xac\x01\t\x18\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xac\x01\x1b\x1c\n\x0c\n\x04\x04\x11\x02\x02\x12\x04\xae\x01\x02\x19\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\xae\x01\x02\x08\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xae\x01\t\x14\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xae\x01\x17\x18\n\x0c\n\x04\x04\x11\x02\x03\x12\x04\xb0\x01\x02\"\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\xb0\x01\x02\x12\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xb0\x01\x13\x1d\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\xb0\x01 !\nl\n\x02\x04\x12\x12\x06\xb4\x01\x00\xb9\x01\x01\x1a^ The signers of a timeout certificate that hold the same lock, earlier than the certificate\'s\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xb4\x01\x08\x19\nD\n\x04\x04\x12\x02\x00\x12\x04\xb6\x01\x02\x1d\x1a6 Absent for the signers locked on nothing but genesis\n\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xb6\x01\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xb6\x01\x0b\x13\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xb6\x01\x14\x18\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xb6\x01\x1b\x1c\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\xb8\x01\x02\"\n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xb8\x01\x02\x12\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xb8\x01\x13\x1d\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xb8\x01 !\n\xc9\x01\n\x02\x04\x13\x12\x06\xbe\x01\x00\xcb\x01\x01\x1a\xba\x01 The timeout certificate the new protocol carries, whose epoch is always known.\n Every signer signs the lock it holds; the certificate\'s lock is the latest, and\n is that of `lock_cert`.\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xbe\x01\x08\x1b\n\x0c\n\x04\x04\x13\x02\x00\x12\x04\xbf\x01\x02\x19\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xbf\x01\x02\x08\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xbf\x01\t\x14\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xbf\x01\x17\x18\n\x0c\n\x04\x04\x13\x02\x01\x12\x04\xc1\x01\x02\x13\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\xc1\x01\x02\x08\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xc1\x01\t\x0e\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xc1\x01\x11\x12\nc\n\x04\x04\x13\x02\x02\x12\x04\xc4\x01\x02,\x1aU The certificate of the latest lock its signers hold, absent if that lock is genesis\n\n\r\n\x05\x04\x13\x02\x02\x04\x12\x04\xc4\x01\x02\n\n\r\n\x05\x04\x13\x02\x02\x06\x12\x04\xc4\x01\x0b\x1d\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xc4\x01\x1e\'\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xc4\x01*+\n-\n\x04\x04\x13\x02\x03\x12\x04\xc7\x01\x02\"\x1a\x1f The signers holding that lock\n\n\r\n\x05\x04\x13\x02\x03\x06\x12\x04\xc7\x01\x02\x12\n\r\n\x05\x04\x13\x02\x03\x01\x12\x04\xc7\x01\x13\x1d\n\r\n\x05\x04\x13\x02\x03\x03\x12\x04\xc7\x01 !\nc\n\x04\x04\x13\x02\x04\x12\x04\xca\x01\x02)\x1aU The signers holding earlier locks, one aggregate signature per lock, earliest first\n\n\r\n\x05\x04\x13\x02\x04\x04\x12\x04\xca\x01\x02\n\n\r\n\x05\x04\x13\x02\x04\x06\x12\x04\xca\x01\x0b\x1c\n\r\n\x05\x04\x13\x02\x04\x01\x12\x04\xca\x01\x1d$\n\r\n\x05\x04\x13\x02\x04\x03\x12\x04\xca\x01\'(\n\x0c\n\x02\x04\x14\x12\x06\xcd\x01\x00\xd6\x01\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xcd\x01\x08$\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xce\x01\x02!\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xce\x01\x02\x17\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xce\x01\x18\x1c\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xce\x01\x1f \n&\n\x04\x04\x14\x02\x01\x12\x04\xd1\x01\x02\x1d\x1a\x18 TaggedBase64 `COMMIT~`\n\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xd1\x01\x02\x08\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xd1\x01\t\x18\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xd1\x01\x1b\x1c\n\x0c\n\x04\x04\x14\x02\x02\x12\x04\xd3\x01\x02\x19\n\r\n\x05\x04\x14\x02\x02\x05\x12\x04\xd3\x01\x02\x08\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xd3\x01\t\x14\n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\xd3\x01\x17\x18\n\x0c\n\x04\x04\x14\x02\x03\x12\x04\xd5\x01\x02\"\n\r\n\x05\x04\x14\x02\x03\x06\x12\x04\xd5\x01\x02\x12\n\r\n\x05\x04\x14\x02\x03\x01\x12\x04\xd5\x01\x13\x1d\n\r\n\x05\x04\x14\x02\x03\x03\x12\x04\xd5\x01 !\n\x0c\n\x02\x04\x15\x12\x06\xd8\x01\x00\xe1\x01\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xd8\x01\x08\x1a\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\xd9\x01\x02\x1f\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\xd9\x01\x02\x15\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xd9\x01\x16\x1a\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xd9\x01\x1d\x1e\n&\n\x04\x04\x15\x02\x01\x12\x04\xdc\x01\x02\x1d\x1a\x18 TaggedBase64 `COMMIT~`\n\n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\xdc\x01\x02\x08\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xdc\x01\t\x18\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\xdc\x01\x1b\x1c\n\x0c\n\x04\x04\x15\x02\x02\x12\x04\xde\x01\x02\x19\n\r\n\x05\x04\x15\x02\x02\x05\x12\x04\xde\x01\x02\x08\n\r\n\x05\x04\x15\x02\x02\x01\x12\x04\xde\x01\t\x14\n\r\n\x05\x04\x15\x02\x02\x03\x12\x04\xde\x01\x17\x18\n\x0c\n\x04\x04\x15\x02\x03\x12\x04\xe0\x01\x02\"\n\r\n\x05\x04\x15\x02\x03\x06\x12\x04\xe0\x01\x02\x12\n\r\n\x05\x04\x15\x02\x03\x01\x12\x04\xe0\x01\x13\x1d\n\r\n\x05\x04\x15\x02\x03\x03\x12\x04\xe0\x01 !\nV\n\x02\x04\x16\x12\x06\xe4\x01\x00\xec\x01\x01\x1aH Why a proposal\'s justify QC is not from the immediately preceding view\n\n\x0b\n\x03\x04\x16\x01\x12\x04\xe4\x01\x08\x1b\n\x0e\n\x04\x04\x16\x08\x00\x12\x06\xe5\x01\x02\xeb\x01\x03\n\r\n\x05\x04\x16\x08\x00\x01\x12\x04\xe5\x01\x08\x10\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\xe6\x01\x04$\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xe6\x01\x04\x17\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xe6\x01\x18\x1f\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xe6\x01\"#\n\x0c\n\x04\x04\x16\x02\x01\x12\x04\xe8\x01\x04/\n\r\n\x05\x04\x16\x02\x01\x06\x12\x04\xe8\x01\x04 \n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\xe8\x01!*\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xe8\x01-.\n\x0c\n\x04\x04\x16\x02\x02\x12\x04\xea\x01\x04%\n\r\n\x05\x04\x16\x02\x02\x06\x12\x04\xea\x01\x04\x17\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xea\x01\x18 \n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\xea\x01#$\n\x0c\n\x02\x04\x17\x12\x06\xee\x01\x00\xf3\x01\x01\n\x0b\n\x03\x04\x17\x01\x12\x04\xee\x01\x08\x0f\nY\n\x04\x04\x17\x02\x00\x12\x04\xf0\x01\x02\x18\x1aK The block\'s transactions in their canonical byte encoding, base64 in JSON\n\n\r\n\x05\x04\x17\x02\x00\x05\x12\x04\xf0\x01\x02\x07\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\xf0\x01\x08\x13\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\xf0\x01\x16\x17\n\x0c\n\x04\x04\x17\x02\x01\x12\x04\xf2\x01\x02\x17\n\r\n\x05\x04\x17\x02\x01\x06\x12\x04\xf2\x01\x02\t\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\xf2\x01\n\x12\n\r\n\x05\x04\x17\x02\x01\x03\x12\x04\xf2\x01\x15\x16\n\x0c\n\x02\x04\x18\x12\x06\xf5\x01\x00\x91\x02\x01\n\x0b\n\x03\x04\x18\x01\x12\x04\xf5\x01\x08\r\n\x0c\n\x04\x04\x18\x02\x00\x12\x04\xf6\x01\x02\x19\n\r\n\x05\x04\x18\x02\x00\x05\x12\x04\xf6\x01\x02\x08\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\xf6\x01\t\x14\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\xf6\x01\x17\x18\n,\n\x04\x04\x18\x02\x01\x12\x04\xf9\x01\x02$\x1a\x1e The QC this leaf chains from\n\n\r\n\x05\x04\x18\x02\x01\x06\x12\x04\xf9\x01\x02\x14\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\xf9\x01\x15\x1f\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\xf9\x01\"#\n\\\n\x04\x04\x18\x02\x02\x12\x04\xfc\x01\x02/\x1aN Formed by the next epoch\'s nodes, only on the leaves that hand over an epoch\n\n\r\n\x05\x04\x18\x02\x02\x06\x12\x04\xfc\x01\x02\x14\n\r\n\x05\x04\x18\x02\x02\x01\x12\x04\xfc\x01\x15*\n\r\n\x05\x04\x18\x02\x02\x03\x12\x04\xfc\x01-.\n&\n\x04\x04\x18\x02\x03\x12\x04\xff\x01\x02\x1f\x1a\x18 TaggedBase64 `COMMIT~`\n\n\r\n\x05\x04\x18\x02\x03\x05\x12\x04\xff\x01\x02\x08\n\r\n\x05\x04\x18\x02\x03\x01\x12\x04\xff\x01\t\x1a\n\r\n\x05\x04\x18\x02\x03\x03\x12\x04\xff\x01\x1d\x1e\n\x0c\n\x04\x04\x18\x02\x04\x12\x04\x81\x02\x02\"\n\r\n\x05\x04\x18\x02\x04\x06\x12\x04\x81\x02\x02\x10\n\r\n\x05\x04\x18\x02\x04\x01\x12\x04\x81\x02\x11\x1d\n\r\n\x05\x04\x18\x02\x04\x03\x12\x04\x81\x02 !\n@\n\x04\x04\x18\x02\x05\x12\x04\x84\x02\x02-\x1a2 Only when the proposal for this view carried one\n\n\r\n\x05\x04\x18\x02\x05\x06\x12\x04\x84\x02\x02\x14\n\r\n\x05\x04\x18\x02\x05\x01\x12\x04\x84\x02\x15(\n\r\n\x05\x04\x18\x02\x05\x03\x12\x04\x84\x02+,\nW\n\x04\x04\x18\x02\x06\x12\x04\x87\x02\x02\x1c\x1aI Absent from served leaves: the payload is stored and fetched separately\n\n\r\n\x05\x04\x18\x02\x06\x06\x12\x04\x87\x02\x02\t\n\r\n\x05\x04\x18\x02\x06\x01\x12\x04\x87\x02\n\x17\n\r\n\x05\x04\x18\x02\x06\x03\x12\x04\x87\x02\x1a\x1b\nG\n\x04\x04\x18\x02\x07\x12\x04\x8a\x02\x02/\x1a9 Only when the justify QC is not from the preceding view\n\n\r\n\x05\x04\x18\x02\x07\x06\x12\x04\x8a\x02\x02\x15\n\r\n\x05\x04\x18\x02\x07\x01\x12\x04\x8a\x02\x16*\n\r\n\x05\x04\x18\x02\x07\x03\x12\x04\x8a\x02-.\nd\n\x04\x04\x18\x02\x08\x12\x04\x8d\x02\x02\x1c\x1aV 32-byte DRB result for the next epoch, base64 in JSON, only on an epoch\'s last block\n\n\r\n\x05\x04\x18\x02\x08\x05\x12\x04\x8d\x02\x02\x07\n\r\n\x05\x04\x18\x02\x08\x01\x12\x04\x8d\x02\x08\x17\n\r\n\x05\x04\x18\x02\x08\x03\x12\x04\x8d\x02\x1a\x1b\nG\n\x04\x04\x18\x02\t\x12\x04\x90\x02\x02\x17\x1a9 Whether epochs were enabled when this leaf was proposed\n\n\r\n\x05\x04\x18\x02\t\x05\x12\x04\x90\x02\x02\x06\n\r\n\x05\x04\x18\x02\t\x01\x12\x04\x90\x02\x07\x11\n\r\n\x05\x04\x18\x02\t\x03\x12\x04\x90\x02\x14\x16\n\x0c\n\x02\x04\x19\x12\x06\x93\x02\x00\x98\x02\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\x93\x02\x08\x14\n\x0c\n\x04\x04\x19\x02\x00\x12\x04\x94\x02\x02\x11\n\r\n\x05\x04\x19\x02\x00\x06\x12\x04\x94\x02\x02\x07\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\x94\x02\x08\x0c\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\x94\x02\x0f\x10\n/\n\x04\x04\x19\x02\x01\x12\x04\x97\x02\x02\x1c\x1a! The QC that certifies this leaf\n\n\r\n\x05\x04\x19\x02\x01\x06\x12\x04\x97\x02\x02\x14\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\x97\x02\x15\x17\n\r\n\x05\x04\x19\x02\x01\x03\x12\x04\x97\x02\x1a\x1b\n\x0c\n\x02\x04\x1a\x12\x06\x9a\x02\x00\xa0\x02\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\x9a\x02\x08\x16\n\'\n\x04\x04\x1a\x02\x00\x12\x04\x9c\x02\x02\x1d\x1a\x19 Look up by block height\n\n\r\n\x05\x04\x1a\x02\x00\x04\x12\x04\x9c\x02\x02\n\n\r\n\x05\x04\x1a\x02\x00\x05\x12\x04\x9c\x02\x0b\x11\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\x9c\x02\x12\x18\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\x9c\x02\x1b\x1c\n<\n\x04\x04\x1a\x02\x01\x12\x04\x9f\x02\x02\x1b\x1a. Look up by leaf hash, TaggedBase64 `COMMIT~`\n\n\r\n\x05\x04\x1a\x02\x01\x04\x12\x04\x9f\x02\x02\n\n\r\n\x05\x04\x1a\x02\x01\x05\x12\x04\x9f\x02\x0b\x11\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\x9f\x02\x12\x16\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\x9f\x02\x19\x1a\n\x0c\n\x02\x04\x1b\x12\x06\xa2\x02\x00\xa8\x02\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\xa2\x02\x08\x1b\n5\n\x04\x04\x1b\x02\x00\x12\x04\xa4\x02\x02\x1b\x1a\' First height in the range (inclusive)\n\n\r\n\x05\x04\x1b\x02\x00\x04\x12\x04\xa4\x02\x02\n\n\r\n\x05\x04\x1b\x02\x00\x05\x12\x04\xa4\x02\x0b\x11\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\xa4\x02\x12\x16\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\xa4\x02\x19\x1a\nF\n\x04\x04\x1b\x02\x01\x12\x04\xa7\x02\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04\x1b\x02\x01\x04\x12\x04\xa7\x02\x02\n\n\r\n\x05\x04\x1b\x02\x01\x05\x12\x04\xa7\x02\x0b\x11\n\r\n\x05\x04\x1b\x02\x01\x01\x12\x04\xa7\x02\x12\x17\n\r\n\x05\x04\x1b\x02\x01\x03\x12\x04\xa7\x02\x1a\x1b\n\x0c\n\x02\x04\x1c\x12\x06\xaa\x02\x00\xac\x02\x01\n\x0b\n\x03\x04\x1c\x01\x12\x04\xaa\x02\x08\x19\n\x0c\n\x04\x04\x1c\x02\x00\x12\x04\xab\x02\x02#\n\r\n\x05\x04\x1c\x02\x00\x04\x12\x04\xab\x02\x02\n\n\r\n\x05\x04\x1c\x02\x00\x06\x12\x04\xab\x02\x0b\x17\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\xab\x02\x18\x1e\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\xab\x02!\"\n\x0c\n\x02\x04\x1d\x12\x06\xae\x02\x00\xb1\x02\x01\n\x0b\n\x03\x04\x1d\x01\x12\x04\xae\x02\x08\x17\n\x18\n\x04\x04\x1d\x02\x00\x12\x04\xb0\x02\x02\x1d\x1a\n Required\n\n\r\n\x05\x04\x1d\x02\x00\x04\x12\x04\xb0\x02\x02\n\n\r\n\x05\x04\x1d\x02\x00\x05\x12\x04\xb0\x02\x0b\x11\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xb0\x02\x12\x18\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xb0\x02\x1b\x1c\n\x0c\n\x02\x04\x1e\x12\x06\xb3\x02\x00\xb5\x02\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\xb3\x02\x08\x15\n\x0c\n\x04\x04\x1e\x02\x00\x12\x04\xb4\x02\x02\x1f\n\r\n\x05\x04\x1e\x02\x00\x06\x12\x04\xb4\x02\x02\x0e\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\xb4\x02\x0f\x1a\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\xb4\x02\x1d\x1e\n\x0c\n\x02\x04\x1f\x12\x06\xb7\x02\x00\xc3\x02\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\xb7\x02\x08\x15\n\x0c\n\x04\x04\x1f\x02\x00\x12\x04\xb8\x02\x02\x1c\n\r\n\x05\x04\x1f\x02\x00\x06\x12\x04\xb8\x02\x02\x10\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\xb8\x02\x11\x17\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\xb8\x02\x1a\x1b\n\x0c\n\x04\x04\x1f\x02\x01\x12\x04\xba\x02\x02\x16\n\r\n\x05\x04\x1f\x02\x01\x06\x12\x04\xba\x02\x02\t\n\r\n\x05\x04\x1f\x02\x01\x01\x12\x04\xba\x02\n\x11\n\r\n\x05\x04\x1f\x02\x01\x03\x12\x04\xba\x02\x14\x15\n]\n\x04\x04\x1f\x02\x02\x12\x04\xbd\x02\x02\x12\x1aO Hash of the header, which is how a block is identified. TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04\x1f\x02\x02\x05\x12\x04\xbd\x02\x02\x08\n\r\n\x05\x04\x1f\x02\x02\x01\x12\x04\xbd\x02\t\r\n\r\n\x05\x04\x1f\x02\x02\x03\x12\x04\xbd\x02\x10\x11\n%\n\x04\x04\x1f\x02\x03\x12\x04\xc0\x02\x02\x12\x1a\x17 Payload size in bytes\n\n\r\n\x05\x04\x1f\x02\x03\x05\x12\x04\xc0\x02\x02\x08\n\r\n\x05\x04\x1f\x02\x03\x01\x12\x04\xc0\x02\t\r\n\r\n\x05\x04\x1f\x02\x03\x03\x12\x04\xc0\x02\x10\x11\n\x0c\n\x04\x04\x1f\x02\x04\x12\x04\xc2\x02\x02\x1e\n\r\n\x05\x04\x1f\x02\x04\x05\x12\x04\xc2\x02\x02\x08\n\r\n\x05\x04\x1f\x02\x04\x01\x12\x04\xc2\x02\t\x19\n\r\n\x05\x04\x1f\x02\x04\x03\x12\x04\xc2\x02\x1c\x1d\n\x0c\n\x02\x04 \x12\x06\xc5\x02\x00\xce\x02\x01\n\x0b\n\x03\x04 \x01\x12\x04\xc5\x02\x08\x17\n\'\n\x04\x04 \x02\x00\x12\x04\xc7\x02\x02\x1d\x1a\x19 Look up by block height\n\n\r\n\x05\x04 \x02\x00\x04\x12\x04\xc7\x02\x02\n\n\r\n\x05\x04 \x02\x00\x05\x12\x04\xc7\x02\x0b\x11\n\r\n\x05\x04 \x02\x00\x01\x12\x04\xc7\x02\x12\x18\n\r\n\x05\x04 \x02\x00\x03\x12\x04\xc7\x02\x1b\x1c\n<\n\x04\x04 \x02\x01\x12\x04\xca\x02\x02\x1b\x1a. Look up by block hash, TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04 \x02\x01\x04\x12\x04\xca\x02\x02\n\n\r\n\x05\x04 \x02\x01\x05\x12\x04\xca\x02\x0b\x11\n\r\n\x05\x04 \x02\x01\x01\x12\x04\xca\x02\x12\x16\n\r\n\x05\x04 \x02\x01\x03\x12\x04\xca\x02\x19\x1a\n^\n\x04\x04 \x02\x02\x12\x04\xcd\x02\x02#\x1aP Look up by payload hash, which may match several blocks, the first is returned\n\n\r\n\x05\x04 \x02\x02\x04\x12\x04\xcd\x02\x02\n\n\r\n\x05\x04 \x02\x02\x05\x12\x04\xcd\x02\x0b\x11\n\r\n\x05\x04 \x02\x02\x01\x12\x04\xcd\x02\x12\x1e\n\r\n\x05\x04 \x02\x02\x03\x12\x04\xcd\x02!\"\n\x0c\n\x02\x04!\x12\x06\xd0\x02\x00\xd6\x02\x01\n\x0b\n\x03\x04!\x01\x12\x04\xd0\x02\x08\x1c\n5\n\x04\x04!\x02\x00\x12\x04\xd2\x02\x02\x1b\x1a\' First height in the range (inclusive)\n\n\r\n\x05\x04!\x02\x00\x04\x12\x04\xd2\x02\x02\n\n\r\n\x05\x04!\x02\x00\x05\x12\x04\xd2\x02\x0b\x11\n\r\n\x05\x04!\x02\x00\x01\x12\x04\xd2\x02\x12\x16\n\r\n\x05\x04!\x02\x00\x03\x12\x04\xd2\x02\x19\x1a\nF\n\x04\x04!\x02\x01\x12\x04\xd5\x02\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04!\x02\x01\x04\x12\x04\xd5\x02\x02\n\n\r\n\x05\x04!\x02\x01\x05\x12\x04\xd5\x02\x0b\x11\n\r\n\x05\x04!\x02\x01\x01\x12\x04\xd5\x02\x12\x17\n\r\n\x05\x04!\x02\x01\x03\x12\x04\xd5\x02\x1a\x1b\n\x0c\n\x02\x04\"\x12\x06\xd8\x02\x00\xda\x02\x01\n\x0b\n\x03\x04\"\x01\x12\x04\xd8\x02\x08\x1a\n\x0c\n\x04\x04\"\x02\x00\x12\x04\xd9\x02\x02$\n\r\n\x05\x04\"\x02\x00\x04\x12\x04\xd9\x02\x02\n\n\r\n\x05\x04\"\x02\x00\x06\x12\x04\xd9\x02\x0b\x18\n\r\n\x05\x04\"\x02\x00\x01\x12\x04\xd9\x02\x19\x1f\n\r\n\x05\x04\"\x02\x00\x03\x12\x04\xd9\x02\"#\n\x0c\n\x02\x04#\x12\x06\xdc\x02\x00\xe9\x02\x01\n\x0b\n\x03\x04#\x01\x12\x04\xdc\x02\x08\x17\n\x0c\n\x04\x04#\x02\x00\x12\x04\xdd\x02\x02\x14\n\r\n\x05\x04#\x02\x00\x05\x12\x04\xdd\x02\x02\x08\n\r\n\x05\x04#\x02\x00\x01\x12\x04\xdd\x02\t\x0f\n\r\n\x05\x04#\x02\x00\x03\x12\x04\xdd\x02\x12\x13\n%\n\x04\x04#\x02\x01\x12\x04\xe0\x02\x02\x18\x1a\x17 TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04#\x02\x01\x05\x12\x04\xe0\x02\x02\x08\n\r\n\x05\x04#\x02\x01\x01\x12\x04\xe0\x02\t\x13\n\r\n\x05\x04#\x02\x01\x03\x12\x04\xe0\x02\x16\x17\nX\n\x04\x04#\x02\x02\x12\x04\xe3\x02\x02\x12\x1aJ VID commitment to the payload, the TaggedBase64 tag names the VID scheme\n\n\r\n\x05\x04#\x02\x02\x05\x12\x04\xe3\x02\x02\x08\n\r\n\x05\x04#\x02\x02\x01\x12\x04\xe3\x02\t\r\n\r\n\x05\x04#\x02\x02\x03\x12\x04\xe3\x02\x10\x11\n%\n\x04\x04#\x02\x03\x12\x04\xe6\x02\x02\x12\x1a\x17 Payload size in bytes\n\n\r\n\x05\x04#\x02\x03\x05\x12\x04\xe6\x02\x02\x08\n\r\n\x05\x04#\x02\x03\x01\x12\x04\xe6\x02\t\r\n\r\n\x05\x04#\x02\x03\x03\x12\x04\xe6\x02\x10\x11\n\x0c\n\x04\x04#\x02\x04\x12\x04\xe8\x02\x02\x13\n\r\n\x05\x04#\x02\x04\x06\x12\x04\xe8\x02\x02\t\n\r\n\x05\x04#\x02\x04\x01\x12\x04\xe8\x02\n\x0e\n\r\n\x05\x04#\x02\x04\x03\x12\x04\xe8\x02\x11\x12\n\x0c\n\x02\x04$\x12\x06\xeb\x02\x00\xf5\x02\x01\n\x0b\n\x03\x04$\x01\x12\x04\xeb\x02\x08\x19\n\'\n\x04\x04$\x02\x00\x12\x04\xed\x02\x02\x1d\x1a\x19 Look up by block height\n\n\r\n\x05\x04$\x02\x00\x04\x12\x04\xed\x02\x02\n\n\r\n\x05\x04$\x02\x00\x05\x12\x04\xed\x02\x0b\x11\n\r\n\x05\x04$\x02\x00\x01\x12\x04\xed\x02\x12\x18\n\r\n\x05\x04$\x02\x00\x03\x12\x04\xed\x02\x1b\x1c\nt\n\x04\x04$\x02\x01\x12\x04\xf1\x02\x02\x1b\x1af Look up by payload hash (the VID commitment), which may match several blocks, the first is\n returned\n\n\r\n\x05\x04$\x02\x01\x04\x12\x04\xf1\x02\x02\n\n\r\n\x05\x04$\x02\x01\x05\x12\x04\xf1\x02\x0b\x11\n\r\n\x05\x04$\x02\x01\x01\x12\x04\xf1\x02\x12\x16\n\r\n\x05\x04$\x02\x01\x03\x12\x04\xf1\x02\x19\x1a\n\\\n\x04\x04$\x02\x02\x12\x04\xf4\x02\x02!\x1aN Look up by the hash of the block carrying the payload, TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04$\x02\x02\x04\x12\x04\xf4\x02\x02\n\n\r\n\x05\x04$\x02\x02\x05\x12\x04\xf4\x02\x0b\x11\n\r\n\x05\x04$\x02\x02\x01\x12\x04\xf4\x02\x12\x1c\n\r\n\x05\x04$\x02\x02\x03\x12\x04\xf4\x02\x1f \n\x0c\n\x02\x04%\x12\x06\xf7\x02\x00\xfd\x02\x01\n\x0b\n\x03\x04%\x01\x12\x04\xf7\x02\x08\x1e\n5\n\x04\x04%\x02\x00\x12\x04\xf9\x02\x02\x1b\x1a\' First height in the range (inclusive)\n\n\r\n\x05\x04%\x02\x00\x04\x12\x04\xf9\x02\x02\n\n\r\n\x05\x04%\x02\x00\x05\x12\x04\xf9\x02\x0b\x11\n\r\n\x05\x04%\x02\x00\x01\x12\x04\xf9\x02\x12\x16\n\r\n\x05\x04%\x02\x00\x03\x12\x04\xf9\x02\x19\x1a\nF\n\x04\x04%\x02\x01\x12\x04\xfc\x02\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04%\x02\x01\x04\x12\x04\xfc\x02\x02\n\n\r\n\x05\x04%\x02\x01\x05\x12\x04\xfc\x02\x0b\x11\n\r\n\x05\x04%\x02\x01\x01\x12\x04\xfc\x02\x12\x17\n\r\n\x05\x04%\x02\x01\x03\x12\x04\xfc\x02\x1a\x1b\n\x0c\n\x02\x04&\x12\x06\xff\x02\x00\x81\x03\x01\n\x0b\n\x03\x04&\x01\x12\x04\xff\x02\x08\x1c\n\x0c\n\x04\x04&\x02\x00\x12\x04\x80\x03\x02(\n\r\n\x05\x04&\x02\x00\x04\x12\x04\x80\x03\x02\n\n\r\n\x05\x04&\x02\x00\x06\x12\x04\x80\x03\x0b\x1a\n\r\n\x05\x04&\x02\x00\x01\x12\x04\x80\x03\x1b#\n\r\n\x05\x04&\x02\x00\x03\x12\x04\x80\x03&\'\ni\n\x02\x04\'\x12\x06\x84\x03\x00\x90\x03\x01\x1a[ Parameters of the legacy ADVZ scheme, with the two commitments exactly as v1 renders them\n\n\x0b\n\x03\x04\'\x01\x12\x04\x84\x03\x08\x12\n\\\n\x04\x04\'\x02\x00\x12\x04\x86\x03\x02\x1a\x1aN KZG commitments to the payload polynomials, all in one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\'\x02\x00\x05\x12\x04\x86\x03\x02\x08\n\r\n\x05\x04\'\x02\x00\x01\x12\x04\x86\x03\t\x15\n\r\n\x05\x04\'\x02\x00\x03\x12\x04\x86\x03\x18\x19\n%\n\x04\x04\'\x02\x01\x12\x04\x89\x03\x02\x1e\x1a\x17 TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\'\x02\x01\x05\x12\x04\x89\x03\x02\x08\n\r\n\x05\x04\'\x02\x01\x01\x12\x04\x89\x03\t\x19\n\r\n\x05\x04\'\x02\x01\x03\x12\x04\x89\x03\x1c\x1d\n\x0c\n\x04\x04\'\x02\x02\x12\x04\x8b\x03\x02\x1e\n\r\n\x05\x04\'\x02\x02\x05\x12\x04\x8b\x03\x02\x08\n\r\n\x05\x04\'\x02\x02\x01\x12\x04\x8b\x03\t\x19\n\r\n\x05\x04\'\x02\x02\x03\x12\x04\x8b\x03\x1c\x1d\n\x0c\n\x04\x04\'\x02\x03\x12\x04\x8d\x03\x02\x1f\n\r\n\x05\x04\'\x02\x03\x05\x12\x04\x8d\x03\x02\x08\n\r\n\x05\x04\'\x02\x03\x01\x12\x04\x8d\x03\t\x1a\n\r\n\x05\x04\'\x02\x03\x03\x12\x04\x8d\x03\x1d\x1e\n\x0c\n\x04\x04\'\x02\x04\x12\x04\x8f\x03\x02\x1a\n\r\n\x05\x04\'\x02\x04\x05\x12\x04\x8f\x03\x02\x08\n\r\n\x05\x04\'\x02\x04\x01\x12\x04\x8f\x03\t\x15\n\r\n\x05\x04\'\x02\x04\x03\x12\x04\x8f\x03\x18\x19\n\xd6\x01\n\x02\x04(\x12\x06\x95\x03\x00\x99\x03\x01\x1a\xc7\x01 The two AvidM schemes\' parameters and transaction proofs have the same shape today but are\n separate messages, since the field numbers freeze per scheme and the schemes are versioned\n independently\n\n\x0b\n\x03\x04(\x01\x12\x04\x95\x03\x08\x13\n\x0c\n\x04\x04(\x02\x00\x12\x04\x96\x03\x02\x1b\n\r\n\x05\x04(\x02\x00\x05\x12\x04\x96\x03\x02\x08\n\r\n\x05\x04(\x02\x00\x01\x12\x04\x96\x03\t\x16\n\r\n\x05\x04(\x02\x00\x03\x12\x04\x96\x03\x19\x1a\n\x0c\n\x04\x04(\x02\x01\x12\x04\x98\x03\x02 \n\r\n\x05\x04(\x02\x01\x05\x12\x04\x98\x03\x02\x08\n\r\n\x05\x04(\x02\x01\x01\x12\x04\x98\x03\t\x1b\n\r\n\x05\x04(\x02\x01\x03\x12\x04\x98\x03\x1e\x1f\n\x0c\n\x02\x04)\x12\x06\x9b\x03\x00\x9f\x03\x01\n\x0b\n\x03\x04)\x01\x12\x04\x9b\x03\x08\x15\n\x0c\n\x04\x04)\x02\x00\x12\x04\x9c\x03\x02\x1b\n\r\n\x05\x04)\x02\x00\x05\x12\x04\x9c\x03\x02\x08\n\r\n\x05\x04)\x02\x00\x01\x12\x04\x9c\x03\t\x16\n\r\n\x05\x04)\x02\x00\x03\x12\x04\x9c\x03\x19\x1a\n\x0c\n\x04\x04)\x02\x01\x12\x04\x9e\x03\x02 \n\r\n\x05\x04)\x02\x01\x05\x12\x04\x9e\x03\x02\x08\n\r\n\x05\x04)\x02\x01\x01\x12\x04\x9e\x03\t\x1b\n\r\n\x05\x04)\x02\x01\x03\x12\x04\x9e\x03\x1e\x1f\n\x0c\n\x02\x04*\x12\x06\xa1\x03\x00\xa9\x03\x01\n\x0b\n\x03\x04*\x01\x12\x04\xa1\x03\x08\x16\n\x0c\n\x04\x04*\x02\x00\x12\x04\xa2\x03\x02\x1a\n\r\n\x05\x04*\x02\x00\x06\x12\x04\xa2\x03\x02\x0f\n\r\n\x05\x04*\x02\x00\x01\x12\x04\xa2\x03\x10\x15\n\r\n\x05\x04*\x02\x00\x03\x12\x04\xa2\x03\x18\x19\nL\n\x04\x04*\x02\x01\x12\x04\xa5\x03\x02!\x1a> One commitment per namespace, TaggedBase64 `AvidmGf2Commit~`\n\n\r\n\x05\x04*\x02\x01\x04\x12\x04\xa5\x03\x02\n\n\r\n\x05\x04*\x02\x01\x05\x12\x04\xa5\x03\x0b\x11\n\r\n\x05\x04*\x02\x01\x01\x12\x04\xa5\x03\x12\x1c\n\r\n\x05\x04*\x02\x01\x03\x12\x04\xa5\x03\x1f \nD\n\x04\x04*\x02\x02\x12\x04\xa8\x03\x02\x1e\x1a6 Payload bytes per namespace, aligned with ns_commits\n\n\r\n\x05\x04*\x02\x02\x04\x12\x04\xa8\x03\x02\n\n\r\n\x05\x04*\x02\x02\x05\x12\x04\xa8\x03\x0b\x11\n\r\n\x05\x04*\x02\x02\x01\x12\x04\xa8\x03\x12\x19\n\r\n\x05\x04*\x02\x02\x03\x12\x04\xa8\x03\x1c\x1d\n\x0c\n\x02\x04+\x12\x06\xab\x03\x00\xb4\x03\x01\n\x0b\n\x03\x04+\x01\x12\x04\xab\x03\x08\x11\nN\n\x04\x04+\x08\x00\x12\x06\xad\x03\x02\xb3\x03\x03\x1a> The arm names the VID scheme the block was disseminated with\n\n\r\n\x05\x04+\x08\x00\x01\x12\x04\xad\x03\x08\x0e\n\x0c\n\x04\x04+\x02\x00\x12\x04\xae\x03\x04\x16\n\r\n\x05\x04+\x02\x00\x06\x12\x04\xae\x03\x04\x0e\n\r\n\x05\x04+\x02\x00\x01\x12\x04\xae\x03\x0f\x11\n\r\n\x05\x04+\x02\x00\x03\x12\x04\xae\x03\x14\x15\n\x0c\n\x04\x04+\x02\x01\x12\x04\xb0\x03\x04\x17\n\r\n\x05\x04+\x02\x01\x06\x12\x04\xb0\x03\x04\x0f\n\r\n\x05\x04+\x02\x01\x01\x12\x04\xb0\x03\x10\x12\n\r\n\x05\x04+\x02\x01\x03\x12\x04\xb0\x03\x15\x16\n\x0c\n\x04\x04+\x02\x02\x12\x04\xb2\x03\x04\x1a\n\r\n\x05\x04+\x02\x02\x06\x12\x04\xb2\x03\x04\x12\n\r\n\x05\x04+\x02\x02\x01\x12\x04\xb2\x03\x13\x15\n\r\n\x05\x04+\x02\x02\x03\x12\x04\xb2\x03\x18\x19\n\x0c\n\x02\x04,\x12\x06\xb6\x03\x00\xc0\x03\x01\n\x0b\n\x03\x04,\x01\x12\x04\xb6\x03\x08\x19\n\x0c\n\x04\x04,\x02\x00\x12\x04\xb7\x03\x02\x14\n\r\n\x05\x04,\x02\x00\x05\x12\x04\xb7\x03\x02\x08\n\r\n\x05\x04,\x02\x00\x01\x12\x04\xb7\x03\t\x0f\n\r\n\x05\x04,\x02\x00\x03\x12\x04\xb7\x03\x12\x13\n%\n\x04\x04,\x02\x01\x12\x04\xba\x03\x02\x18\x1a\x17 TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04,\x02\x01\x05\x12\x04\xba\x03\x02\x08\n\r\n\x05\x04,\x02\x01\x01\x12\x04\xba\x03\t\x13\n\r\n\x05\x04,\x02\x01\x03\x12\x04\xba\x03\x16\x17\nT\n\x04\x04,\x02\x02\x12\x04\xbd\x03\x02\x1a\x1aF VID commitment to the payload, the TaggedBase64 tag names the scheme\n\n\r\n\x05\x04,\x02\x02\x05\x12\x04\xbd\x03\x02\x08\n\r\n\x05\x04,\x02\x02\x01\x12\x04\xbd\x03\t\x15\n\r\n\x05\x04,\x02\x02\x03\x12\x04\xbd\x03\x18\x19\n\x0c\n\x04\x04,\x02\x03\x12\x04\xbf\x03\x02\x17\n\r\n\x05\x04,\x02\x03\x06\x12\x04\xbf\x03\x02\x0b\n\r\n\x05\x04,\x02\x03\x01\x12\x04\xbf\x03\x0c\x12\n\r\n\x05\x04,\x02\x03\x03\x12\x04\xbf\x03\x15\x16\n\x0c\n\x02\x04-\x12\x06\xc2\x03\x00\xcb\x03\x01\n\x0b\n\x03\x04-\x01\x12\x04\xc2\x03\x08\x1b\n\'\n\x04\x04-\x02\x00\x12\x04\xc4\x03\x02\x1d\x1a\x19 Look up by block height\n\n\r\n\x05\x04-\x02\x00\x04\x12\x04\xc4\x03\x02\n\n\r\n\x05\x04-\x02\x00\x05\x12\x04\xc4\x03\x0b\x11\n\r\n\x05\x04-\x02\x00\x01\x12\x04\xc4\x03\x12\x18\n\r\n\x05\x04-\x02\x00\x03\x12\x04\xc4\x03\x1b\x1c\n<\n\x04\x04-\x02\x01\x12\x04\xc7\x03\x02\x1b\x1a. Look up by block hash, TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04-\x02\x01\x04\x12\x04\xc7\x03\x02\n\n\r\n\x05\x04-\x02\x01\x05\x12\x04\xc7\x03\x0b\x11\n\r\n\x05\x04-\x02\x01\x01\x12\x04\xc7\x03\x12\x16\n\r\n\x05\x04-\x02\x01\x03\x12\x04\xc7\x03\x19\x1a\n^\n\x04\x04-\x02\x02\x12\x04\xca\x03\x02#\x1aP Look up by payload hash, which may match several blocks, the first is returned\n\n\r\n\x05\x04-\x02\x02\x04\x12\x04\xca\x03\x02\n\n\r\n\x05\x04-\x02\x02\x05\x12\x04\xca\x03\x0b\x11\n\r\n\x05\x04-\x02\x02\x01\x12\x04\xca\x03\x12\x1e\n\r\n\x05\x04-\x02\x02\x03\x12\x04\xca\x03!\"\n\x0c\n\x02\x04.\x12\x06\xcd\x03\x00\xd3\x03\x01\n\x0b\n\x03\x04.\x01\x12\x04\xcd\x03\x08 \n5\n\x04\x04.\x02\x00\x12\x04\xcf\x03\x02\x1b\x1a\' First height in the range (inclusive)\n\n\r\n\x05\x04.\x02\x00\x04\x12\x04\xcf\x03\x02\n\n\r\n\x05\x04.\x02\x00\x05\x12\x04\xcf\x03\x0b\x11\n\r\n\x05\x04.\x02\x00\x01\x12\x04\xcf\x03\x12\x16\n\r\n\x05\x04.\x02\x00\x03\x12\x04\xcf\x03\x19\x1a\nF\n\x04\x04.\x02\x01\x12\x04\xd2\x03\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04.\x02\x01\x04\x12\x04\xd2\x03\x02\n\n\r\n\x05\x04.\x02\x01\x05\x12\x04\xd2\x03\x0b\x11\n\r\n\x05\x04.\x02\x01\x01\x12\x04\xd2\x03\x12\x17\n\r\n\x05\x04.\x02\x01\x03\x12\x04\xd2\x03\x1a\x1b\n\x0c\n\x02\x04/\x12\x06\xd5\x03\x00\xd7\x03\x01\n\x0b\n\x03\x04/\x01\x12\x04\xd5\x03\x08\x1e\n\x0c\n\x04\x04/\x02\x00\x12\x04\xd6\x03\x02,\n\r\n\x05\x04/\x02\x00\x04\x12\x04\xd6\x03\x02\n\n\r\n\x05\x04/\x02\x00\x06\x12\x04\xd6\x03\x0b\x1c\n\r\n\x05\x04/\x02\x00\x01\x12\x04\xd6\x03\x1d\'\n\r\n\x05\x04/\x02\x00\x03\x12\x04\xd6\x03*+\n\x0c\n\x02\x040\x12\x06\xd9\x03\x00\xde\x03\x01\n\x0b\n\x03\x040\x01\x12\x04\xd9\x03\x08\x13\n\x0c\n\x04\x040\x02\x00\x12\x04\xda\x03\x02\x17\n\r\n\x05\x040\x02\x00\x05\x12\x04\xda\x03\x02\x08\n\r\n\x05\x040\x02\x00\x01\x12\x04\xda\x03\t\x12\n\r\n\x05\x040\x02\x00\x03\x12\x04\xda\x03\x15\x16\n1\n\x04\x040\x02\x01\x12\x04\xdd\x03\x02\x14\x1a# Transaction bytes, base64 in JSON\n\n\r\n\x05\x040\x02\x01\x05\x12\x04\xdd\x03\x02\x07\n\r\n\x05\x040\x02\x01\x01\x12\x04\xdd\x03\x08\x0f\n\r\n\x05\x040\x02\x01\x03\x12\x04\xdd\x03\x12\x13\nf\n\x02\x041\x12\x06\xe1\x03\x00\xea\x03\x01\x1aX A namespace\'s proof against the payload commitment, for the AvidM and AvidmGf2 schemes\n\n\x0b\n\x03\x041\x01\x12\x04\xe1\x03\x08\x16\n@\n\x04\x041\x02\x00\x12\x04\xe3\x03\x02\x16\x1a2 Position of the namespace in the namespace table\n\n\r\n\x05\x041\x02\x00\x05\x12\x04\xe3\x03\x02\x08\n\r\n\x05\x041\x02\x00\x01\x12\x04\xe3\x03\t\x11\n\r\n\x05\x041\x02\x00\x03\x12\x04\xe3\x03\x14\x15\n5\n\x04\x041\x02\x01\x12\x04\xe6\x03\x02\x17\x1a\' The namespace\'s bytes, base64 in JSON\n\n\r\n\x05\x041\x02\x01\x05\x12\x04\xe6\x03\x02\x07\n\r\n\x05\x041\x02\x01\x01\x12\x04\xe6\x03\x08\x12\n\r\n\x05\x041\x02\x01\x03\x12\x04\xe6\x03\x15\x16\nI\n\x04\x041\x02\x02\x12\x04\xe9\x03\x02\x16\x1a; Merkle proof of those bytes, TaggedBase64 `MERKLE_PROOF~`\n\n\r\n\x05\x041\x02\x02\x05\x12\x04\xe9\x03\x02\x08\n\r\n\x05\x041\x02\x02\x01\x12\x04\xe9\x03\t\x11\n\r\n\x05\x041\x02\x02\x03\x12\x04\xe9\x03\x14\x15\n\x0c\n\x02\x042\x12\x06\xec\x03\x00\xf1\x03\x01\n\x0b\n\x03\x042\x01\x12\x04\xec\x03\x08\x14\nE\n\x04\x042\x02\x00\x12\x04\xee\x03\x02\x15\x1a7 Position of the transaction in its namespace, 4 bytes\n\n\r\n\x05\x042\x02\x00\x05\x12\x04\xee\x03\x02\x07\n\r\n\x05\x042\x02\x00\x01\x12\x04\xee\x03\x08\x10\n\r\n\x05\x042\x02\x00\x03\x12\x04\xee\x03\x13\x14\n\x0c\n\x04\x042\x02\x01\x12\x04\xf0\x03\x02\x1e\n\r\n\x05\x042\x02\x01\x06\x12\x04\xf0\x03\x02\x10\n\r\n\x05\x042\x02\x01\x01\x12\x04\xf0\x03\x11\x19\n\r\n\x05\x042\x02\x01\x03\x12\x04\xf0\x03\x1c\x1d\n\x0c\n\x02\x043\x12\x06\xf3\x03\x00\xf8\x03\x01\n\x0b\n\x03\x043\x01\x12\x04\xf3\x03\x08\x17\nE\n\x04\x043\x02\x00\x12\x04\xf5\x03\x02\x15\x1a7 Position of the transaction in its namespace, 4 bytes\n\n\r\n\x05\x043\x02\x00\x05\x12\x04\xf5\x03\x02\x07\n\r\n\x05\x043\x02\x00\x01\x12\x04\xf5\x03\x08\x10\n\r\n\x05\x043\x02\x00\x03\x12\x04\xf5\x03\x13\x14\n\x0c\n\x04\x043\x02\x01\x12\x04\xf7\x03\x02\x1e\n\r\n\x05\x043\x02\x01\x06\x12\x04\xf7\x03\x02\x10\n\r\n\x05\x043\x02\x01\x01\x12\x04\xf7\x03\x11\x19\n\r\n\x05\x043\x02\x01\x03\x12\x04\xf7\x03\x1c\x1d\nR\n\x02\x044\x12\x06\xfb\x03\x00\x82\x04\x01\x1aD A jellyfish range proof over a few payload bytes, as v1 encodes it\n\n\x0b\n\x03\x044\x01\x12\x04\xfb\x03\x08\x17\nI\n\x04\x044\x02\x00\x12\x04\xfd\x03\x02\x14\x1a; KZG proofs, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x044\x02\x00\x05\x12\x04\xfd\x03\x02\x08\n\r\n\x05\x044\x02\x00\x01\x12\x04\xfd\x03\t\x0f\n\r\n\x05\x044\x02\x00\x03\x12\x04\xfd\x03\x12\x13\n\x0c\n\x04\x044\x02\x01\x12\x04\xff\x03\x02\x19\n\r\n\x05\x044\x02\x01\x05\x12\x04\xff\x03\x02\x07\n\r\n\x05\x044\x02\x01\x01\x12\x04\xff\x03\x08\x14\n\r\n\x05\x044\x02\x01\x03\x12\x04\xff\x03\x17\x18\n\x0c\n\x04\x044\x02\x02\x12\x04\x81\x04\x02\x19\n\r\n\x05\x044\x02\x02\x05\x12\x04\x81\x04\x02\x07\n\r\n\x05\x044\x02\x02\x01\x12\x04\x81\x04\x08\x14\n\r\n\x05\x044\x02\x02\x03\x12\x04\x81\x04\x17\x18\nd\n\x02\x045\x12\x06\x85\x04\x00\x95\x04\x01\x1aV Legacy ADVZ inclusion proof, with the index and table entries in v1\'s byte encodings\n\n\x0b\n\x03\x045\x01\x12\x04\x85\x04\x08\x13\nE\n\x04\x045\x02\x00\x12\x04\x87\x04\x02\x15\x1a7 Position of the transaction in its namespace, 4 bytes\n\n\r\n\x05\x045\x02\x00\x05\x12\x04\x87\x04\x02\x07\n\r\n\x05\x045\x02\x00\x01\x12\x04\x87\x04\x08\x10\n\r\n\x05\x045\x02\x00\x03\x12\x04\x87\x04\x13\x14\nP\n\x04\x045\x02\x01\x12\x04\x8a\x04\x02\x1c\x1aB Transaction count of the namespace, in its payload byte encoding\n\n\r\n\x05\x045\x02\x01\x05\x12\x04\x8a\x04\x02\x07\n\r\n\x05\x045\x02\x01\x01\x12\x04\x8a\x04\x08\x17\n\r\n\x05\x045\x02\x01\x03\x12\x04\x8a\x04\x1a\x1b\n\x0c\n\x04\x045\x02\x02\x12\x04\x8c\x04\x02,\n\r\n\x05\x045\x02\x02\x06\x12\x04\x8c\x04\x02\x11\n\r\n\x05\x045\x02\x02\x01\x12\x04\x8c\x04\x12\'\n\r\n\x05\x045\x02\x02\x03\x12\x04\x8c\x04*+\nO\n\x04\x045\x02\x03\x12\x04\x8f\x04\x02%\x1aA The transaction\'s table entries, in their payload byte encoding\n\n\r\n\x05\x045\x02\x03\x05\x12\x04\x8f\x04\x02\x07\n\r\n\x05\x045\x02\x03\x01\x12\x04\x8f\x04\x08 \n\r\n\x05\x045\x02\x03\x03\x12\x04\x8f\x04#$\n\x0c\n\x04\x045\x02\x04\x12\x04\x91\x04\x025\n\r\n\x05\x045\x02\x04\x06\x12\x04\x91\x04\x02\x11\n\r\n\x05\x045\x02\x04\x01\x12\x04\x91\x04\x120\n\r\n\x05\x045\x02\x04\x03\x12\x04\x91\x0434\n4\n\x04\x045\x02\x05\x12\x04\x94\x04\x02\'\x1a& Absent when the transaction is empty\n\n\r\n\x05\x045\x02\x05\x06\x12\x04\x94\x04\x02\x11\n\r\n\x05\x045\x02\x05\x01\x12\x04\x94\x04\x12\"\n\r\n\x05\x045\x02\x05\x03\x12\x04\x94\x04%&\nL\n\x02\x046\x12\x06\x98\x04\x00\xa0\x04\x01\x1a> The arm names the VID scheme the block was disseminated with\n\n\x0b\n\x03\x046\x01\x12\x04\x98\x04\x08\x0f\n\x0e\n\x04\x046\x08\x00\x12\x06\x99\x04\x02\x9f\x04\x03\n\r\n\x05\x046\x08\x00\x01\x12\x04\x99\x04\x08\r\n\x0c\n\x04\x046\x02\x00\x12\x04\x9a\x04\x04\x17\n\r\n\x05\x046\x02\x00\x06\x12\x04\x9a\x04\x04\x0f\n\r\n\x05\x046\x02\x00\x01\x12\x04\x9a\x04\x10\x12\n\r\n\x05\x046\x02\x00\x03\x12\x04\x9a\x04\x15\x16\n\x0c\n\x04\x046\x02\x01\x12\x04\x9c\x04\x04\x18\n\r\n\x05\x046\x02\x01\x06\x12\x04\x9c\x04\x04\x10\n\r\n\x05\x046\x02\x01\x01\x12\x04\x9c\x04\x11\x13\n\r\n\x05\x046\x02\x01\x03\x12\x04\x9c\x04\x16\x17\n\x0c\n\x04\x046\x02\x02\x12\x04\x9e\x04\x04\x1b\n\r\n\x05\x046\x02\x02\x06\x12\x04\x9e\x04\x04\x13\n\r\n\x05\x046\x02\x02\x01\x12\x04\x9e\x04\x14\x16\n\r\n\x05\x046\x02\x02\x03\x12\x04\x9e\x04\x19\x1a\n\x0c\n\x02\x047\x12\x06\xa2\x04\x00\xb4\x04\x01\n\x0b\n\x03\x047\x01\x12\x04\xa2\x04\x08\x1b\n\x0c\n\x04\x047\x02\x00\x12\x04\xa3\x04\x02\x1e\n\r\n\x05\x047\x02\x00\x06\x12\x04\xa3\x04\x02\r\n\r\n\x05\x047\x02\x00\x01\x12\x04\xa3\x04\x0e\x19\n\r\n\x05\x047\x02\x00\x03\x12\x04\xa3\x04\x1c\x1d\n\"\n\x04\x047\x02\x01\x12\x04\xa6\x04\x02\x12\x1a\x14 TaggedBase64 `TX~`\n\n\r\n\x05\x047\x02\x01\x05\x12\x04\xa6\x04\x02\x08\n\r\n\x05\x047\x02\x01\x01\x12\x04\xa6\x04\t\r\n\r\n\x05\x047\x02\x01\x03\x12\x04\xa6\x04\x10\x11\n8\n\x04\x047\x02\x02\x12\x04\xa9\x04\x02\x13\x1a* Position of the transaction in the block\n\n\r\n\x05\x047\x02\x02\x05\x12\x04\xa9\x04\x02\x08\n\r\n\x05\x047\x02\x02\x01\x12\x04\xa9\x04\t\x0e\n\r\n\x05\x047\x02\x02\x03\x12\x04\xa9\x04\x11\x12\n%\n\x04\x047\x02\x03\x12\x04\xac\x04\x02\x18\x1a\x17 TaggedBase64 `BLOCK~`\n\n\r\n\x05\x047\x02\x03\x05\x12\x04\xac\x04\x02\x08\n\r\n\x05\x047\x02\x03\x01\x12\x04\xac\x04\t\x13\n\r\n\x05\x047\x02\x03\x03\x12\x04\xac\x04\x16\x17\n\x0c\n\x04\x047\x02\x04\x12\x04\xae\x04\x02\x1a\n\r\n\x05\x047\x02\x04\x05\x12\x04\xae\x04\x02\x08\n\r\n\x05\x047\x02\x04\x01\x12\x04\xae\x04\t\x15\n\r\n\x05\x047\x02\x04\x03\x12\x04\xae\x04\x18\x19\n\x0c\n\x04\x047\x02\x05\x12\x04\xb0\x04\x02\x17\n\r\n\x05\x047\x02\x05\x05\x12\x04\xb0\x04\x02\x08\n\r\n\x05\x047\x02\x05\x01\x12\x04\xb0\x04\t\x12\n\r\n\x05\x047\x02\x05\x03\x12\x04\xb0\x04\x15\x16\n@\n\x04\x047\x02\x06\x12\x04\xb3\x04\x02\x1e\x1a2 Position of the transaction within its namespace\n\n\r\n\x05\x047\x02\x06\x05\x12\x04\xb3\x04\x02\x08\n\r\n\x05\x047\x02\x06\x01\x12\x04\xb3\x04\t\x19\n\r\n\x05\x047\x02\x06\x03\x12\x04\xb3\x04\x1c\x1d\n\x0c\n\x02\x048\x12\x06\xb6\x04\x00\xca\x04\x01\n\x0b\n\x03\x048\x01\x12\x04\xb6\x04\x08$\n\x0c\n\x04\x048\x02\x00\x12\x04\xb7\x04\x02\x1e\n\r\n\x05\x048\x02\x00\x06\x12\x04\xb7\x04\x02\r\n\r\n\x05\x048\x02\x00\x01\x12\x04\xb7\x04\x0e\x19\n\r\n\x05\x048\x02\x00\x03\x12\x04\xb7\x04\x1c\x1d\n\"\n\x04\x048\x02\x01\x12\x04\xba\x04\x02\x12\x1a\x14 TaggedBase64 `TX~`\n\n\r\n\x05\x048\x02\x01\x05\x12\x04\xba\x04\x02\x08\n\r\n\x05\x048\x02\x01\x01\x12\x04\xba\x04\t\r\n\r\n\x05\x048\x02\x01\x03\x12\x04\xba\x04\x10\x11\n8\n\x04\x048\x02\x02\x12\x04\xbd\x04\x02\x13\x1a* Position of the transaction in the block\n\n\r\n\x05\x048\x02\x02\x05\x12\x04\xbd\x04\x02\x08\n\r\n\x05\x048\x02\x02\x01\x12\x04\xbd\x04\t\x0e\n\r\n\x05\x048\x02\x02\x03\x12\x04\xbd\x04\x11\x12\n%\n\x04\x048\x02\x03\x12\x04\xc0\x04\x02\x18\x1a\x17 TaggedBase64 `BLOCK~`\n\n\r\n\x05\x048\x02\x03\x05\x12\x04\xc0\x04\x02\x08\n\r\n\x05\x048\x02\x03\x01\x12\x04\xc0\x04\t\x13\n\r\n\x05\x048\x02\x03\x03\x12\x04\xc0\x04\x16\x17\n\x0c\n\x04\x048\x02\x04\x12\x04\xc2\x04\x02\x1a\n\r\n\x05\x048\x02\x04\x05\x12\x04\xc2\x04\x02\x08\n\r\n\x05\x048\x02\x04\x01\x12\x04\xc2\x04\t\x15\n\r\n\x05\x048\x02\x04\x03\x12\x04\xc2\x04\x18\x19\n\x0c\n\x04\x048\x02\x05\x12\x04\xc4\x04\x02\x17\n\r\n\x05\x048\x02\x05\x05\x12\x04\xc4\x04\x02\x08\n\r\n\x05\x048\x02\x05\x01\x12\x04\xc4\x04\t\x12\n\r\n\x05\x048\x02\x05\x03\x12\x04\xc4\x04\x15\x16\n@\n\x04\x048\x02\x06\x12\x04\xc7\x04\x02\x1e\x1a2 Position of the transaction within its namespace\n\n\r\n\x05\x048\x02\x06\x05\x12\x04\xc7\x04\x02\x08\n\r\n\x05\x048\x02\x06\x01\x12\x04\xc7\x04\t\x19\n\r\n\x05\x048\x02\x06\x03\x12\x04\xc7\x04\x1c\x1d\n\x0c\n\x04\x048\x02\x07\x12\x04\xc9\x04\x02\x14\n\r\n\x05\x048\x02\x07\x06\x12\x04\xc9\x04\x02\t\n\r\n\x05\x048\x02\x07\x01\x12\x04\xc9\x04\n\x0f\n\r\n\x05\x048\x02\x07\x03\x12\x04\xc9\x04\x12\x13\n\x0c\n\x02\x049\x12\x06\xcc\x04\x00\xd5\x04\x01\n\x0b\n\x03\x049\x01\x12\x04\xcc\x04\x08\x1d\nJ\n\x04\x049\x02\x00\x12\x04\xce\x04\x02\x1d\x1a< Look up by position: the block height, together with index\n\n\r\n\x05\x049\x02\x00\x04\x12\x04\xce\x04\x02\n\n\r\n\x05\x049\x02\x00\x05\x12\x04\xce\x04\x0b\x11\n\r\n\x05\x049\x02\x00\x01\x12\x04\xce\x04\x12\x18\n\r\n\x05\x049\x02\x00\x03\x12\x04\xce\x04\x1b\x1c\n_\n\x04\x049\x02\x01\x12\x04\xd1\x04\x02\x1c\x1aQ Look up by position: the transaction\'s index in the block, together with height\n\n\r\n\x05\x049\x02\x01\x04\x12\x04\xd1\x04\x02\n\n\r\n\x05\x049\x02\x01\x05\x12\x04\xd1\x04\x0b\x11\n\r\n\x05\x049\x02\x01\x01\x12\x04\xd1\x04\x12\x17\n\r\n\x05\x049\x02\x01\x03\x12\x04\xd1\x04\x1a\x1b\n?\n\x04\x049\x02\x02\x12\x04\xd4\x04\x02\x1b\x1a1 Look up by transaction hash, TaggedBase64 `TX~`\n\n\r\n\x05\x049\x02\x02\x04\x12\x04\xd4\x04\x02\n\n\r\n\x05\x049\x02\x02\x05\x12\x04\xd4\x04\x0b\x11\n\r\n\x05\x049\x02\x02\x01\x12\x04\xd4\x04\x12\x16\n\r\n\x05\x049\x02\x02\x03\x12\x04\xd4\x04\x19\x1a\n\x0c\n\x02\x04:\x12\x06\xd7\x04\x00\xe0\x04\x01\n\x0b\n\x03\x04:\x01\x12\x04\xd7\x04\x08\"\nJ\n\x04\x04:\x02\x00\x12\x04\xd9\x04\x02\x1d\x1a< Look up by position: the block height, together with index\n\n\r\n\x05\x04:\x02\x00\x04\x12\x04\xd9\x04\x02\n\n\r\n\x05\x04:\x02\x00\x05\x12\x04\xd9\x04\x0b\x11\n\r\n\x05\x04:\x02\x00\x01\x12\x04\xd9\x04\x12\x18\n\r\n\x05\x04:\x02\x00\x03\x12\x04\xd9\x04\x1b\x1c\n_\n\x04\x04:\x02\x01\x12\x04\xdc\x04\x02\x1c\x1aQ Look up by position: the transaction\'s index in the block, together with height\n\n\r\n\x05\x04:\x02\x01\x04\x12\x04\xdc\x04\x02\n\n\r\n\x05\x04:\x02\x01\x05\x12\x04\xdc\x04\x0b\x11\n\r\n\x05\x04:\x02\x01\x01\x12\x04\xdc\x04\x12\x17\n\r\n\x05\x04:\x02\x01\x03\x12\x04\xdc\x04\x1a\x1b\n?\n\x04\x04:\x02\x02\x12\x04\xdf\x04\x02\x1b\x1a1 Look up by transaction hash, TaggedBase64 `TX~`\n\n\r\n\x05\x04:\x02\x02\x04\x12\x04\xdf\x04\x02\n\n\r\n\x05\x04:\x02\x02\x05\x12\x04\xdf\x04\x0b\x11\n\r\n\x05\x04:\x02\x02\x01\x12\x04\xdf\x04\x12\x16\n\r\n\x05\x04:\x02\x02\x03\x12\x04\xdf\x04\x19\x1a\n\x0c\n\x02\x04;\x12\x06\xe2\x04\x00\xe7\x04\x01\n\x0b\n\x03\x04;\x01\x12\x04\xe2\x04\x08\x15\n\x0c\n\x04\x04;\x02\x00\x12\x04\xe3\x04\x02\x1e\n\r\n\x05\x04;\x02\x00\x05\x12\x04\xe3\x04\x02\x08\n\r\n\x05\x04;\x02\x00\x01\x12\x04\xe3\x04\t\x19\n\r\n\x05\x04;\x02\x00\x03\x12\x04\xe3\x04\x1c\x1d\nG\n\x04\x04;\x02\x01\x12\x04\xe6\x04\x02\x12\x1a9 Size of this namespace\'s share of the payload, in bytes\n\n\r\n\x05\x04;\x02\x01\x05\x12\x04\xe6\x04\x02\x08\n\r\n\x05\x04;\x02\x01\x01\x12\x04\xe6\x04\t\r\n\r\n\x05\x04;\x02\x01\x03\x12\x04\xe6\x04\x10\x11\n\x0c\n\x02\x04<\x12\x06\xe9\x04\x00\xf7\x04\x01\n\x0b\n\x03\x04<\x01\x12\x04\xe9\x04\x08\x1c\n\x0c\n\x04\x04<\x02\x00\x12\x04\xea\x04\x02\x1c\n\r\n\x05\x04<\x02\x00\x06\x12\x04\xea\x04\x02\x10\n\r\n\x05\x04<\x02\x00\x01\x12\x04\xea\x04\x11\x17\n\r\n\x05\x04<\x02\x00\x03\x12\x04\xea\x04\x1a\x1b\n%\n\x04\x04<\x02\x01\x12\x04\xed\x04\x02\x12\x1a\x17 TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04<\x02\x01\x05\x12\x04\xed\x04\x02\x08\n\r\n\x05\x04<\x02\x01\x01\x12\x04\xed\x04\t\r\n\r\n\x05\x04<\x02\x01\x03\x12\x04\xed\x04\x10\x11\n%\n\x04\x04<\x02\x02\x12\x04\xf0\x04\x02\x12\x1a\x17 Payload size in bytes\n\n\r\n\x05\x04<\x02\x02\x05\x12\x04\xf0\x04\x02\x08\n\r\n\x05\x04<\x02\x02\x01\x12\x04\xf0\x04\t\r\n\r\n\x05\x04<\x02\x02\x03\x12\x04\xf0\x04\x10\x11\n\x0c\n\x04\x04<\x02\x03\x12\x04\xf2\x04\x02\x1e\n\r\n\x05\x04<\x02\x03\x05\x12\x04\xf2\x04\x02\x08\n\r\n\x05\x04<\x02\x03\x01\x12\x04\xf2\x04\t\x19\n\r\n\x05\x04<\x02\x03\x03\x12\x04\xf2\x04\x1c\x1d\n\x90\x01\n\x04\x04<\x02\x04\x12\x04\xf6\x04\x02,\x1a\x81\x01 Per-namespace transaction count and byte size, keyed by namespace id. A namespace with no\n transactions in this block is absent\n\n\r\n\x05\x04<\x02\x04\x06\x12\x04\xf6\x04\x02\x1c\n\r\n\x05\x04<\x02\x04\x01\x12\x04\xf6\x04\x1d\'\n\r\n\x05\x04<\x02\x04\x03\x12\x04\xf6\x04*+\n\x0c\n\x02\x04=\x12\x06\xf9\x04\x00\xfc\x04\x01\n\x0b\n\x03\x04=\x01\x12\x04\xf9\x04\x08\x1e\n\x18\n\x04\x04=\x02\x00\x12\x04\xfb\x04\x02\x1d\x1a\n Required\n\n\r\n\x05\x04=\x02\x00\x04\x12\x04\xfb\x04\x02\n\n\r\n\x05\x04=\x02\x00\x05\x12\x04\xfb\x04\x0b\x11\n\r\n\x05\x04=\x02\x00\x01\x12\x04\xfb\x04\x12\x18\n\r\n\x05\x04=\x02\x00\x03\x12\x04\xfb\x04\x1b\x1c\n\x0c\n\x02\x04>\x12\x06\xfe\x04\x00\x84\x05\x01\n\x0b\n\x03\x04>\x01\x12\x04\xfe\x04\x08#\n5\n\x04\x04>\x02\x00\x12\x04\x80\x05\x02\x1b\x1a\' First height in the range (inclusive)\n\n\r\n\x05\x04>\x02\x00\x04\x12\x04\x80\x05\x02\n\n\r\n\x05\x04>\x02\x00\x05\x12\x04\x80\x05\x0b\x11\n\r\n\x05\x04>\x02\x00\x01\x12\x04\x80\x05\x12\x16\n\r\n\x05\x04>\x02\x00\x03\x12\x04\x80\x05\x19\x1a\nF\n\x04\x04>\x02\x01\x12\x04\x83\x05\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04>\x02\x01\x04\x12\x04\x83\x05\x02\n\n\r\n\x05\x04>\x02\x01\x05\x12\x04\x83\x05\x0b\x11\n\r\n\x05\x04>\x02\x01\x01\x12\x04\x83\x05\x12\x17\n\r\n\x05\x04>\x02\x01\x03\x12\x04\x83\x05\x1a\x1b\n\x0c\n\x02\x04?\x12\x06\x86\x05\x00\x88\x05\x01\n\x0b\n\x03\x04?\x01\x12\x04\x86\x05\x08!\n\x0c\n\x04\x04?\x02\x00\x12\x04\x87\x05\x02.\n\r\n\x05\x04?\x02\x00\x04\x12\x04\x87\x05\x02\n\n\r\n\x05\x04?\x02\x00\x06\x12\x04\x87\x05\x0b\x1f\n\r\n\x05\x04?\x02\x00\x01\x12\x04\x87\x05 )\n\r\n\x05\x04?\x02\x00\x03\x12\x04\x87\x05,-\nR\n\x02\x04@\x12\x06\x8b\x05\x00\x95\x05\x01\x1aD A jellyfish range proof over a namespace\'s bytes, as v1 encodes it\n\n\x0b\n\x03\x04@\x01\x12\x04\x8b\x05\x08\x17\nM\n\x04\x04@\x02\x00\x12\x04\x8d\x05\x02\x1a\x1a? Field elements, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04@\x02\x00\x05\x12\x04\x8d\x05\x02\x08\n\r\n\x05\x04@\x02\x00\x01\x12\x04\x8d\x05\t\x15\n\r\n\x05\x04@\x02\x00\x03\x12\x04\x8d\x05\x18\x19\nM\n\x04\x04@\x02\x01\x12\x04\x90\x05\x02\x1a\x1a? Field elements, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04@\x02\x01\x05\x12\x04\x90\x05\x02\x08\n\r\n\x05\x04@\x02\x01\x01\x12\x04\x90\x05\t\x15\n\r\n\x05\x04@\x02\x01\x03\x12\x04\x90\x05\x18\x19\n\x0c\n\x04\x04@\x02\x02\x12\x04\x92\x05\x02\x19\n\r\n\x05\x04@\x02\x02\x05\x12\x04\x92\x05\x02\x07\n\r\n\x05\x04@\x02\x02\x01\x12\x04\x92\x05\x08\x14\n\r\n\x05\x04@\x02\x02\x03\x12\x04\x92\x05\x17\x18\n\x0c\n\x04\x04@\x02\x03\x12\x04\x94\x05\x02\x19\n\r\n\x05\x04@\x02\x03\x05\x12\x04\x94\x05\x02\x07\n\r\n\x05\x04@\x02\x03\x01\x12\x04\x94\x05\x08\x14\n\r\n\x05\x04@\x02\x03\x03\x12\x04\x94\x05\x17\x18\n+\n\x02\x04A\x12\x06\x98\x05\x00\xa1\x05\x01\x1a\x1d Legacy ADVZ namespace proof\n\n\x0b\n\x03\x04A\x01\x12\x04\x98\x05\x08\x13\nI\n\x04\x04A\x02\x00\x12\x04\x9a\x05\x02\x15\x1a; Position of the namespace in the namespace table, 4 bytes\n\n\r\n\x05\x04A\x02\x00\x05\x12\x04\x9a\x05\x02\x07\n\r\n\x05\x04A\x02\x00\x01\x12\x04\x9a\x05\x08\x10\n\r\n\x05\x04A\x02\x00\x03\x12\x04\x9a\x05\x13\x14\n5\n\x04\x04A\x02\x01\x12\x04\x9d\x05\x02\x17\x1a\' The namespace\'s bytes, base64 in JSON\n\n\r\n\x05\x04A\x02\x01\x05\x12\x04\x9d\x05\x02\x07\n\r\n\x05\x04A\x02\x01\x01\x12\x04\x9d\x05\x08\x12\n\r\n\x05\x04A\x02\x01\x03\x12\x04\x9d\x05\x15\x16\n2\n\x04\x04A\x02\x02\x12\x04\xa0\x05\x02\x1f\x1a$ Absent when the namespace is empty\n\n\r\n\x05\x04A\x02\x02\x06\x12\x04\xa0\x05\x02\x11\n\r\n\x05\x04A\x02\x02\x01\x12\x04\xa0\x05\x12\x1a\n\r\n\x05\x04A\x02\x02\x03\x12\x04\xa0\x05\x1d\x1e\n\xc9\x01\n\x02\x04B\x12\x06\xa5\x05\x00\xab\x05\x01\x1a\xba\x01 Evidence that an AvidM disperser encoded a namespace incorrectly: the polynomial recovered from\n the shares, and the shares\' Merkle proofs against the commitment that does not match it\n\n\x0b\n\x03\x04B\x01\x12\x04\xa5\x05\x08\x1d\nM\n\x04\x04B\x02\x00\x12\x04\xa7\x05\x02\x1c\x1a? Field elements, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04B\x02\x00\x05\x12\x04\xa7\x05\x02\x08\n\r\n\x05\x04B\x02\x00\x01\x12\x04\xa7\x05\t\x17\n\r\n\x05\x04B\x02\x00\x03\x12\x04\xa7\x05\x1a\x1b\n`\n\x04\x04B\x02\x01\x12\x04\xaa\x05\x02\x18\x1aR (share index, Merkle proof) pairs, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04B\x02\x01\x05\x12\x04\xaa\x05\x02\x08\n\r\n\x05\x04B\x02\x01\x01\x12\x04\xaa\x05\t\x13\n\r\n\x05\x04B\x02\x01\x03\x12\x04\xaa\x05\x16\x17\n\x0c\n\x02\x04C\x12\x06\xad\x05\x00\xb8\x05\x01\n\x0b\n\x03\x04C\x01\x12\x04\xad\x05\x08\x1f\n@\n\x04\x04C\x02\x00\x12\x04\xaf\x05\x02\x16\x1a2 Position of the namespace in the namespace table\n\n\r\n\x05\x04C\x02\x00\x05\x12\x04\xaf\x05\x02\x08\n\r\n\x05\x04C\x02\x00\x01\x12\x04\xaf\x05\t\x11\n\r\n\x05\x04C\x02\x00\x03\x12\x04\xaf\x05\x14\x15\nW\n\x04\x04C\x02\x01\x12\x04\xb2\x05\x02\x17\x1aI Commitment the shares were checked against, TaggedBase64 `AvidMCommit~`\n\n\r\n\x05\x04C\x02\x01\x05\x12\x04\xb2\x05\x02\x08\n\r\n\x05\x04C\x02\x01\x01\x12\x04\xb2\x05\t\x12\n\r\n\x05\x04C\x02\x01\x03\x12\x04\xb2\x05\x15\x16\ni\n\x04\x04C\x02\x02\x12\x04\xb5\x05\x02\x19\x1a[ Proof of the namespace commitment in the payload commitment, TaggedBase64 `MERKLE_PROOF~`\n\n\r\n\x05\x04C\x02\x02\x05\x12\x04\xb5\x05\x02\x08\n\r\n\x05\x04C\x02\x02\x01\x12\x04\xb5\x05\t\x14\n\r\n\x05\x04C\x02\x02\x03\x12\x04\xb5\x05\x17\x18\n\x0c\n\x04\x04C\x02\x03\x12\x04\xb7\x05\x02%\n\r\n\x05\x04C\x02\x03\x06\x12\x04\xb7\x05\x02\x17\n\r\n\x05\x04C\x02\x03\x01\x12\x04\xb7\x05\x18 \n\r\n\x05\x04C\x02\x03\x03\x12\x04\xb7\x05#$\nq\n\x02\x04D\x12\x06\xbb\x05\x00\xc5\x05\x01\x1ac The arm names the VID scheme, and v1_incorrect_encoding is an AvidM block whose disperser cheated\n\n\x0b\n\x03\x04D\x01\x12\x04\xbb\x05\x08\x0f\n\x0e\n\x04\x04D\x08\x00\x12\x06\xbc\x05\x02\xc4\x05\x03\n\r\n\x05\x04D\x08\x00\x01\x12\x04\xbc\x05\x08\r\n\x0c\n\x04\x04D\x02\x00\x12\x04\xbd\x05\x04\x17\n\r\n\x05\x04D\x02\x00\x06\x12\x04\xbd\x05\x04\x0f\n\r\n\x05\x04D\x02\x00\x01\x12\x04\xbd\x05\x10\x12\n\r\n\x05\x04D\x02\x00\x03\x12\x04\xbd\x05\x15\x16\n\x0c\n\x04\x04D\x02\x01\x12\x04\xbf\x05\x04\x1a\n\r\n\x05\x04D\x02\x01\x06\x12\x04\xbf\x05\x04\x12\n\r\n\x05\x04D\x02\x01\x01\x12\x04\xbf\x05\x13\x15\n\r\n\x05\x04D\x02\x01\x03\x12\x04\xbf\x05\x18\x19\n\x0c\n\x04\x04D\x02\x02\x12\x04\xc1\x05\x046\n\r\n\x05\x04D\x02\x02\x06\x12\x04\xc1\x05\x04\x1b\n\r\n\x05\x04D\x02\x02\x01\x12\x04\xc1\x05\x1c1\n\r\n\x05\x04D\x02\x02\x03\x12\x04\xc1\x0545\n\x0c\n\x04\x04D\x02\x03\x12\x04\xc3\x05\x04\x1a\n\r\n\x05\x04D\x02\x03\x06\x12\x04\xc3\x05\x04\x12\n\r\n\x05\x04D\x02\x03\x01\x12\x04\xc3\x05\x13\x15\n\r\n\x05\x04D\x02\x03\x03\x12\x04\xc3\x05\x18\x19\n\x0c\n\x02\x04E\x12\x06\xc7\x05\x00\xcd\x05\x01\n\x0b\n\x03\x04E\x01\x12\x04\xc7\x05\x08\x1e\n;\n\x04\x04E\x02\x00\x12\x04\xc9\x05\x02\x14\x1a- Absent when the block has no such namespace\n\n\r\n\x05\x04E\x02\x00\x06\x12\x04\xc9\x05\x02\t\n\r\n\x05\x04E\x02\x00\x01\x12\x04\xc9\x05\n\x0f\n\r\n\x05\x04E\x02\x00\x03\x12\x04\xc9\x05\x12\x13\n<\n\x04\x04E\x02\x01\x12\x04\xcc\x05\x02(\x1a. The namespace\'s transactions, in block order\n\n\r\n\x05\x04E\x02\x01\x04\x12\x04\xcc\x05\x02\n\n\r\n\x05\x04E\x02\x01\x06\x12\x04\xcc\x05\x0b\x16\n\r\n\x05\x04E\x02\x01\x01\x12\x04\xcc\x05\x17#\n\r\n\x05\x04E\x02\x01\x03\x12\x04\xcc\x05&\'\n\x0c\n\x02\x04F\x12\x06\xcf\x05\x00\xdb\x05\x01\n\x0b\n\x03\x04F\x01\x12\x04\xcf\x05\x08 \n\'\n\x04\x04F\x02\x00\x12\x04\xd1\x05\x02\x1d\x1a\x19 Look up by block height\n\n\r\n\x05\x04F\x02\x00\x04\x12\x04\xd1\x05\x02\n\n\r\n\x05\x04F\x02\x00\x05\x12\x04\xd1\x05\x0b\x11\n\r\n\x05\x04F\x02\x00\x01\x12\x04\xd1\x05\x12\x18\n\r\n\x05\x04F\x02\x00\x03\x12\x04\xd1\x05\x1b\x1c\n<\n\x04\x04F\x02\x01\x12\x04\xd4\x05\x02\x1b\x1a. Look up by block hash, TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04F\x02\x01\x04\x12\x04\xd4\x05\x02\n\n\r\n\x05\x04F\x02\x01\x05\x12\x04\xd4\x05\x0b\x11\n\r\n\x05\x04F\x02\x01\x01\x12\x04\xd4\x05\x12\x16\n\r\n\x05\x04F\x02\x01\x03\x12\x04\xd4\x05\x19\x1a\n^\n\x04\x04F\x02\x02\x12\x04\xd7\x05\x02#\x1aP Look up by payload hash, which may match several blocks, the first is returned\n\n\r\n\x05\x04F\x02\x02\x04\x12\x04\xd7\x05\x02\n\n\r\n\x05\x04F\x02\x02\x05\x12\x04\xd7\x05\x0b\x11\n\r\n\x05\x04F\x02\x02\x01\x12\x04\xd7\x05\x12\x1e\n\r\n\x05\x04F\x02\x02\x03\x12\x04\xd7\x05!\"\n/\n\x04\x04F\x02\x03\x12\x04\xda\x05\x02 \x1a! Required, a 32-bit namespace id\n\n\r\n\x05\x04F\x02\x03\x04\x12\x04\xda\x05\x02\n\n\r\n\x05\x04F\x02\x03\x05\x12\x04\xda\x05\x0b\x11\n\r\n\x05\x04F\x02\x03\x01\x12\x04\xda\x05\x12\x1b\n\r\n\x05\x04F\x02\x03\x03\x12\x04\xda\x05\x1e\x1f\n\x0c\n\x02\x04G\x12\x06\xdd\x05\x00\xe6\x05\x01\n\x0b\n\x03\x04G\x01\x12\x04\xdd\x05\x08%\n5\n\x04\x04G\x02\x00\x12\x04\xdf\x05\x02\x1b\x1a\' First height in the range (inclusive)\n\n\r\n\x05\x04G\x02\x00\x04\x12\x04\xdf\x05\x02\n\n\r\n\x05\x04G\x02\x00\x05\x12\x04\xdf\x05\x0b\x11\n\r\n\x05\x04G\x02\x00\x01\x12\x04\xdf\x05\x12\x16\n\r\n\x05\x04G\x02\x00\x03\x12\x04\xdf\x05\x19\x1a\nF\n\x04\x04G\x02\x01\x12\x04\xe2\x05\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04G\x02\x01\x04\x12\x04\xe2\x05\x02\n\n\r\n\x05\x04G\x02\x01\x05\x12\x04\xe2\x05\x0b\x11\n\r\n\x05\x04G\x02\x01\x01\x12\x04\xe2\x05\x12\x17\n\r\n\x05\x04G\x02\x01\x03\x12\x04\xe2\x05\x1a\x1b\n/\n\x04\x04G\x02\x02\x12\x04\xe5\x05\x02 \x1a! Required, a 32-bit namespace id\n\n\r\n\x05\x04G\x02\x02\x04\x12\x04\xe5\x05\x02\n\n\r\n\x05\x04G\x02\x02\x05\x12\x04\xe5\x05\x0b\x11\n\r\n\x05\x04G\x02\x02\x01\x12\x04\xe5\x05\x12\x1b\n\r\n\x05\x04G\x02\x02\x03\x12\x04\xe5\x05\x1e\x1f\n\x0c\n\x02\x04H\x12\x06\xe8\x05\x00\xea\x05\x01\n\x0b\n\x03\x04H\x01\x12\x04\xe8\x05\x08#\n\x0c\n\x04\x04H\x02\x00\x12\x04\xe9\x05\x02-\n\r\n\x05\x04H\x02\x00\x04\x12\x04\xe9\x05\x02\n\n\r\n\x05\x04H\x02\x00\x06\x12\x04\xe9\x05\x0b!\n\r\n\x05\x04H\x02\x00\x01\x12\x04\xe9\x05\"(\n\r\n\x05\x04H\x02\x00\x03\x12\x04\xe9\x05+,\n\x0c\n\x02\x04I\x12\x06\xec\x05\x00\xf2\x05\x01\n\x0b\n\x03\x04I\x01\x12\x04\xec\x05\x08(\n\x18\n\x04\x04I\x02\x00\x12\x04\xee\x05\x02\x1d\x1a\n Required\n\n\r\n\x05\x04I\x02\x00\x04\x12\x04\xee\x05\x02\n\n\r\n\x05\x04I\x02\x00\x05\x12\x04\xee\x05\x0b\x11\n\r\n\x05\x04I\x02\x00\x01\x12\x04\xee\x05\x12\x18\n\r\n\x05\x04I\x02\x00\x03\x12\x04\xee\x05\x1b\x1c\n/\n\x04\x04I\x02\x01\x12\x04\xf1\x05\x02 \x1a! Required, a 32-bit namespace id\n\n\r\n\x05\x04I\x02\x01\x04\x12\x04\xf1\x05\x02\n\n\r\n\x05\x04I\x02\x01\x05\x12\x04\xf1\x05\x0b\x11\n\r\n\x05\x04I\x02\x01\x01\x12\x04\xf1\x05\x12\x1b\n\r\n\x05\x04I\x02\x01\x03\x12\x04\xf1\x05\x1e\x1f\n\x0c\n\x02\x04J\x12\x06\xf4\x05\x00\xf6\x05\x01\n\x0b\n\x03\x04J\x01\x12\x04\xf4\x05\x08&\n\x0c\n\x04\x04J\x02\x00\x12\x04\xf5\x05\x02$\n\r\n\x05\x04J\x02\x00\x06\x12\x04\xf5\x05\x02\x19\n\r\n\x05\x04J\x02\x00\x01\x12\x04\xf5\x05\x1a\x1f\n\r\n\x05\x04J\x02\x00\x03\x12\x04\xf5\x05\"#\n\x0c\n\x02\x04K\x12\x06\xf8\x05\x00\xfe\x05\x01\n\x0b\n\x03\x04K\x01\x12\x04\xf8\x05\x08\x18\nI\n\x04\x04K\x02\x00\x12\x04\xfa\x05\x02\x11\x1a; Schnorr verification key, TaggedBase64 `SCHNORR_VER_KEY~`\n\n\r\n\x05\x04K\x02\x00\x05\x12\x04\xfa\x05\x02\x08\n\r\n\x05\x04K\x02\x00\x01\x12\x04\xfa\x05\t\x0c\n\r\n\x05\x04K\x02\x00\x03\x12\x04\xfa\x05\x0f\x10\n+\n\x04\x04K\x02\x01\x12\x04\xfd\x05\x02\x17\x1a\x1d TaggedBase64 `SCHNORR_SIG~`\n\n\r\n\x05\x04K\x02\x01\x05\x12\x04\xfd\x05\x02\x08\n\r\n\x05\x04K\x02\x01\x01\x12\x04\xfd\x05\t\x12\n\r\n\x05\x04K\x02\x01\x03\x12\x04\xfd\x05\x15\x16\n\x0c\n\x02\x04L\x12\x06\x80\x06\x00\x89\x06\x01\n\x0b\n\x03\x04L\x01\x12\x04\x80\x06\x08\x18\nI\n\x04\x04L\x02\x00\x12\x04\x82\x06\x02\x11\x1a; Schnorr verification key, TaggedBase64 `SCHNORR_VER_KEY~`\n\n\r\n\x05\x04L\x02\x00\x05\x12\x04\x82\x06\x02\x08\n\r\n\x05\x04L\x02\x00\x01\x12\x04\x82\x06\t\x0c\n\r\n\x05\x04L\x02\x00\x03\x12\x04\x82\x06\x0f\x10\nY\n\x04\x04L\x02\x01\x12\x04\x85\x06\x02\x1c\x1aK Signature for the LCV3 light-client contract, TaggedBase64 `SCHNORR_SIG~`\n\n\r\n\x05\x04L\x02\x01\x05\x12\x04\x85\x06\x02\x08\n\r\n\x05\x04L\x02\x01\x01\x12\x04\x85\x06\t\x17\n\r\n\x05\x04L\x02\x01\x03\x12\x04\x85\x06\x1a\x1b\nY\n\x04\x04L\x02\x02\x12\x04\x88\x06\x02\x1c\x1aK Signature for the LCV2 light-client contract, TaggedBase64 `SCHNORR_SIG~`\n\n\r\n\x05\x04L\x02\x02\x05\x12\x04\x88\x06\x02\x08\n\r\n\x05\x04L\x02\x02\x01\x12\x04\x88\x06\t\x17\n\r\n\x05\x04L\x02\x02\x03\x12\x04\x88\x06\x1a\x1b\na\n\x02\x04M\x12\x06\x8c\x06\x00\x96\x06\x01\x1aS The certificate a light client uses to advance past an epoch boundary, first form\n\n\x0b\n\x03\x04M\x01\x12\x04\x8c\x06\x08\x1b\n\x0c\n\x04\x04M\x02\x00\x12\x04\x8d\x06\x02\x13\n\r\n\x05\x04M\x02\x00\x05\x12\x04\x8d\x06\x02\x08\n\r\n\x05\x04M\x02\x00\x01\x12\x04\x8d\x06\t\x0e\n\r\n\x05\x04M\x02\x00\x03\x12\x04\x8d\x06\x11\x12\n2\n\x04\x04M\x02\x01\x12\x04\x90\x06\x02 \x1a$ TaggedBase64 `LIGHT_CLIENT_STATE~`\n\n\r\n\x05\x04M\x02\x01\x05\x12\x04\x90\x06\x02\x08\n\r\n\x05\x04M\x02\x01\x01\x12\x04\x90\x06\t\x1b\n\r\n\x05\x04M\x02\x01\x03\x12\x04\x90\x06\x1e\x1f\n1\n\x04\x04M\x02\x02\x12\x04\x93\x06\x02$\x1a# TaggedBase64 `STAKE_TABLE_STATE~`\n\n\r\n\x05\x04M\x02\x02\x05\x12\x04\x93\x06\x02\x08\n\r\n\x05\x04M\x02\x02\x01\x12\x04\x93\x06\t\x1f\n\r\n\x05\x04M\x02\x02\x03\x12\x04\x93\x06\"#\n\x0c\n\x04\x04M\x02\x03\x12\x04\x95\x06\x02+\n\r\n\x05\x04M\x02\x03\x04\x12\x04\x95\x06\x02\n\n\r\n\x05\x04M\x02\x03\x06\x12\x04\x95\x06\x0b\x1b\n\r\n\x05\x04M\x02\x03\x01\x12\x04\x95\x06\x1c&\n\r\n\x05\x04M\x02\x03\x03\x12\x04\x95\x06)*\n\x86\x01\n\x02\x04N\x12\x06\x9a\x06\x00\xa7\x06\x01\x1ax The certificate a light client uses to advance past an epoch boundary, with the LCV2 and LCV3\n signatures side by side\n\n\x0b\n\x03\x04N\x01\x12\x04\x9a\x06\x08\x1b\n\x0c\n\x04\x04N\x02\x00\x12\x04\x9b\x06\x02\x13\n\r\n\x05\x04N\x02\x00\x05\x12\x04\x9b\x06\x02\x08\n\r\n\x05\x04N\x02\x00\x01\x12\x04\x9b\x06\t\x0e\n\r\n\x05\x04N\x02\x00\x03\x12\x04\x9b\x06\x11\x12\n2\n\x04\x04N\x02\x01\x12\x04\x9e\x06\x02 \x1a$ TaggedBase64 `LIGHT_CLIENT_STATE~`\n\n\r\n\x05\x04N\x02\x01\x05\x12\x04\x9e\x06\x02\x08\n\r\n\x05\x04N\x02\x01\x01\x12\x04\x9e\x06\t\x1b\n\r\n\x05\x04N\x02\x01\x03\x12\x04\x9e\x06\x1e\x1f\n1\n\x04\x04N\x02\x02\x12\x04\xa1\x06\x02$\x1a# TaggedBase64 `STAKE_TABLE_STATE~`\n\n\r\n\x05\x04N\x02\x02\x05\x12\x04\xa1\x06\x02\x08\n\r\n\x05\x04N\x02\x02\x01\x12\x04\xa1\x06\t\x1f\n\r\n\x05\x04N\x02\x02\x03\x12\x04\xa1\x06\"#\n\x0c\n\x04\x04N\x02\x03\x12\x04\xa3\x06\x02+\n\r\n\x05\x04N\x02\x03\x04\x12\x04\xa3\x06\x02\n\n\r\n\x05\x04N\x02\x03\x06\x12\x04\xa3\x06\x0b\x1b\n\r\n\x05\x04N\x02\x03\x01\x12\x04\xa3\x06\x1c&\n\r\n\x05\x04N\x02\x03\x03\x12\x04\xa3\x06)*\nN\n\x04\x04N\x02\x04\x12\x04\xa6\x06\x02\x17\x1a@ 32 bytes, 0x-prefixed and always 64 hex digits, not a quantity\n\n\r\n\x05\x04N\x02\x04\x05\x12\x04\xa6\x06\x02\x08\n\r\n\x05\x04N\x02\x04\x01\x12\x04\xa6\x06\t\x12\n\r\n\x05\x04N\x02\x04\x03\x12\x04\xa6\x06\x15\x16\n\x0c\n\x02\x04O\x12\x06\xa9\x06\x00\xac\x06\x01\n\x0b\n\x03\x04O\x01\x12\x04\xa9\x06\x08\x1b\n\x18\n\x04\x04O\x02\x00\x12\x04\xab\x06\x02\x1c\x1a\n Required\n\n\r\n\x05\x04O\x02\x00\x04\x12\x04\xab\x06\x02\n\n\r\n\x05\x04O\x02\x00\x05\x12\x04\xab\x06\x0b\x11\n\r\n\x05\x04O\x02\x00\x01\x12\x04\xab\x06\x12\x17\n\r\n\x05\x04O\x02\x00\x03\x12\x04\xab\x06\x1a\x1b\n\x0c\n\x02\x04P\x12\x06\xae\x06\x00\xb1\x06\x01\n\x0b\n\x03\x04P\x01\x12\x04\xae\x06\x08\x1d\n\x18\n\x04\x04P\x02\x00\x12\x04\xb0\x06\x02\x1c\x1a\n Required\n\n\r\n\x05\x04P\x02\x00\x04\x12\x04\xb0\x06\x02\n\n\r\n\x05\x04P\x02\x00\x05\x12\x04\xb0\x06\x0b\x11\n\r\n\x05\x04P\x02\x00\x01\x12\x04\xb0\x06\x12\x17\n\r\n\x05\x04P\x02\x00\x03\x12\x04\xb0\x06\x1a\x1b\n\x0c\n\x02\x04Q\x12\x06\xb3\x06\x00\xb6\x06\x01\n\x0b\n\x03\x04Q\x01\x12\x04\xb3\x06\x08\x1b\n5\n\x04\x04Q\x02\x00\x12\x04\xb5\x06\x02\x1b\x1a\' Required, the first height to deliver\n\n\r\n\x05\x04Q\x02\x00\x04\x12\x04\xb5\x06\x02\n\n\r\n\x05\x04Q\x02\x00\x05\x12\x04\xb5\x06\x0b\x11\n\r\n\x05\x04Q\x02\x00\x01\x12\x04\xb5\x06\x12\x16\n\r\n\x05\x04Q\x02\x00\x03\x12\x04\xb5\x06\x19\x1a\n\x0c\n\x02\x04R\x12\x06\xb8\x06\x00\xbb\x06\x01\n\x0b\n\x03\x04R\x01\x12\x04\xb8\x06\x08\x1c\n5\n\x04\x04R\x02\x00\x12\x04\xba\x06\x02\x1b\x1a\' Required, the first height to deliver\n\n\r\n\x05\x04R\x02\x00\x04\x12\x04\xba\x06\x02\n\n\r\n\x05\x04R\x02\x00\x05\x12\x04\xba\x06\x0b\x11\n\r\n\x05\x04R\x02\x00\x01\x12\x04\xba\x06\x12\x16\n\r\n\x05\x04R\x02\x00\x03\x12\x04\xba\x06\x19\x1a\n\x0c\n\x02\x04S\x12\x06\xbd\x06\x00\xc0\x06\x01\n\x0b\n\x03\x04S\x01\x12\x04\xbd\x06\x08\x1b\n5\n\x04\x04S\x02\x00\x12\x04\xbf\x06\x02\x1b\x1a\' Required, the first height to deliver\n\n\r\n\x05\x04S\x02\x00\x04\x12\x04\xbf\x06\x02\n\n\r\n\x05\x04S\x02\x00\x05\x12\x04\xbf\x06\x0b\x11\n\r\n\x05\x04S\x02\x00\x01\x12\x04\xbf\x06\x12\x16\n\r\n\x05\x04S\x02\x00\x03\x12\x04\xbf\x06\x19\x1a\n\x0c\n\x02\x04T\x12\x06\xc2\x06\x00\xc5\x06\x01\n\x0b\n\x03\x04T\x01\x12\x04\xc2\x06\x08\x1d\n5\n\x04\x04T\x02\x00\x12\x04\xc4\x06\x02\x1b\x1a\' Required, the first height to deliver\n\n\r\n\x05\x04T\x02\x00\x04\x12\x04\xc4\x06\x02\n\n\r\n\x05\x04T\x02\x00\x05\x12\x04\xc4\x06\x0b\x11\n\r\n\x05\x04T\x02\x00\x01\x12\x04\xc4\x06\x12\x16\n\r\n\x05\x04T\x02\x00\x03\x12\x04\xc4\x06\x19\x1a\n\x0c\n\x02\x04U\x12\x06\xc7\x06\x00\xca\x06\x01\n\x0b\n\x03\x04U\x01\x12\x04\xc7\x06\x08\x1e\n5\n\x04\x04U\x02\x00\x12\x04\xc9\x06\x02\x1b\x1a\' Required, the first height to deliver\n\n\r\n\x05\x04U\x02\x00\x04\x12\x04\xc9\x06\x02\n\n\r\n\x05\x04U\x02\x00\x05\x12\x04\xc9\x06\x0b\x11\n\r\n\x05\x04U\x02\x00\x01\x12\x04\xc9\x06\x12\x16\n\r\n\x05\x04U\x02\x00\x03\x12\x04\xc9\x06\x19\x1a\n\x0c\n\x02\x04V\x12\x06\xcc\x06\x00\xd2\x06\x01\n\x0b\n\x03\x04V\x01\x12\x04\xcc\x06\x08!\n5\n\x04\x04V\x02\x00\x12\x04\xce\x06\x02\x1b\x1a\' Required, the first height to deliver\n\n\r\n\x05\x04V\x02\x00\x04\x12\x04\xce\x06\x02\n\n\r\n\x05\x04V\x02\x00\x05\x12\x04\xce\x06\x0b\x11\n\r\n\x05\x04V\x02\x00\x01\x12\x04\xce\x06\x12\x16\n\r\n\x05\x04V\x02\x00\x03\x12\x04\xce\x06\x19\x1a\ne\n\x04\x04V\x02\x01\x12\x04\xd1\x06\x02 \x1aW Deliver only this namespace\'s transactions (a 32-bit id), every namespace when absent\n\n\r\n\x05\x04V\x02\x01\x04\x12\x04\xd1\x06\x02\n\n\r\n\x05\x04V\x02\x01\x05\x12\x04\xd1\x06\x0b\x11\n\r\n\x05\x04V\x02\x01\x01\x12\x04\xd1\x06\x12\x1b\n\r\n\x05\x04V\x02\x01\x03\x12\x04\xd1\x06\x1e\x1f\n\x0c\n\x02\x04W\x12\x06\xd4\x06\x00\xda\x06\x01\n\x0b\n\x03\x04W\x01\x12\x04\xd4\x06\x08$\n5\n\x04\x04W\x02\x00\x12\x04\xd6\x06\x02\x1b\x1a\' Required, the first height to deliver\n\n\r\n\x05\x04W\x02\x00\x04\x12\x04\xd6\x06\x02\n\n\r\n\x05\x04W\x02\x00\x05\x12\x04\xd6\x06\x0b\x11\n\r\n\x05\x04W\x02\x00\x01\x12\x04\xd6\x06\x12\x16\n\r\n\x05\x04W\x02\x00\x03\x12\x04\xd6\x06\x19\x1a\n/\n\x04\x04W\x02\x01\x12\x04\xd9\x06\x02 \x1a! Required, a 32-bit namespace id\n\n\r\n\x05\x04W\x02\x01\x04\x12\x04\xd9\x06\x02\n\n\r\n\x05\x04W\x02\x01\x05\x12\x04\xd9\x06\x0b\x11\n\r\n\x05\x04W\x02\x01\x01\x12\x04\xd9\x06\x12\x1b\n\r\n\x05\x04W\x02\x01\x03\x12\x04\xd9\x06\x1e\x1f\n\x0c\n\x02\x04X\x12\x06\xdc\x06\x00\xdf\x06\x01\n\x0b\n\x03\x04X\x01\x12\x04\xdc\x06\x08\x1c\n\\\n\x04\x04X\x02\x00\x12\x04\xde\x06\x02\"\x1aN Ascending and disjoint, and together bounded by the small-object range limit\n\n\r\n\x05\x04X\x02\x00\x04\x12\x04\xde\x06\x02\n\n\r\n\x05\x04X\x02\x00\x06\x12\x04\xde\x06\x0b\x16\n\r\n\x05\x04X\x02\x00\x01\x12\x04\xde\x06\x17\x1d\n\r\n\x05\x04X\x02\x00\x03\x12\x04\xde\x06 !\n\x0c\n\x02\x04Y\x12\x06\xe1\x06\x00\xe4\x06\x01\n\x0b\n\x03\x04Y\x01\x12\x04\xe1\x06\x08\x1d\n\\\n\x04\x04Y\x02\x00\x12\x04\xe3\x06\x02\"\x1aN Ascending and disjoint, and together bounded by the large-object range limit\n\n\r\n\x05\x04Y\x02\x00\x04\x12\x04\xe3\x06\x02\n\n\r\n\x05\x04Y\x02\x00\x06\x12\x04\xe3\x06\x0b\x16\n\r\n\x05\x04Y\x02\x00\x01\x12\x04\xe3\x06\x17\x1d\n\r\n\x05\x04Y\x02\x00\x03\x12\x04\xe3\x06 !\n\x0c\n\x02\x04Z\x12\x06\xe6\x06\x00\xe9\x06\x01\n\x0b\n\x03\x04Z\x01\x12\x04\xe6\x06\x08!\n\\\n\x04\x04Z\x02\x00\x12\x04\xe8\x06\x02\"\x1aN Ascending and disjoint, and together bounded by the small-object range limit\n\n\r\n\x05\x04Z\x02\x00\x04\x12\x04\xe8\x06\x02\n\n\r\n\x05\x04Z\x02\x00\x06\x12\x04\xe8\x06\x0b\x16\n\r\n\x05\x04Z\x02\x00\x01\x12\x04\xe8\x06\x17\x1d\n\r\n\x05\x04Z\x02\x00\x03\x12\x04\xe8\x06 !\n\x0c\n\x02\x06\x00\x12\x06\xeb\x06\x00\x9c\x08\x01\n\x0b\n\x03\x06\x00\x01\x12\x04\xeb\x06\x08\x1b\nQ\n\x04\x06\x00\x02\x00\x12\x06\xed\x06\x02\xef\x06\x03\x1aA Get the most objects one range query may load, per object class\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xed\x06\x06\x0f\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xed\x06\x10 \n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xed\x06+9\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\xee\x06\x04@\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\xee\x06\x04@\n\x80\x01\n\x04\x06\x00\x02\x01\x12\x06\xf3\x06\x02\xf5\x06\x03\x1ap Get one block header. Exactly one of height, hash or payload_hash selects the block. None or\n several is a 400\n\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xf3\x06\x06\x0f\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xf3\x06\x10 \n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xf3\x06+9\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04\xf4\x06\x04@\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04\xf4\x06\x04@\n\\\n\x04\x06\x00\x02\x02\x12\x06\xf8\x06\x02\xfa\x06\x03\x1aL Get the headers of a height range, bounded by the large-object range limit\n\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xf8\x06\x06\x14\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xf8\x06\x15*\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xf8\x065H\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04\xf9\x06\x04F\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04\xf9\x06\x04F\nz\n\x04\x06\x00\x02\x03\x12\x06\xfe\x06\x02\x80\x07\x03\x1aj Get one leaf with the QC certifying it. Exactly one of height or hash selects it. None or both\n is a 400\n\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\xfe\x06\x06\r\n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\xfe\x06\x0e\x1c\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\xfe\x06\'3\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04\xff\x06\x04>\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04\xff\x06\x04>\n[\n\x04\x06\x00\x02\x04\x12\x06\x83\x07\x02\x85\x07\x03\x1aK Get the leaves of a height range, bounded by the small-object range limit\n\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\x83\x07\x06\x12\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\x83\x07\x13&\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\x83\x071B\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04\x84\x07\x04D\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04\x84\x07\x04D\n\xac\x01\n\x04\x06\x00\x02\x05\x12\x06\x89\x07\x02\x8e\x07\x03\x1a\x9b\x01 Get the leaves of several height ranges in one request, for peers catching up. The whole set\n is served or none of it, in the order the ranges were given\n\n\r\n\x05\x06\x00\x02\x05\x01\x12\x04\x89\x07\x06\x13\n\r\n\x05\x06\x00\x02\x05\x02\x12\x04\x89\x07\x14(\n\r\n\x05\x06\x00\x02\x05\x03\x12\x04\x89\x073D\n\x0f\n\x05\x06\x00\x02\x05\x04\x12\x06\x8a\x07\x04\x8d\x07\x06\n\x13\n\t\x06\x00\x02\x05\x04\xb0\xca\xbc\"\x12\x06\x8a\x07\x04\x8d\x07\x06\n\xa0\x01\n\x04\x06\x00\x02\x06\x12\x06\x92\x07\x02\x94\x07\x03\x1a\x8f\x01 Get the new protocol\'s phase-2 certificate for a height. Not found before the new protocol\n took over, or while the node is still fetching it\n\n\r\n\x05\x06\x00\x02\x06\x01\x12\x04\x92\x07\x06\x0e\n\r\n\x05\x06\x00\x02\x06\x02\x12\x04\x92\x07\x0f\x1e\n\r\n\x05\x06\x00\x02\x06\x03\x12\x04\x92\x07)6\n\r\n\x05\x06\x00\x02\x06\x04\x12\x04\x93\x07\x04?\n\x11\n\t\x06\x00\x02\x06\x04\xb0\xca\xbc\"\x12\x04\x93\x07\x04?\n\x8f\x01\n\x04\x06\x00\x02\x07\x12\x06\x98\x07\x02\x9a\x07\x03\x1a\x7f Get one block, header and payload together. Exactly one of height, hash or payload_hash selects\n it. None or several is a 400\n\n\r\n\x05\x06\x00\x02\x07\x01\x12\x04\x98\x07\x06\x0e\n\r\n\x05\x06\x00\x02\x07\x02\x12\x04\x98\x07\x0f\x1e\n\r\n\x05\x06\x00\x02\x07\x03\x12\x04\x98\x07)6\n\r\n\x05\x06\x00\x02\x07\x04\x12\x04\x99\x07\x04?\n\x11\n\t\x06\x00\x02\x07\x04\xb0\xca\xbc\"\x12\x04\x99\x07\x04?\n[\n\x04\x06\x00\x02\x08\x12\x06\x9d\x07\x02\x9f\x07\x03\x1aK Get the blocks of a height range, bounded by the large-object range limit\n\n\r\n\x05\x06\x00\x02\x08\x01\x12\x04\x9d\x07\x06\x13\n\r\n\x05\x06\x00\x02\x08\x02\x12\x04\x9d\x07\x14(\n\r\n\x05\x06\x00\x02\x08\x03\x12\x04\x9d\x073E\n\r\n\x05\x06\x00\x02\x08\x04\x12\x04\x9e\x07\x04E\n\x11\n\t\x06\x00\x02\x08\x04\xb0\xca\xbc\"\x12\x04\x9e\x07\x04E\n\xac\x01\n\x04\x06\x00\x02\t\x12\x06\xa3\x07\x02\xa8\x07\x03\x1a\x9b\x01 Get the blocks of several height ranges in one request, for peers catching up. The whole set\n is served or none of it, in the order the ranges were given\n\n\r\n\x05\x06\x00\x02\t\x01\x12\x04\xa3\x07\x06\x14\n\r\n\x05\x06\x00\x02\t\x02\x12\x04\xa3\x07\x15*\n\r\n\x05\x06\x00\x02\t\x03\x12\x04\xa3\x075G\n\x0f\n\x05\x06\x00\x02\t\x04\x12\x06\xa4\x07\x04\xa7\x07\x06\n\x13\n\t\x06\x00\x02\t\x04\xb0\xca\xbc\"\x12\x06\xa4\x07\x04\xa7\x07\x06\nq\n\x04\x06\x00\x02\n\x12\x06\xab\x07\x02\xad\x07\x03\x1aa Get one payload. Exactly one of height, hash or block_hash selects it. None or several is a 400\n\n\r\n\x05\x06\x00\x02\n\x01\x12\x04\xab\x07\x06\x10\n\r\n\x05\x06\x00\x02\n\x02\x12\x04\xab\x07\x11\"\n\r\n\x05\x06\x00\x02\n\x03\x12\x04\xab\x07-<\n\r\n\x05\x06\x00\x02\n\x04\x12\x04\xac\x07\x04A\n\x11\n\t\x06\x00\x02\n\x04\xb0\xca\xbc\"\x12\x04\xac\x07\x04A\n]\n\x04\x06\x00\x02\x0b\x12\x06\xb0\x07\x02\xb2\x07\x03\x1aM Get the payloads of a height range, bounded by the large-object range limit\n\n\r\n\x05\x06\x00\x02\x0b\x01\x12\x04\xb0\x07\x06\x15\n\r\n\x05\x06\x00\x02\x0b\x02\x12\x04\xb0\x07\x16,\n\r\n\x05\x06\x00\x02\x0b\x03\x12\x04\xb0\x077K\n\r\n\x05\x06\x00\x02\x0b\x04\x12\x04\xb1\x07\x04G\n\x11\n\t\x06\x00\x02\x0b\x04\xb0\xca\xbc\"\x12\x04\xb1\x07\x04G\n\x91\x01\n\x04\x06\x00\x02\x0c\x12\x06\xb6\x07\x02\xb8\x07\x03\x1a\x80\x01 Get the VID common data of one block. Exactly one of height, hash or payload_hash selects the\n block. None or several is a 400\n\n\r\n\x05\x06\x00\x02\x0c\x01\x12\x04\xb6\x07\x06\x12\n\r\n\x05\x06\x00\x02\x0c\x02\x12\x04\xb6\x07\x13&\n\r\n\x05\x06\x00\x02\x0c\x03\x12\x04\xb6\x071B\n\r\n\x05\x06\x00\x02\x0c\x04\x12\x04\xb7\x07\x04D\n\x11\n\t\x06\x00\x02\x0c\x04\xb0\xca\xbc\"\x12\x04\xb7\x07\x04D\nd\n\x04\x06\x00\x02\r\x12\x06\xbb\x07\x02\xbd\x07\x03\x1aT Get the VID common data of a height range, bounded by the small-object range limit\n\n\r\n\x05\x06\x00\x02\r\x01\x12\x04\xbb\x07\x06\x17\n\r\n\x05\x06\x00\x02\r\x02\x12\x04\xbb\x07\x180\n\r\n\x05\x06\x00\x02\r\x03\x12\x04\xbb\x07;Q\n\r\n\x05\x06\x00\x02\r\x04\x12\x04\xbc\x07\x04J\n\x11\n\t\x06\x00\x02\r\x04\xb0\xca\xbc\"\x12\x04\xbc\x07\x04J\n\xb5\x01\n\x04\x06\x00\x02\x0e\x12\x06\xc1\x07\x02\xc6\x07\x03\x1a\xa4\x01 Get the VID common data of several height ranges in one request, for peers catching up. The\n whole set is served or none of it, in the order the ranges were given\n\n\r\n\x05\x06\x00\x02\x0e\x01\x12\x04\xc1\x07\x06\x18\n\r\n\x05\x06\x00\x02\x0e\x02\x12\x04\xc1\x07\x192\n\r\n\x05\x06\x00\x02\x0e\x03\x12\x04\xc1\x07=S\n\x0f\n\x05\x06\x00\x02\x0e\x04\x12\x06\xc2\x07\x04\xc5\x07\x06\n\x13\n\t\x06\x00\x02\x0e\x04\xb0\xca\xbc\"\x12\x06\xc2\x07\x04\xc5\x07\x06\nu\n\x04\x06\x00\x02\x0f\x12\x06\xca\x07\x02\xcc\x07\x03\x1ae Get one transaction. Either height and index together, or hash, selects it. Anything else is a\n 400\n\n\r\n\x05\x06\x00\x02\x0f\x01\x12\x04\xca\x07\x06\x14\n\r\n\x05\x06\x00\x02\x0f\x02\x12\x04\xca\x07\x15*\n\r\n\x05\x06\x00\x02\x0f\x03\x12\x04\xca\x075H\n\r\n\x05\x06\x00\x02\x0f\x04\x12\x04\xcb\x07\x04E\n\x11\n\t\x06\x00\x02\x0f\x04\xb0\xca\xbc\"\x12\x04\xcb\x07\x04E\n\x8e\x01\n\x04\x06\x00\x02\x10\x12\x06\xd0\x07\x02\xd2\x07\x03\x1a~ Get one transaction with its inclusion proof. Either height and index together, or hash,\n selects it. Anything else is a 400\n\n\r\n\x05\x06\x00\x02\x10\x01\x12\x04\xd0\x07\x06\x19\n\r\n\x05\x06\x00\x02\x10\x02\x12\x04\xd0\x07\x1a4\n\r\n\x05\x06\x00\x02\x10\x03\x12\x04\xd0\x07?[\n\r\n\x05\x06\x00\x02\x10\x04\x12\x04\xd1\x07\x04K\n\x11\n\t\x06\x00\x02\x10\x04\xb0\xca\xbc\"\x12\x04\xd1\x07\x04K\ne\n\x04\x06\x00\x02\x11\x12\x06\xd5\x07\x02\xd7\x07\x03\x1aU Get a block\'s header with its hash, size and transaction count, without the payload\n\n\r\n\x05\x06\x00\x02\x11\x01\x12\x04\xd5\x07\x06\x15\n\r\n\x05\x06\x00\x02\x11\x02\x12\x04\xd5\x07\x16,\n\r\n\x05\x06\x00\x02\x11\x03\x12\x04\xd5\x077K\n\r\n\x05\x06\x00\x02\x11\x04\x12\x04\xd6\x07\x04G\n\x11\n\t\x06\x00\x02\x11\x04\xb0\xca\xbc\"\x12\x04\xd6\x07\x04G\nd\n\x04\x06\x00\x02\x12\x12\x06\xda\x07\x02\xdc\x07\x03\x1aT Get the block summaries of a height range, bounded by the large-object range limit\n\n\r\n\x05\x06\x00\x02\x12\x01\x12\x04\xda\x07\x06\x1a\n\r\n\x05\x06\x00\x02\x12\x02\x12\x04\xda\x07\x1b6\n\r\n\x05\x06\x00\x02\x12\x03\x12\x04\xda\x07AZ\n\r\n\x05\x06\x00\x02\x12\x04\x12\x04\xdb\x07\x04M\n\x11\n\t\x06\x00\x02\x12\x04\xb0\xca\xbc\"\x12\x04\xdb\x07\x04M\n\xc0\x01\n\x04\x06\x00\x02\x13\x12\x06\xe0\x07\x02\xe2\x07\x03\x1a\xaf\x01 Get a namespace\'s transactions and its proof against one block\'s payload commitment. Exactly\n one of height, hash or payload_hash selects the block. None or several is a 400\n\n\r\n\x05\x06\x00\x02\x13\x01\x12\x04\xe0\x07\x06\x17\n\r\n\x05\x06\x00\x02\x13\x02\x12\x04\xe0\x07\x180\n\r\n\x05\x06\x00\x02\x13\x03\x12\x04\xe0\x07;Q\n\r\n\x05\x06\x00\x02\x13\x04\x12\x04\xe1\x07\x04I\n\x11\n\t\x06\x00\x02\x13\x04\xb0\xca\xbc\"\x12\x04\xe1\x07\x04I\nj\n\x04\x06\x00\x02\x14\x12\x06\xe5\x07\x02\xe7\x07\x03\x1aZ Get a namespace\'s proofs over a height range, bounded by the namespace-proof range limit\n\n\r\n\x05\x06\x00\x02\x14\x01\x12\x04\xe5\x07\x06\x1c\n\r\n\x05\x06\x00\x02\x14\x02\x12\x04\xe5\x07\x1d:\n\r\n\x05\x06\x00\x02\x14\x03\x12\x04\xe5\x07E`\n\r\n\x05\x06\x00\x02\x14\x04\x12\x04\xe6\x07\x04O\n\x11\n\t\x06\x00\x02\x14\x04\xb0\xca\xbc\"\x12\x04\xe6\x07\x04O\n_\n\x04\x06\x00\x02\x15\x12\x06\xea\x07\x02\xec\x07\x03\x1aO Get the proof that an AvidM block\'s disperser encoded a namespace incorrectly\n\n\r\n\x05\x06\x00\x02\x15\x01\x12\x04\xea\x07\x06\x1f\n\r\n\x05\x06\x00\x02\x15\x02\x12\x04\xea\x07 @\n\r\n\x05\x06\x00\x02\x15\x03\x12\x04\xea\x07Ki\n\r\n\x05\x06\x00\x02\x15\x04\x12\x04\xeb\x07\x04R\n\x11\n\t\x06\x00\x02\x15\x04\xb0\xca\xbc\"\x12\x04\xeb\x07\x04R\n_\n\x04\x06\x00\x02\x16\x12\x06\xef\x07\x02\xf1\x07\x03\x1aO Get the light-client state certificate finalizing an epoch, in its first form\n\n\r\n\x05\x06\x00\x02\x16\x01\x12\x04\xef\x07\x06\x12\n\r\n\x05\x06\x00\x02\x16\x02\x12\x04\xef\x07\x13&\n\r\n\x05\x06\x00\x02\x16\x03\x12\x04\xef\x071D\n\r\n\x05\x06\x00\x02\x16\x04\x12\x04\xf0\x07\x04D\n\x11\n\t\x06\x00\x02\x16\x04\xb0\xca\xbc\"\x12\x04\xf0\x07\x04D\nk\n\x04\x06\x00\x02\x17\x12\x06\xf4\x07\x02\xf6\x07\x03\x1a[ Get the light-client state certificate finalizing an epoch, with both contract signatures\n\n\r\n\x05\x06\x00\x02\x17\x01\x12\x04\xf4\x07\x06\x14\n\r\n\x05\x06\x00\x02\x17\x02\x12\x04\xf4\x07\x15*\n\r\n\x05\x06\x00\x02\x17\x03\x12\x04\xf4\x075H\n\r\n\x05\x06\x00\x02\x17\x04\x12\x04\xf5\x07\x04G\n\x11\n\t\x06\x00\x02\x17\x04\xb0\xca\xbc\"\x12\x04\xf5\x07\x04G\n\xbe\x01\n\x04\x06\x00\x02\x18\x12\x06\xfa\x07\x02\xfc\x07\x03\x1a\xad\x01 Subscribe to leaves from a height onward. Over REST this is server-sent events, one JSON\n `data:` frame per leaf. A stream follows the chain head and never ends on its own\n\n\r\n\x05\x06\x00\x02\x18\x01\x12\x04\xfa\x07\x06\x12\n\r\n\x05\x06\x00\x02\x18\x02\x12\x04\xfa\x07\x13&\n\r\n\x05\x06\x00\x02\x18\x06\x12\x04\xfa\x0717\n\r\n\x05\x06\x00\x02\x18\x03\x12\x04\xfa\x078D\n\r\n\x05\x06\x00\x02\x18\x04\x12\x04\xfb\x07\x04G\n\x11\n\t\x06\x00\x02\x18\x04\xb0\xca\xbc\"\x12\x04\xfb\x07\x04G\nR\n\x04\x06\x00\x02\x19\x12\x06\xff\x07\x02\x81\x08\x03\x1aB Subscribe to headers from a height onward, as server-sent events\n\n\r\n\x05\x06\x00\x02\x19\x01\x12\x04\xff\x07\x06\x13\n\r\n\x05\x06\x00\x02\x19\x02\x12\x04\xff\x07\x14(\n\r\n\x05\x06\x00\x02\x19\x06\x12\x04\xff\x0739\n\r\n\x05\x06\x00\x02\x19\x03\x12\x04\xff\x07:H\n\r\n\x05\x06\x00\x02\x19\x04\x12\x04\x80\x08\x04H\n\x11\n\t\x06\x00\x02\x19\x04\xb0\xca\xbc\"\x12\x04\x80\x08\x04H\nQ\n\x04\x06\x00\x02\x1a\x12\x06\x84\x08\x02\x86\x08\x03\x1aA Subscribe to blocks from a height onward, as server-sent events\n\n\r\n\x05\x06\x00\x02\x1a\x01\x12\x04\x84\x08\x06\x12\n\r\n\x05\x06\x00\x02\x1a\x02\x12\x04\x84\x08\x13&\n\r\n\x05\x06\x00\x02\x1a\x06\x12\x04\x84\x0817\n\r\n\x05\x06\x00\x02\x1a\x03\x12\x04\x84\x088E\n\r\n\x05\x06\x00\x02\x1a\x04\x12\x04\x85\x08\x04G\n\x11\n\t\x06\x00\x02\x1a\x04\xb0\xca\xbc\"\x12\x04\x85\x08\x04G\nS\n\x04\x06\x00\x02\x1b\x12\x06\x89\x08\x02\x8b\x08\x03\x1aC Subscribe to payloads from a height onward, as server-sent events\n\n\r\n\x05\x06\x00\x02\x1b\x01\x12\x04\x89\x08\x06\x14\n\r\n\x05\x06\x00\x02\x1b\x02\x12\x04\x89\x08\x15*\n\r\n\x05\x06\x00\x02\x1b\x06\x12\x04\x89\x085;\n\r\n\x05\x06\x00\x02\x1b\x03\x12\x04\x89\x08<K\n\r\n\x05\x06\x00\x02\x1b\x04\x12\x04\x8a\x08\x04I\n\x11\n\t\x06\x00\x02\x1b\x04\xb0\xca\xbc\"\x12\x04\x8a\x08\x04I\nZ\n\x04\x06\x00\x02\x1c\x12\x06\x8e\x08\x02\x90\x08\x03\x1aJ Subscribe to VID common data from a height onward, as server-sent events\n\n\r\n\x05\x06\x00\x02\x1c\x01\x12\x04\x8e\x08\x06\x15\n\r\n\x05\x06\x00\x02\x1c\x02\x12\x04\x8e\x08\x16,\n\r\n\x05\x06\x00\x02\x1c\x06\x12\x04\x8e\x087=\n\r\n\x05\x06\x00\x02\x1c\x03\x12\x04\x8e\x08>O\n\r\n\x05\x06\x00\x02\x1c\x04\x12\x04\x8f\x08\x04K\n\x11\n\t\x06\x00\x02\x1c\x04\xb0\xca\xbc\"\x12\x04\x8f\x08\x04K\nu\n\x04\x06\x00\x02\x1d\x12\x06\x94\x08\x02\x96\x08\x03\x1ae Subscribe to transactions from a height onward, optionally of one namespace, as server-sent\n events\n\n\r\n\x05\x06\x00\x02\x1d\x01\x12\x04\x94\x08\x06\x18\n\r\n\x05\x06\x00\x02\x1d\x02\x12\x04\x94\x08\x192\n\r\n\x05\x06\x00\x02\x1d\x06\x12\x04\x94\x08=C\n\r\n\x05\x06\x00\x02\x1d\x03\x12\x04\x94\x08DW\n\r\n\x05\x06\x00\x02\x1d\x04\x12\x04\x95\x08\x04M\n\x11\n\t\x06\x00\x02\x1d\x04\xb0\xca\xbc\"\x12\x04\x95\x08\x04M\na\n\x04\x06\x00\x02\x1e\x12\x06\x99\x08\x02\x9b\x08\x03\x1aQ Subscribe to one namespace\'s proofs from a height onward, as server-sent events\n\n\r\n\x05\x06\x00\x02\x1e\x01\x12\x04\x99\x08\x06\x1b\n\r\n\x05\x06\x00\x02\x1e\x02\x12\x04\x99\x08\x1c8\n\r\n\x05\x06\x00\x02\x1e\x06\x12\x04\x99\x08CI\n\r\n\x05\x06\x00\x02\x1e\x03\x12\x04\x99\x08J`\n\r\n\x05\x06\x00\x02\x1e\x04\x12\x04\x9a\x08\x04Q\n\x11\n\t\x06\x00\x02\x1e\x04\xb0\xca\xbc\"\x12\x04\x9a\x08\x04Qb\x06proto3\n\x95\xa9\x01\n\rv2/node.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x0fv2/common.proto\"\x8b\x01\n\x1aGetTransactionCountRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x13\n\x02to\x18\x02 \x01(\x04H\x01R\x02to\x88\x01\x01\x12!\n\tnamespace\x18\x03 \x01(\x04H\x02R\tnamespace\x88\x01\x01B\x07\n\x05_fromB\x05\n\x03_toB\x0c\n\n_namespace\"0\n\x18TransactionCountResponse\x12\x14\n\x05count\x18\x01 \x01(\x04R\x05count\"\x86\x01\n\x15GetPayloadSizeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x13\n\x02to\x18\x02 \x01(\x04H\x01R\x02to\x88\x01\x01\x12!\n\tnamespace\x18\x03 \x01(\x04H\x02R\tnamespace\x88\x01\x01B\x07\n\x05_fromB\x05\n\x03_toB\x0c\n\n_namespace\")\n\x13PayloadSizeResponse\x12\x12\n\x04size\x18\x01 \x01(\x04R\x04size\"\x16\n\x14GetSyncStatusRequest\"n\n\x0fSyncStatusRange\x12\x14\n\x05start\x18\x01 \x01(\x04R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x04R\x03end\x123\n\x06status\x18\x03 \x01(\x0e2\x1b.espresso.api.v2.SyncStatusR\x06status\"h\n\x12ResourceSyncStatus\x12\x18\n\x07missing\x18\x01 \x01(\x04R\x07missing\x128\n\x06ranges\x18\x02 \x03(\x0b2 .espresso.api.v2.SyncStatusRangeR\x06ranges\"\x8e\x02\n\x12SyncStatusResponse\x12;\n\x06blocks\x18\x01 \x01(\x0b2#.espresso.api.v2.ResourceSyncStatusR\x06blocks\x12;\n\x06leaves\x18\x02 \x01(\x0b2#.espresso.api.v2.ResourceSyncStatusR\x06leaves\x12B\n\nvid_common\x18\x03 \x01(\x0b2#.espresso.api.v2.ResourceSyncStatusR\tvidCommon\x12(\n\rpruned_height\x18\x04 \x01(\x04H\x00R\x0cprunedHeight\x88\x01\x01B\x10\n\x0e_pruned_height\"<\n\x15GetBlockRewardRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"=\n\x13BlockRewardResponse\x12\x1b\n\x06amount\x18\x01 \x01(\tH\x00R\x06amount\x88\x01\x01B\t\n\x07_amount\"\xd6\x01\n\x16GetHeaderWindowRequest\x12\"\n\nstart_time\x18\x01 \x01(\x04H\x00R\tstartTime\x88\x01\x01\x12&\n\x0cstart_height\x18\x02 \x01(\x04H\x01R\x0bstartHeight\x88\x01\x01\x12\"\n\nstart_hash\x18\x03 \x01(\tH\x02R\tstartHash\x88\x01\x01\x12\x15\n\x03end\x18\x04 \x01(\x04H\x03R\x03end\x88\x01\x01B\r\n\x0b_start_timeB\x0f\n\r_start_heightB\r\n\x0b_start_hashB\x06\n\x04_end\"\xd5\x01\n\x14HeaderWindowResponse\x127\n\x06window\x18\x01 \x03(\x0b2\x1f.espresso.api.v2.HeaderResponseR\x06window\x128\n\x04prev\x18\x02 \x01(\x0b2\x1f.espresso.api.v2.HeaderResponseH\x00R\x04prev\x88\x01\x01\x128\n\x04next\x18\x03 \x01(\x0b2\x1f.espresso.api.v2.HeaderResponseH\x01R\x04next\x88\x01\x01B\x07\n\x05_prevB\x07\n\x05_next\"P\n\x12AdvzMerkleNodeLeaf\x12\x12\n\x04elem\x18\x01 \x01(\tR\x04elem\x12\x10\n\x03pos\x18\x02 \x01(\tR\x03pos\x12\x14\n\x05value\x18\x03 \x01(\tR\x05value\"i\n\x14AdvzMerkleNodeBranch\x12;\n\x08children\x18\x01 \x03(\x0b2\x1f.espresso.api.v2.AdvzMerkleNodeR\x08children\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"6\n\x1eAdvzMerkleNodeForgottenSubtree\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\"\x15\n\x13AdvzMerkleNodeEmpty\"\xb2\x02\n\x0eAdvzMerkleNode\x129\n\x04leaf\x18\x01 \x01(\x0b2#.espresso.api.v2.AdvzMerkleNodeLeafH\x00R\x04leaf\x12?\n\x06branch\x18\x02 \x01(\x0b2%.espresso.api.v2.AdvzMerkleNodeBranchH\x00R\x06branch\x12^\n\x11forgotten_subtree\x18\x03 \x01(\x0b2/.espresso.api.v2.AdvzMerkleNodeForgottenSubtreeH\x00R\x10forgottenSubtree\x12<\n\x05empty\x18\x04 \x01(\x0b2$.espresso.api.v2.AdvzMerkleNodeEmptyH\x00R\x05emptyB\x06\n\x04node\"Z\n\x0fAdvzMerkleProof\x12\x10\n\x03pos\x18\x01 \x01(\tR\x03pos\x125\n\x05proof\x18\x02 \x03(\x0b2\x1f.espresso.api.v2.AdvzMerkleNodeR\x05proof\"\xa8\x01\n\x0cAdvzVidShare\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12)\n\x10aggregate_proofs\x18\x02 \x01(\tR\x0faggregateProofs\x12\x14\n\x05evals\x18\x03 \x01(\tR\x05evals\x12A\n\x0bevals_proof\x18\x04 \x01(\x0b2 .espresso.api.v2.AdvzMerkleProofR\nevalsProof\"4\n\nShardRange\x12\x14\n\x05start\x18\x01 \x01(\x04R\x05start\x12\x10\n\x03end\x18\x02 \x01(\x04R\x03end\"}\n\x11AvidmShareContent\x121\n\x05range\x18\x01 \x01(\x0b2\x1b.espresso.api.v2.ShardRangeR\x05range\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload\x12\x1b\n\tmt_proofs\x18\x03 \x01(\tR\x08mtProofs\"\x9b\x01\n\rAvidmVidShare\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x1d\n\nns_commits\x18\x02 \x03(\tR\tnsCommits\x12\x17\n\x07ns_lens\x18\x03 \x03(\x04R\x06nsLens\x12<\n\x07content\x18\x04 \x03(\x0b2\".espresso.api.v2.AvidmShareContentR\x07content\"}\n\x11AvidmGf2Namespace\x121\n\x05range\x18\x01 \x01(\x0b2\x1b.espresso.api.v2.ShardRangeR\x05range\x12\x18\n\x07payload\x18\x02 \x03(\x0cR\x07payload\x12\x1b\n\tmt_proofs\x18\x03 \x03(\tR\x08mtProofs\"V\n\x10AvidmGf2VidShare\x12B\n\nnamespaces\x18\x01 \x03(\x0b2\".espresso.api.v2.AvidmGf2NamespaceR\nnamespaces\"\x97\x01\n\x12GetVidShareRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01\x12&\n\x0cpayload_hash\x18\x03 \x01(\tH\x02R\x0bpayloadHash\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hashB\x0f\n\r_payload_hash\"\xb3\x01\n\x10VidShareResponse\x12/\n\x02v0\x18\x01 \x01(\x0b2\x1d.espresso.api.v2.AdvzVidShareH\x00R\x02v0\x120\n\x02v1\x18\x02 \x01(\x0b2\x1e.espresso.api.v2.AvidmVidShareH\x00R\x02v1\x123\n\x02v2\x18\x03 \x01(\x0b2!.espresso.api.v2.AvidmGf2VidShareH\x00R\x02v2B\x07\n\x05share\"\x1b\n\x19GetNodeBlockHeightRequest\"1\n\x17NodeBlockHeightResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"\x16\n\x14GetNodeLimitsRequest\"7\n\x12NodeLimitsResponse\x12!\n\x0cwindow_limit\x18\x01 \x01(\x04R\x0bwindowLimit\";\n\x14GetStakeTableRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"w\n\x12StakeTableResponse\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01\x12<\n\x0bstake_table\x18\x02 \x03(\x0b2\x1b.espresso.api.v2.PeerConfigR\nstakeTableB\x08\n\x06_epoch\"=\n\tDelegator\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x12\x16\n\x06amount\x18\x02 \x01(\tR\x06amount\"\xdb\x03\n\tValidator\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x12J\n\x0fstake_table_key\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.BLSPublicKeyH\x00R\rstakeTableKey\x88\x01\x01\x12J\n\rstate_ver_key\x18\x03 \x01(\x0b2!.espresso.api.v2.SchnorrPublicKeyH\x01R\x0bstateVerKey\x88\x01\x01\x12\x14\n\x05stake\x18\x04 \x01(\tR\x05stake\x12\x1e\n\ncommission\x18\x05 \x01(\rR\ncommission\x12:\n\ndelegators\x18\x06 \x03(\x0b2\x1a.espresso.api.v2.DelegatorR\ndelegators\x12$\n\rauthenticated\x18\x07 \x01(\x08R\rauthenticated\x12\"\n\nx25519_key\x18\x08 \x01(\tH\x02R\tx25519Key\x88\x01\x01\x12\x1e\n\x08p2p_addr\x18\t \x01(\tH\x03R\x07p2pAddr\x88\x01\x01B\x12\n\x10_stake_table_keyB\x10\n\x0e_state_ver_keyB\r\n\x0b_x25519_keyB\x0b\n\t_p2p_addr\";\n\x14GetValidatorsRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"P\n\x12ValidatorsResponse\x12:\n\nvalidators\x18\x01 \x03(\x0b2\x1a.espresso.api.v2.ValidatorR\nvalidators\"\x8b\x01\n\x17GetAllValidatorsRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01\x12\x1b\n\x06offset\x18\x02 \x01(\x04H\x01R\x06offset\x88\x01\x01\x12\x19\n\x05limit\x18\x03 \x01(\x04H\x02R\x05limit\x88\x01\x01B\x08\n\x06_epochB\t\n\x07_offsetB\x08\n\x06_limit\"k\n\x12ParticipationEntry\x12/\n\x03key\x18\x01 \x01(\x0b2\x1d.espresso.api.v2.BLSPublicKeyR\x03key\x12$\n\rparticipation\x18\x02 \x01(\x01R\rparticipation\"F\n\x1fGetProposalParticipationRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"B\n\x1bGetVoteParticipationRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"b\n\x15ParticipationResponse\x12I\n\rparticipation\x18\x01 \x03(\x0b2#.espresso.api.v2.ParticipationEntryR\rparticipation*s\n\nSyncStatus\x12\x1b\n\x17SYNC_STATUS_UNSPECIFIED\x10\x00\x12\x17\n\x13SYNC_STATUS_PRESENT\x10\x01\x12\x17\n\x13SYNC_STATUS_MISSING\x10\x02\x12\x16\n\x12SYNC_STATUS_PRUNED\x10\x032\xc1\r\n\x0bNodeService\x12\x91\x01\n\x13GetTransactionCount\x12+.espresso.api.v2.GetTransactionCountRequest\x1a).espresso.api.v2.TransactionCountResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v2/node/transaction-count\x12}\n\x0eGetPayloadSize\x12&.espresso.api.v2.GetPayloadSizeRequest\x1a$.espresso.api.v2.PayloadSizeResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v2/node/payload-size\x12y\n\rGetSyncStatus\x12%.espresso.api.v2.GetSyncStatusRequest\x1a#.espresso.api.v2.SyncStatusResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v2/node/sync-status\x12}\n\x0eGetBlockReward\x12&.espresso.api.v2.GetBlockRewardRequest\x1a$.espresso.api.v2.BlockRewardResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v2/node/block-reward\x12\x89\x01\n\x12GetNodeBlockHeight\x12*.espresso.api.v2.GetNodeBlockHeightRequest\x1a(.espresso.api.v2.NodeBlockHeightResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v2/node/block-height\x12\x81\x01\n\x0fGetHeaderWindow\x12\'.espresso.api.v2.GetHeaderWindowRequest\x1a%.espresso.api.v2.HeaderWindowResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/node/header-window\x12q\n\x0bGetVidShare\x12#.espresso.api.v2.GetVidShareRequest\x1a!.espresso.api.v2.VidShareResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v2/node/vid-share\x12t\n\rGetNodeLimits\x12%.espresso.api.v2.GetNodeLimitsRequest\x1a#.espresso.api.v2.NodeLimitsResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/v2/node/limits\x12y\n\rGetStakeTable\x12%.espresso.api.v2.GetStakeTableRequest\x1a#.espresso.api.v2.StakeTableResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v2/node/stake-table\x12x\n\rGetValidators\x12%.espresso.api.v2.GetValidatorsRequest\x1a#.espresso.api.v2.ValidatorsResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v2/node/validators\x12\x82\x01\n\x10GetAllValidators\x12(.espresso.api.v2.GetAllValidatorsRequest\x1a#.espresso.api.v2.ValidatorsResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2/node/all-validators\x12\x9d\x01\n\x18GetProposalParticipation\x120.espresso.api.v2.GetProposalParticipationRequest\x1a&.espresso.api.v2.ParticipationResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/v2/node/participation/proposal\x12\x91\x01\n\x14GetVoteParticipation\x12,.espresso.api.v2.GetVoteParticipationRequest\x1a&.espresso.api.v2.ParticipationResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/node/participation/voteJ\xadu\n\x07\x12\x05\x00\x00\xb4\x03\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x19\n\n\n\x02\x04\x00\x12\x04\x07\x00\x11\x01\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\"\nL\n\x04\x04\x00\x02\x00\x12\x03\t\x02\x1b\x1a? Lowest block height to include; the genesis block when absent\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\t\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\t\x0b\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\t\x12\x16\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\t\x19\x1a\n\x81\x01\n\x04\x04\x00\x02\x01\x12\x03\r\x02\x19\x1at Highest block height to include (inclusive); the latest aggregated block when absent,\n which can lag the chain tip\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\r\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\r\x0b\x11\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\x12\x14\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r\x17\x18\nT\n\x04\x04\x00\x02\x02\x12\x03\x10\x02 \x1aG Count only this namespace\'s transactions; every namespace when absent\n\n\x0c\n\x05\x04\x00\x02\x02\x04\x12\x03\x10\x02\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x10\x0b\x11\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x10\x12\x1b\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x10\x1e\x1f\n\n\n\x02\x04\x01\x12\x04\x13\x00\x15\x01\n\n\n\x03\x04\x01\x01\x12\x03\x13\x08 \n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x14\x02\x13\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x14\t\x0e\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x14\x11\x12\n\n\n\x02\x04\x02\x12\x04\x17\x00!\x01\n\n\n\x03\x04\x02\x01\x12\x03\x17\x08\x1d\nL\n\x04\x04\x02\x02\x00\x12\x03\x19\x02\x1b\x1a? Lowest block height to include; the genesis block when absent\n\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x19\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x19\x0b\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x19\x12\x16\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x19\x19\x1a\n\x81\x01\n\x04\x04\x02\x02\x01\x12\x03\x1d\x02\x19\x1at Highest block height to include (inclusive); the latest aggregated block when absent,\n which can lag the chain tip\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03\x1d\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1d\x0b\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1d\x12\x14\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1d\x17\x18\nV\n\x04\x04\x02\x02\x02\x12\x03 \x02 \x1aI Measure only this namespace\'s payload data; every namespace when absent\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03 \x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03 \x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03 \x12\x1b\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03 \x1e\x1f\n\n\n\x02\x04\x03\x12\x04#\x00&\x01\n\n\n\x03\x04\x03\x01\x12\x03#\x08\x1b\n/\n\x04\x04\x03\x02\x00\x12\x03%\x02\x12\x1a\" Cumulative payload size in bytes\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03%\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03%\t\r\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03%\x10\x11\n\t\n\x02\x04\x04\x12\x03(\x00\x1f\n\n\n\x03\x04\x04\x01\x12\x03(\x08\x1c\na\n\x02\x05\x00\x12\x04+\x003\x01\x1aU Whether this node stores an object, still has to fetch it, or deleted it on purpose\n\n\n\n\x03\x05\x00\x01\x12\x03+\x05\x0f\n;\n\x04\x05\x00\x02\x00\x12\x03-\x02\x1e\x1a. Never returned; proto3 requires a zero value\n\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03-\x02\x19\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03-\x1c\x1d\n\x0b\n\x04\x05\x00\x02\x01\x12\x03.\x02\x1a\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03.\x02\x15\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03.\x18\x19\nO\n\x04\x05\x00\x02\x02\x12\x030\x02\x1a\x1aB Not stored yet; the node fetches it from peers in the background\n\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x030\x02\x15\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x030\x18\x19\nF\n\x04\x05\x00\x02\x03\x12\x032\x02\x19\x1a9 Deleted by the pruner; the node will not fetch it again\n\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x032\x02\x14\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x032\x17\x18\n\n\n\x02\x04\x05\x12\x045\x00=\x01\n\n\n\x03\x04\x05\x01\x12\x035\x08\x17\n4\n\x04\x04\x05\x02\x00\x12\x037\x02\x13\x1a\' First height in the range (inclusive)\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x037\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x037\t\x0e\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x037\x11\x12\nE\n\x04\x04\x05\x02\x01\x12\x03:\x02\x11\x1a8 Height just past the last one in the range (exclusive)\n\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03:\x02\x08\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03:\t\x0c\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03:\x0f\x10\n\x0b\n\x04\x04\x05\x02\x02\x12\x03<\x02\x18\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03<\x02\x0c\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03<\r\x13\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03<\x16\x17\n\n\n\x02\x04\x06\x12\x04?\x00E\x01\n\n\n\x03\x04\x06\x01\x12\x03?\x08\x1a\nB\n\x04\x04\x06\x02\x00\x12\x03A\x02\x15\x1a5 Number of missing objects, not counting pruned ones\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03A\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03A\t\x10\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03A\x13\x14\nN\n\x04\x04\x06\x02\x01\x12\x03D\x02&\x1aA Contiguous height ranges sharing one status, in ascending order\n\n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03D\x02\n\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03D\x0b\x1a\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03D\x1b!\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03D$%\n\n\n\x02\x04\x07\x12\x04G\x00Q\x01\n\n\n\x03\x04\x07\x01\x12\x03G\x08\x1a\n\x0b\n\x04\x04\x07\x02\x00\x12\x03H\x02 \n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03H\x02\x14\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03H\x15\x1b\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03H\x1e\x1f\n\x0b\n\x04\x04\x07\x02\x01\x12\x03J\x02 \n\x0c\n\x05\x04\x07\x02\x01\x06\x12\x03J\x02\x14\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03J\x15\x1b\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03J\x1e\x1f\n\x0b\n\x04\x04\x07\x02\x02\x12\x03L\x02$\n\x0c\n\x05\x04\x07\x02\x02\x06\x12\x03L\x02\x14\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03L\x15\x1f\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03L\"#\n\x8f\x01\n\x04\x04\x07\x02\x03\x12\x03P\x02$\x1a\x81\x01 Height of the last pruned object: everything at or below it is pruned rather than missing.\n Absent when nothing has been pruned\n\n\x0c\n\x05\x04\x07\x02\x03\x04\x12\x03P\x02\n\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x03P\x0b\x11\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03P\x12\x1f\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03P\"#\n\n\n\x02\x04\x08\x12\x04S\x00W\x01\n\n\n\x03\x04\x08\x01\x12\x03S\x08\x1d\n\x84\x01\n\x04\x04\x08\x02\x00\x12\x03V\x02\x1c\x1aw Epoch whose block reward to report; when absent, the protocol-wide reward used before\n rewards became epoch-dependent\n\n\x0c\n\x05\x04\x08\x02\x00\x04\x12\x03V\x02\n\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03V\x0b\x11\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03V\x12\x17\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03V\x1a\x1b\n\n\n\x02\x04\t\x12\x04Y\x00]\x01\n\n\n\x03\x04\t\x01\x12\x03Y\x08\x1b\n\x80\x01\n\x04\x04\t\x02\x00\x12\x03\\\x02\x1d\x1as Reward distributed per block, in wei (decimal string); absent when the node does not know\n a reward for the epoch\n\n\x0c\n\x05\x04\t\x02\x00\x04\x12\x03\\\x02\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03\\\x0b\x11\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03\\\x12\x18\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03\\\x1b\x1c\n\n\n\x02\x04\n\x12\x04_\x00k\x01\n\n\n\x03\x04\n\x01\x12\x03_\x08\x1e\n?\n\x04\x04\n\x02\x00\x12\x03a\x02!\x1a2 Start of the window, a Unix timestamp in seconds\n\n\x0c\n\x05\x04\n\x02\x00\x04\x12\x03a\x02\n\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03a\x0b\x11\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03a\x12\x1c\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03a\x1f \n8\n\x04\x04\n\x02\x01\x12\x03d\x02#\x1a+ Start the window at this block, by height\n\n\x0c\n\x05\x04\n\x02\x01\x04\x12\x03d\x02\n\n\x0c\n\x05\x04\n\x02\x01\x05\x12\x03d\x0b\x11\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03d\x12\x1e\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03d!\"\nW\n\x04\x04\n\x02\x02\x12\x03g\x02!\x1aJ Start the window at this block, named by its hash. TaggedBase64 `BLOCK~`\n\n\x0c\n\x05\x04\n\x02\x02\x04\x12\x03g\x02\n\n\x0c\n\x05\x04\n\x02\x02\x05\x12\x03g\x0b\x11\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03g\x12\x1c\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03g\x1f \nG\n\x04\x04\n\x02\x03\x12\x03j\x02\x1a\x1a: End of the window, a Unix timestamp in seconds. Required\n\n\x0c\n\x05\x04\n\x02\x03\x04\x12\x03j\x02\n\n\x0c\n\x05\x04\n\x02\x03\x05\x12\x03j\x0b\x11\n\x0c\n\x05\x04\n\x02\x03\x01\x12\x03j\x12\x15\n\x0c\n\x05\x04\n\x02\x03\x03\x12\x03j\x18\x19\n\n\n\x02\x04\x0b\x12\x04m\x00x\x01\n\n\n\x03\x04\x0b\x01\x12\x03m\x08\x1c\n:\n\x04\x04\x0b\x02\x00\x12\x03o\x02%\x1a- Headers whose timestamps fall in the window\n\n\x0c\n\x05\x04\x0b\x02\x00\x04\x12\x03o\x02\n\n\x0c\n\x05\x04\x0b\x02\x00\x06\x12\x03o\x0b\x19\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03o\x1a \n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03o#$\nM\n\x04\x04\x0b\x02\x01\x12\x03r\x02#\x1a@ The header before the window, absent at the start of the chain\n\n\x0c\n\x05\x04\x0b\x02\x01\x04\x12\x03r\x02\n\n\x0c\n\x05\x04\x0b\x02\x01\x06\x12\x03r\x0b\x19\n\x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03r\x1a\x1e\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03r!\"\n\x87\x02\n\x04\x04\x0b\x02\x02\x12\x03w\x02#\x1a\xf9\x01 The header after the window. Absent both when the window reaches the chain tip and when it\n was truncated at the limit `/v2/node/limits` reports, so a `window` of exactly that many\n entries means there is more to fetch rather than nothing after it\n\n\x0c\n\x05\x04\x0b\x02\x02\x04\x12\x03w\x02\n\n\x0c\n\x05\x04\x0b\x02\x02\x06\x12\x03w\x0b\x19\n\x0c\n\x05\x04\x0b\x02\x02\x01\x12\x03w\x1a\x1e\n\x0c\n\x05\x04\x0b\x02\x02\x03\x12\x03w!\"\n\x0b\n\x02\x04\x0c\x12\x05z\x00\x83\x01\x01\n\n\n\x03\x04\x0c\x01\x12\x03z\x08\x1a\nN\n\x04\x04\x0c\x02\x00\x12\x03|\x02\x12\x1aA The leaf element, ark-serialized into one TaggedBase64 `FIELD~`\n\n\x0c\n\x05\x04\x0c\x02\x00\x05\x12\x03|\x02\x08\n\x0c\n\x05\x04\x0c\x02\x00\x01\x12\x03|\t\r\n\x0c\n\x05\x04\x0c\x02\x00\x03\x12\x03|\x10\x11\nN\n\x04\x04\x0c\x02\x01\x12\x03\x7f\x02\x11\x1aA The leaf\'s index, ark-serialized into one TaggedBase64 `FIELD~`\n\n\x0c\n\x05\x04\x0c\x02\x01\x05\x12\x03\x7f\x02\x08\n\x0c\n\x05\x04\x0c\x02\x01\x01\x12\x03\x7f\t\x0c\n\x0c\n\x05\x04\x0c\x02\x01\x03\x12\x03\x7f\x0f\x10\nN\n\x04\x04\x0c\x02\x02\x12\x04\x82\x01\x02\x13\x1a@ The leaf\'s hash, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\x82\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\x82\x01\t\x0e\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\x82\x01\x11\x12\n\x0c\n\x02\x04\r\x12\x06\x85\x01\x00\x8a\x01\x01\n\x0b\n\x03\x04\r\x01\x12\x04\x85\x01\x08\x1c\n\x0c\n\x04\x04\r\x02\x00\x12\x04\x86\x01\x02\'\n\r\n\x05\x04\r\x02\x00\x04\x12\x04\x86\x01\x02\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\x86\x01\x0b\x19\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\x86\x01\x1a\"\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\x86\x01%&\nP\n\x04\x04\r\x02\x01\x12\x04\x89\x01\x02\x13\x1aB The branch\'s hash, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\x89\x01\x02\x08\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\x89\x01\t\x0e\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\x89\x01\x11\x12\n\x0c\n\x02\x04\x0e\x12\x06\x8c\x01\x00\x8f\x01\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\x8c\x01\x08&\nQ\n\x04\x04\x0e\x02\x00\x12\x04\x8e\x01\x02\x13\x1aC The subtree\'s hash, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\x8e\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x8e\x01\t\x0e\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x8e\x01\x11\x12\nH\n\x02\x04\x0f\x12\x04\x92\x01\x00\x1e\x1a< A missing subtree. The arm is present and its object empty\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\x92\x01\x08\x1b\n\xaa\x01\n\x02\x04\x10\x12\x06\x96\x01\x00\xa0\x01\x01\x1a\x9b\x01 One node of a jellyfish Merkle proof. v1 spells the third arm `ForgettenSubtree`, which is\n upstream\'s misspelling; only the wire name here is corrected.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\x96\x01\x08\x16\n\x0e\n\x04\x04\x10\x08\x00\x12\x06\x97\x01\x02\x9f\x01\x03\n\r\n\x05\x04\x10\x08\x00\x01\x12\x04\x97\x01\x08\x0c\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\x98\x01\x04 \n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\x98\x01\x04\x16\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\x98\x01\x17\x1b\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\x98\x01\x1e\x1f\n\x0c\n\x04\x04\x10\x02\x01\x12\x04\x9a\x01\x04$\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\x9a\x01\x04\x18\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\x9a\x01\x19\x1f\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\x9a\x01\"#\n\x0c\n\x04\x04\x10\x02\x02\x12\x04\x9c\x01\x049\n\r\n\x05\x04\x10\x02\x02\x06\x12\x04\x9c\x01\x04\"\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\x9c\x01#4\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\x9c\x0178\n\x0c\n\x04\x04\x10\x02\x03\x12\x04\x9e\x01\x04\"\n\r\n\x05\x04\x10\x02\x03\x06\x12\x04\x9e\x01\x04\x17\n\r\n\x05\x04\x10\x02\x03\x01\x12\x04\x9e\x01\x18\x1d\n\r\n\x05\x04\x10\x02\x03\x03\x12\x04\x9e\x01 !\n\x0c\n\x02\x04\x11\x12\x06\xa2\x01\x00\xa7\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xa2\x01\x08\x17\nZ\n\x04\x04\x11\x02\x00\x12\x04\xa4\x01\x02\x11\x1aL The index this proof is for, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xa4\x01\x02\x08\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xa4\x01\t\x0c\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xa4\x01\x0f\x10\n\x0c\n\x04\x04\x11\x02\x01\x12\x04\xa6\x01\x02$\n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\xa6\x01\x02\n\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\xa6\x01\x0b\x19\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xa6\x01\x1a\x1f\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xa6\x01\"#\nH\n\x02\x04\x12\x12\x06\xaa\x01\x00\xb6\x01\x01\x1a: Legacy ADVZ share, which only a 0.1 or 0.2 block carries\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xaa\x01\x08\x14\n2\n\x04\x04\x12\x02\x00\x12\x04\xac\x01\x02\x13\x1a$ Which storage node\'s share this is\n\n\r\n\x05\x04\x12\x02\x00\x05\x12\x04\xac\x01\x02\x08\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xac\x01\t\x0e\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xac\x01\x11\x12\n9\n\x04\x04\x12\x02\x01\x12\x04\xaf\x01\x02\x1e\x1a+ ark-serialized, one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\xaf\x01\x02\x08\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xaf\x01\t\x19\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xaf\x01\x1c\x1d\n\x8d\x01\n\x04\x04\x12\x02\x02\x12\x04\xb3\x01\x02\x13\x1a\x7f ark-serialized, one TaggedBase64 `FIELD~`. jf-advz documents this as carrying nothing\n meaningful; it is served for v1 parity\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xb3\x01\x02\x08\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\xb3\x01\t\x0e\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\xb3\x01\x11\x12\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xb5\x01\x02\"\n\r\n\x05\x04\x12\x02\x03\x06\x12\x04\xb5\x01\x02\x11\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\xb5\x01\x12\x1d\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\xb5\x01 !\n\x86\x01\n\x02\x04\x13\x12\x06\xba\x01\x00\xbe\x01\x01\x1ax Half-open range of shard indices this share holds in the encoded payload. Its length is the\n storage node\'s VID weight\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xba\x01\x08\x12\n\x0c\n\x04\x04\x13\x02\x00\x12\x04\xbb\x01\x02\x13\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xbb\x01\x02\x08\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xbb\x01\t\x0e\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xbb\x01\x11\x12\n\x0c\n\x04\x04\x13\x02\x01\x12\x04\xbd\x01\x02\x11\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\xbd\x01\x02\x08\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xbd\x01\t\x0c\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xbd\x01\x0f\x10\n\x0c\n\x02\x04\x14\x12\x06\xc0\x01\x00\xc8\x01\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xc0\x01\x08\x19\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xc1\x01\x02\x17\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xc1\x01\x02\x0c\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xc1\x01\r\x12\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xc1\x01\x15\x16\nY\n\x04\x04\x14\x02\x01\x12\x04\xc4\x01\x02\x15\x1aK The share\'s field elements, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xc4\x01\x02\x08\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xc4\x01\t\x10\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xc4\x01\x13\x14\nX\n\x04\x04\x14\x02\x02\x12\x04\xc7\x01\x02\x17\x1aJ The share\'s Merkle proofs, ark-serialized into one TaggedBase64 `FIELD~`\n\n\r\n\x05\x04\x14\x02\x02\x05\x12\x04\xc7\x01\x02\x08\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xc7\x01\t\x12\n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\xc7\x01\x15\x16\n\x90\x02\n\x02\x04\x15\x12\x06\xcd\x01\x00\xd9\x01\x01\x1a\x81\x02 Both AvidM schemes disperse per namespace, so a share carries one entry per namespace of the\n block rather than one for the whole payload. The per-namespace lists line up only for a share\n that passed VID verification, which this endpoint does not repeat.\n\n\x0b\n\x03\x04\x15\x01\x12\x04\xcd\x01\x08\x15\n2\n\x04\x04\x15\x02\x00\x12\x04\xcf\x01\x02\x13\x1a$ Which storage node\'s share this is\n\n\r\n\x05\x04\x15\x02\x00\x05\x12\x04\xcf\x01\x02\x08\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xcf\x01\t\x0e\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xcf\x01\x11\x12\n>\n\x04\x04\x15\x02\x01\x12\x04\xd2\x01\x02!\x1a0 TaggedBase64 `AvidMCommit~`, one per namespace\n\n\r\n\x05\x04\x15\x02\x01\x04\x12\x04\xd2\x01\x02\n\n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\xd2\x01\x0b\x11\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xd2\x01\x12\x1c\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\xd2\x01\x1f \nH\n\x04\x04\x15\x02\x02\x12\x04\xd5\x01\x02\x1e\x1a: Payload bytes in each namespace, aligned with ns_commits\n\n\r\n\x05\x04\x15\x02\x02\x04\x12\x04\xd5\x01\x02\n\n\r\n\x05\x04\x15\x02\x02\x05\x12\x04\xd5\x01\x0b\x11\n\r\n\x05\x04\x15\x02\x02\x01\x12\x04\xd5\x01\x12\x19\n\r\n\x05\x04\x15\x02\x02\x03\x12\x04\xd5\x01\x1c\x1d\n@\n\x04\x04\x15\x02\x03\x12\x04\xd8\x01\x02)\x1a2 One entry per namespace, aligned with ns_commits\n\n\r\n\x05\x04\x15\x02\x03\x04\x12\x04\xd8\x01\x02\n\n\r\n\x05\x04\x15\x02\x03\x06\x12\x04\xd8\x01\x0b\x1c\n\r\n\x05\x04\x15\x02\x03\x01\x12\x04\xd8\x01\x1d$\n\r\n\x05\x04\x15\x02\x03\x03\x12\x04\xd8\x01\'(\n\x0c\n\x02\x04\x16\x12\x06\xdb\x01\x00\xe4\x01\x01\n\x0b\n\x03\x04\x16\x01\x12\x04\xdb\x01\x08\x19\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\xdc\x01\x02\x17\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xdc\x01\x02\x0c\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xdc\x01\r\x12\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xdc\x01\x15\x16\n\x82\x01\n\x04\x04\x16\x02\x01\x12\x04\xe0\x01\x02\x1d\x1at One entry per shard in the range, each the shard\'s raw bytes. Base64 in JSON, where v1\n served an array of numbers\n\n\r\n\x05\x04\x16\x02\x01\x04\x12\x04\xe0\x01\x02\n\n\r\n\x05\x04\x16\x02\x01\x05\x12\x04\xe0\x01\x0b\x10\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\xe0\x01\x11\x18\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xe0\x01\x1b\x1c\n:\n\x04\x04\x16\x02\x02\x12\x04\xe3\x01\x02 \x1a, One `MERKLE_PROOF~` TaggedBase64 per shard\n\n\r\n\x05\x04\x16\x02\x02\x04\x12\x04\xe3\x01\x02\n\n\r\n\x05\x04\x16\x02\x02\x05\x12\x04\xe3\x01\x0b\x11\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xe3\x01\x12\x1b\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\xe3\x01\x1e\x1f\n\x0c\n\x02\x04\x17\x12\x06\xe6\x01\x00\xe9\x01\x01\n\x0b\n\x03\x04\x17\x01\x12\x04\xe6\x01\x08\x18\n4\n\x04\x04\x17\x02\x00\x12\x04\xe8\x01\x02,\x1a& One entry per namespace of the block\n\n\r\n\x05\x04\x17\x02\x00\x04\x12\x04\xe8\x01\x02\n\n\r\n\x05\x04\x17\x02\x00\x06\x12\x04\xe8\x01\x0b\x1c\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\xe8\x01\x1d\'\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\xe8\x01*+\n\x0c\n\x02\x04\x18\x12\x06\xeb\x01\x00\xf5\x01\x01\n\x0b\n\x03\x04\x18\x01\x12\x04\xeb\x01\x08\x1a\n\x1c\n\x04\x04\x18\x02\x00\x12\x04\xed\x01\x02\x1d\x1a\x0e Block height\n\n\r\n\x05\x04\x18\x02\x00\x04\x12\x04\xed\x01\x02\n\n\r\n\x05\x04\x18\x02\x00\x05\x12\x04\xed\x01\x0b\x11\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\xed\x01\x12\x18\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\xed\x01\x1b\x1c\n1\n\x04\x04\x18\x02\x01\x12\x04\xf0\x01\x02\x1b\x1a# Block hash, TaggedBase64 `BLOCK~`\n\n\r\n\x05\x04\x18\x02\x01\x04\x12\x04\xf0\x01\x02\n\n\r\n\x05\x04\x18\x02\x01\x05\x12\x04\xf0\x01\x0b\x11\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\xf0\x01\x12\x16\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\xf0\x01\x19\x1a\n\xb9\x01\n\x04\x04\x18\x02\x02\x12\x04\xf4\x01\x02#\x1a\xaa\x01 Payload hash, which several blocks can share; the lowest wins. TaggedBase64, with the tag\n set by the block\'s VID scheme, so pass a header\'s payload_commitment verbatim\n\n\r\n\x05\x04\x18\x02\x02\x04\x12\x04\xf4\x01\x02\n\n\r\n\x05\x04\x18\x02\x02\x05\x12\x04\xf4\x01\x0b\x11\n\r\n\x05\x04\x18\x02\x02\x01\x12\x04\xf4\x01\x12\x1e\n\r\n\x05\x04\x18\x02\x02\x03\x12\x04\xf4\x01!\"\nL\n\x02\x04\x19\x12\x06\xf8\x01\x00\x80\x02\x01\x1a> The arm names the VID scheme the block was disseminated with\n\n\x0b\n\x03\x04\x19\x01\x12\x04\xf8\x01\x08\x18\n\x0e\n\x04\x04\x19\x08\x00\x12\x06\xf9\x01\x02\xff\x01\x03\n\r\n\x05\x04\x19\x08\x00\x01\x12\x04\xf9\x01\x08\r\n\x0c\n\x04\x04\x19\x02\x00\x12\x04\xfa\x01\x04\x18\n\r\n\x05\x04\x19\x02\x00\x06\x12\x04\xfa\x01\x04\x10\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\xfa\x01\x11\x13\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\xfa\x01\x16\x17\n\x0c\n\x04\x04\x19\x02\x01\x12\x04\xfc\x01\x04\x19\n\r\n\x05\x04\x19\x02\x01\x06\x12\x04\xfc\x01\x04\x11\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\xfc\x01\x12\x14\n\r\n\x05\x04\x19\x02\x01\x03\x12\x04\xfc\x01\x17\x18\n\x0c\n\x04\x04\x19\x02\x02\x12\x04\xfe\x01\x04\x1c\n\r\n\x05\x04\x19\x02\x02\x06\x12\x04\xfe\x01\x04\x14\n\r\n\x05\x04\x19\x02\x02\x01\x12\x04\xfe\x01\x15\x17\n\r\n\x05\x04\x19\x02\x02\x03\x12\x04\xfe\x01\x1a\x1b\n\n\n\x02\x04\x1a\x12\x04\x82\x02\x00$\n\x0b\n\x03\x04\x1a\x01\x12\x04\x82\x02\x08!\n\x0c\n\x02\x04\x1b\x12\x06\x84\x02\x00\x87\x02\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\x84\x02\x08\x1f\nD\n\x04\x04\x1b\x02\x00\x12\x04\x86\x02\x02\x14\x1a6 The current height of the chain as this node sees it\n\n\r\n\x05\x04\x1b\x02\x00\x05\x12\x04\x86\x02\x02\x08\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\x86\x02\t\x0f\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\x86\x02\x12\x13\n\n\n\x02\x04\x1c\x12\x04\x89\x02\x00\x1f\n\x0b\n\x03\x04\x1c\x01\x12\x04\x89\x02\x08\x1c\n\x0c\n\x02\x04\x1d\x12\x06\x8b\x02\x00\x8e\x02\x01\n\x0b\n\x03\x04\x1d\x01\x12\x04\x8b\x02\x08\x1a\n?\n\x04\x04\x1d\x02\x00\x12\x04\x8d\x02\x02\x1a\x1a1 Most headers a header window request may return\n\n\r\n\x05\x04\x1d\x02\x00\x05\x12\x04\x8d\x02\x02\x08\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\x8d\x02\t\x15\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\x8d\x02\x18\x19\n\x0c\n\x02\x04\x1e\x12\x06\x90\x02\x00\x93\x02\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\x90\x02\x08\x1c\n-\n\x04\x04\x1e\x02\x00\x12\x04\x92\x02\x02\x1c\x1a\x1f The current epoch when absent\n\n\r\n\x05\x04\x1e\x02\x00\x04\x12\x04\x92\x02\x02\n\n\r\n\x05\x04\x1e\x02\x00\x05\x12\x04\x92\x02\x0b\x11\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\x92\x02\x12\x17\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\x92\x02\x1a\x1b\n\x0c\n\x02\x04\x1f\x12\x06\x95\x02\x00\x9b\x02\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\x95\x02\x08\x1a\n\xa4\x01\n\x04\x04\x1f\x02\x00\x12\x04\x98\x02\x02\x1c\x1a\x95\x01 The epoch this table is for: the one requested, or the current one. Absent on a network\n without epochs. v1 reports it only on its `current` route.\n\n\r\n\x05\x04\x1f\x02\x00\x04\x12\x04\x98\x02\x02\n\n\r\n\x05\x04\x1f\x02\x00\x05\x12\x04\x98\x02\x0b\x11\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\x98\x02\x12\x17\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\x98\x02\x1a\x1b\n\x0c\n\x04\x04\x1f\x02\x01\x12\x04\x9a\x02\x02&\n\r\n\x05\x04\x1f\x02\x01\x04\x12\x04\x9a\x02\x02\n\n\r\n\x05\x04\x1f\x02\x01\x06\x12\x04\x9a\x02\x0b\x15\n\r\n\x05\x04\x1f\x02\x01\x01\x12\x04\x9a\x02\x16!\n\r\n\x05\x04\x1f\x02\x01\x03\x12\x04\x9a\x02$%\n\x0c\n\x02\x04 \x12\x06\x9d\x02\x00\xa3\x02\x01\n\x0b\n\x03\x04 \x01\x12\x04\x9d\x02\x08\x11\n\x1f\n\x04\x04 \x02\x00\x12\x04\x9f\x02\x02\x15\x1a\x11 0x-prefixed hex\n\n\r\n\x05\x04 \x02\x00\x05\x12\x04\x9f\x02\x02\x08\n\r\n\x05\x04 \x02\x00\x01\x12\x04\x9f\x02\t\x10\n\r\n\x05\x04 \x02\x00\x03\x12\x04\x9f\x02\x13\x14\n(\n\x04\x04 \x02\x01\x12\x04\xa2\x02\x02\x14\x1a\x1a 0x-prefixed hex quantity\n\n\r\n\x05\x04 \x02\x01\x05\x12\x04\xa2\x02\x02\x08\n\r\n\x05\x04 \x02\x01\x01\x12\x04\xa2\x02\t\x0f\n\r\n\x05\x04 \x02\x01\x03\x12\x04\xa2\x02\x12\x13\n\x0c\n\x02\x04!\x12\x06\xa5\x02\x00\xc2\x02\x01\n\x0b\n\x03\x04!\x01\x12\x04\xa5\x02\x08\x11\n\x1f\n\x04\x04!\x02\x00\x12\x04\xa7\x02\x02\x15\x1a\x11 0x-prefixed hex\n\n\r\n\x05\x04!\x02\x00\x05\x12\x04\xa7\x02\x02\x08\n\r\n\x05\x04!\x02\x00\x01\x12\x04\xa7\x02\t\x10\n\r\n\x05\x04!\x02\x00\x03\x12\x04\xa7\x02\x13\x14\n=\n\x04\x04!\x02\x01\x12\x04\xaa\x02\x02,\x1a/ Absent for a validator registered without one\n\n\r\n\x05\x04!\x02\x01\x04\x12\x04\xaa\x02\x02\n\n\r\n\x05\x04!\x02\x01\x06\x12\x04\xaa\x02\x0b\x17\n\r\n\x05\x04!\x02\x01\x01\x12\x04\xaa\x02\x18\'\n\r\n\x05\x04!\x02\x01\x03\x12\x04\xaa\x02*+\n=\n\x04\x04!\x02\x02\x12\x04\xad\x02\x02.\x1a/ Absent for a validator registered without one\n\n\r\n\x05\x04!\x02\x02\x04\x12\x04\xad\x02\x02\n\n\r\n\x05\x04!\x02\x02\x06\x12\x04\xad\x02\x0b\x1b\n\r\n\x05\x04!\x02\x02\x01\x12\x04\xad\x02\x1c)\n\r\n\x05\x04!\x02\x02\x03\x12\x04\xad\x02,-\nA\n\x04\x04!\x02\x03\x12\x04\xb0\x02\x02\x13\x1a3 Total delegated stake, a 0x-prefixed hex quantity\n\n\r\n\x05\x04!\x02\x03\x05\x12\x04\xb0\x02\x02\x08\n\r\n\x05\x04!\x02\x03\x01\x12\x04\xb0\x02\t\x0e\n\r\n\x05\x04!\x02\x03\x03\x12\x04\xb0\x02\x11\x12\nE\n\x04\x04!\x02\x04\x12\x04\xb3\x02\x02\x18\x1a7 Hundredths of a percent, so 10000 is the whole reward\n\n\r\n\x05\x04!\x02\x04\x05\x12\x04\xb3\x02\x02\x08\n\r\n\x05\x04!\x02\x04\x01\x12\x04\xb3\x02\t\x13\n\r\n\x05\x04!\x02\x04\x03\x12\x04\xb3\x02\x16\x17\nG\n\x04\x04!\x02\x05\x12\x04\xb6\x02\x02$\x1a9 Sorted by account; v1 reports a map, which has no order\n\n\r\n\x05\x04!\x02\x05\x04\x12\x04\xb6\x02\x02\n\n\r\n\x05\x04!\x02\x05\x06\x12\x04\xb6\x02\x0b\x14\n\r\n\x05\x04!\x02\x05\x01\x12\x04\xb6\x02\x15\x1f\n\r\n\x05\x04!\x02\x05\x03\x12\x04\xb6\x02\"#\nH\n\x04\x04!\x02\x06\x12\x04\xb9\x02\x02\x19\x1a: Whether the contract verified the registration signature\n\n\r\n\x05\x04!\x02\x06\x05\x12\x04\xb9\x02\x02\x06\n\r\n\x05\x04!\x02\x06\x01\x12\x04\xb9\x02\x07\x14\n\r\n\x05\x04!\x02\x06\x03\x12\x04\xb9\x02\x17\x18\n\x9a\x01\n\x04\x04!\x02\x07\x12\x04\xbd\x02\x02!\x1a\x8b\x01 X25519 public key for cliquenet, TaggedBase64 rather than x25519\'s own base58. Absent for a\n validator that registered no network address\n\n\r\n\x05\x04!\x02\x07\x04\x12\x04\xbd\x02\x02\n\n\r\n\x05\x04!\x02\x07\x05\x12\x04\xbd\x02\x0b\x11\n\r\n\x05\x04!\x02\x07\x01\x12\x04\xbd\x02\x12\x1c\n\r\n\x05\x04!\x02\x07\x03\x12\x04\xbd\x02\x1f \n~\n\x04\x04!\x02\x08\x12\x04\xc1\x02\x02\x1f\x1ap \"host:port\", with an IPv6 literal left unbracketed. Absent for a validator that registered\n no network address\n\n\r\n\x05\x04!\x02\x08\x04\x12\x04\xc1\x02\x02\n\n\r\n\x05\x04!\x02\x08\x05\x12\x04\xc1\x02\x0b\x11\n\r\n\x05\x04!\x02\x08\x01\x12\x04\xc1\x02\x12\x1a\n\r\n\x05\x04!\x02\x08\x03\x12\x04\xc1\x02\x1d\x1e\n\x0c\n\x02\x04\"\x12\x06\xc4\x02\x00\xc7\x02\x01\n\x0b\n\x03\x04\"\x01\x12\x04\xc4\x02\x08\x1c\nC\n\x04\x04\"\x02\x00\x12\x04\xc6\x02\x02\x1c\x1a5 Epoch whose eligible validators to report. Required\n\n\r\n\x05\x04\"\x02\x00\x04\x12\x04\xc6\x02\x02\n\n\r\n\x05\x04\"\x02\x00\x05\x12\x04\xc6\x02\x0b\x11\n\r\n\x05\x04\"\x02\x00\x01\x12\x04\xc6\x02\x12\x17\n\r\n\x05\x04\"\x02\x00\x03\x12\x04\xc6\x02\x1a\x1b\n\x0c\n\x02\x04#\x12\x06\xc9\x02\x00\xcc\x02\x01\n\x0b\n\x03\x04#\x01\x12\x04\xc9\x02\x08\x1a\nX\n\x04\x04#\x02\x00\x12\x04\xcb\x02\x02$\x1aJ Sorted by account, since v1 keys these by account and a map has no order\n\n\r\n\x05\x04#\x02\x00\x04\x12\x04\xcb\x02\x02\n\n\r\n\x05\x04#\x02\x00\x06\x12\x04\xcb\x02\x0b\x14\n\r\n\x05\x04#\x02\x00\x01\x12\x04\xcb\x02\x15\x1f\n\r\n\x05\x04#\x02\x00\x03\x12\x04\xcb\x02\"#\n\x0c\n\x02\x04$\x12\x06\xce\x02\x00\xd7\x02\x01\n\x0b\n\x03\x04$\x01\x12\x04\xce\x02\x08\x1f\nK\n\x04\x04$\x02\x00\x12\x04\xd0\x02\x02\x1c\x1a= Epoch whose registered validators to page through. Required\n\n\r\n\x05\x04$\x02\x00\x04\x12\x04\xd0\x02\x02\n\n\r\n\x05\x04$\x02\x00\x05\x12\x04\xd0\x02\x0b\x11\n\r\n\x05\x04$\x02\x00\x01\x12\x04\xd0\x02\x12\x17\n\r\n\x05\x04$\x02\x00\x03\x12\x04\xd0\x02\x1a\x1b\n[\n\x04\x04$\x02\x01\x12\x04\xd3\x02\x02\x1d\x1aM Registered validators are ordered by account, so a page is stable. Required\n\n\r\n\x05\x04$\x02\x01\x04\x12\x04\xd3\x02\x02\n\n\r\n\x05\x04$\x02\x01\x05\x12\x04\xd3\x02\x0b\x11\n\r\n\x05\x04$\x02\x01\x01\x12\x04\xd3\x02\x12\x18\n\r\n\x05\x04$\x02\x01\x03\x12\x04\xd3\x02\x1b\x1c\n<\n\x04\x04$\x02\x02\x12\x04\xd6\x02\x02\x1c\x1a. Validators to return, at most 1000. Required\n\n\r\n\x05\x04$\x02\x02\x04\x12\x04\xd6\x02\x02\n\n\r\n\x05\x04$\x02\x02\x05\x12\x04\xd6\x02\x0b\x11\n\r\n\x05\x04$\x02\x02\x01\x12\x04\xd6\x02\x12\x17\n\r\n\x05\x04$\x02\x02\x03\x12\x04\xd6\x02\x1a\x1b\n\x0c\n\x02\x04%\x12\x06\xd9\x02\x00\xde\x02\x01\n\x0b\n\x03\x04%\x01\x12\x04\xd9\x02\x08\x1a\n\x0c\n\x04\x04%\x02\x00\x12\x04\xda\x02\x02\x17\n\r\n\x05\x04%\x02\x00\x06\x12\x04\xda\x02\x02\x0e\n\r\n\x05\x04%\x02\x00\x01\x12\x04\xda\x02\x0f\x12\n\r\n\x05\x04%\x02\x00\x03\x12\x04\xda\x02\x15\x16\nE\n\x04\x04%\x02\x01\x12\x04\xdd\x02\x02\x1b\x1a7 From 0 to 1; see the rpc for what it is a fraction of\n\n\r\n\x05\x04%\x02\x01\x05\x12\x04\xdd\x02\x02\x08\n\r\n\x05\x04%\x02\x01\x01\x12\x04\xdd\x02\t\x16\n\r\n\x05\x04%\x02\x01\x03\x12\x04\xdd\x02\x19\x1a\n\x0c\n\x02\x04&\x12\x06\xe0\x02\x00\xe3\x02\x01\n\x0b\n\x03\x04&\x01\x12\x04\xe0\x02\x08\'\n-\n\x04\x04&\x02\x00\x12\x04\xe2\x02\x02\x1c\x1a\x1f The current epoch when absent\n\n\r\n\x05\x04&\x02\x00\x04\x12\x04\xe2\x02\x02\n\n\r\n\x05\x04&\x02\x00\x05\x12\x04\xe2\x02\x0b\x11\n\r\n\x05\x04&\x02\x00\x01\x12\x04\xe2\x02\x12\x17\n\r\n\x05\x04&\x02\x00\x03\x12\x04\xe2\x02\x1a\x1b\n\x0c\n\x02\x04\'\x12\x06\xe5\x02\x00\xe8\x02\x01\n\x0b\n\x03\x04\'\x01\x12\x04\xe5\x02\x08#\n-\n\x04\x04\'\x02\x00\x12\x04\xe7\x02\x02\x1c\x1a\x1f The current epoch when absent\n\n\r\n\x05\x04\'\x02\x00\x04\x12\x04\xe7\x02\x02\n\n\r\n\x05\x04\'\x02\x00\x05\x12\x04\xe7\x02\x0b\x11\n\r\n\x05\x04\'\x02\x00\x01\x12\x04\xe7\x02\x12\x17\n\r\n\x05\x04\'\x02\x00\x03\x12\x04\xe7\x02\x1a\x1b\n\x0c\n\x02\x04(\x12\x06\xea\x02\x00\xed\x02\x01\n\x0b\n\x03\x04(\x01\x12\x04\xea\x02\x08\x1d\nC\n\x04\x04(\x02\x00\x12\x04\xec\x02\x020\x1a5 Sorted by key; v1 reports a map, which has no order\n\n\r\n\x05\x04(\x02\x00\x04\x12\x04\xec\x02\x02\n\n\r\n\x05\x04(\x02\x00\x06\x12\x04\xec\x02\x0b\x1d\n\r\n\x05\x04(\x02\x00\x01\x12\x04\xec\x02\x1e+\n\r\n\x05\x04(\x02\x00\x03\x12\x04\xec\x02./\n\x0c\n\x02\x06\x00\x12\x06\xef\x02\x00\xb4\x03\x01\n\x0b\n\x03\x06\x00\x01\x12\x04\xef\x02\x08\x13\nV\n\x04\x06\x00\x02\x00\x12\x06\xf1\x02\x02\xf3\x02\x03\x1aF Count the transactions in a block range, optionally in one namespace\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xf1\x02\x06\x19\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xf1\x02\x1a4\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xf1\x02?W\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\xf2\x02\x04C\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\xf2\x02\x04C\n_\n\x04\x06\x00\x02\x01\x12\x06\xf6\x02\x02\xf8\x02\x03\x1aO Get the cumulative payload size of a block range, optionally of one namespace\n\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xf6\x02\x06\x14\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xf6\x02\x15*\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xf6\x025H\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04\xf7\x02\x04>\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04\xf7\x02\x04>\nm\n\x04\x06\x00\x02\x02\x12\x06\xfb\x02\x02\xfd\x02\x03\x1a] Get which blocks, leaves and VID common data this node stores, still fetches, or has pruned\n\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xfb\x02\x06\x13\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xfb\x02\x14(\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xfb\x023E\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04\xfc\x02\x04=\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04\xfc\x02\x04=\n3\n\x04\x06\x00\x02\x03\x12\x06\x80\x03\x02\x82\x03\x03\x1a# Get the block reward for an epoch\n\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\x80\x03\x06\x14\n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\x80\x03\x15*\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\x80\x035H\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04\x81\x03\x04>\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04\x81\x03\x04>\n\xe2\x01\n\x04\x06\x00\x02\x04\x12\x06\x87\x03\x02\x89\x03\x03\x1a\xd1\x01 Get the height of the chain as this node sees it. `/v2/status/block-height` answers the same\n question; both exist because v1 has both, and a client watching one module should not have to\n call into another.\n\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\x87\x03\x06\x18\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\x87\x03\x192\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\x87\x03=T\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04\x88\x03\x04>\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04\x88\x03\x04>\n\xb5\x01\n\x04\x06\x00\x02\x05\x12\x06\x8d\x03\x02\x8f\x03\x03\x1a\xa4\x01 Get the headers whose timestamps fall in a window, plus the headers either side of it. The\n window starts at exactly one of start_time, start_height or start_hash\n\n\r\n\x05\x06\x00\x02\x05\x01\x12\x04\x8d\x03\x06\x15\n\r\n\x05\x06\x00\x02\x05\x02\x12\x04\x8d\x03\x16,\n\r\n\x05\x06\x00\x02\x05\x03\x12\x04\x8d\x037K\n\r\n\x05\x06\x00\x02\x05\x04\x12\x04\x8e\x03\x04?\n\x11\n\t\x06\x00\x02\x05\x04\xb0\xca\xbc\"\x12\x04\x8e\x03\x04?\nq\n\x04\x06\x00\x02\x06\x12\x06\x93\x03\x02\x95\x03\x03\x1aa Get this node\'s VID share for a block, selected by exactly one of height, hash or\n payload_hash\n\n\r\n\x05\x06\x00\x02\x06\x01\x12\x04\x93\x03\x06\x11\n\r\n\x05\x06\x00\x02\x06\x02\x12\x04\x93\x03\x12$\n\r\n\x05\x06\x00\x02\x06\x03\x12\x04\x93\x03/?\n\r\n\x05\x06\x00\x02\x06\x04\x12\x04\x94\x03\x04;\n\x11\n\t\x06\x00\x02\x06\x04\xb0\xca\xbc\"\x12\x04\x94\x03\x04;\n0\n\x04\x06\x00\x02\x07\x12\x06\x98\x03\x02\x9a\x03\x03\x1a Get this node\'s request limits\n\n\r\n\x05\x06\x00\x02\x07\x01\x12\x04\x98\x03\x06\x13\n\r\n\x05\x06\x00\x02\x07\x02\x12\x04\x98\x03\x14(\n\r\n\x05\x06\x00\x02\x07\x03\x12\x04\x98\x033E\n\r\n\x05\x06\x00\x02\x07\x04\x12\x04\x99\x03\x048\n\x11\n\t\x06\x00\x02\x07\x04\xb0\xca\xbc\"\x12\x04\x99\x03\x048\n<\n\x04\x06\x00\x02\x08\x12\x06\x9d\x03\x02\x9f\x03\x03\x1a, Get the consensus stake table for an epoch\n\n\r\n\x05\x06\x00\x02\x08\x01\x12\x04\x9d\x03\x06\x13\n\r\n\x05\x06\x00\x02\x08\x02\x12\x04\x9d\x03\x14(\n\r\n\x05\x06\x00\x02\x08\x03\x12\x04\x9d\x033E\n\r\n\x05\x06\x00\x02\x08\x04\x12\x04\x9e\x03\x04=\n\x11\n\t\x06\x00\x02\x08\x04\xb0\xca\xbc\"\x12\x04\x9e\x03\x04=\nG\n\x04\x06\x00\x02\t\x12\x06\xa2\x03\x02\xa4\x03\x03\x1a7 Get the validators eligible for consensus in an epoch\n\n\r\n\x05\x06\x00\x02\t\x01\x12\x04\xa2\x03\x06\x13\n\r\n\x05\x06\x00\x02\t\x02\x12\x04\xa2\x03\x14(\n\r\n\x05\x06\x00\x02\t\x03\x12\x04\xa2\x033E\n\r\n\x05\x06\x00\x02\t\x04\x12\x04\xa3\x03\x04<\n\x11\n\t\x06\x00\x02\t\x04\xb0\xca\xbc\"\x12\x04\xa3\x03\x04<\nW\n\x04\x06\x00\x02\n\x12\x06\xa7\x03\x02\xa9\x03\x03\x1aG Get a page of every registered validator in an epoch, eligible or not\n\n\r\n\x05\x06\x00\x02\n\x01\x12\x04\xa7\x03\x06\x16\n\r\n\x05\x06\x00\x02\n\x02\x12\x04\xa7\x03\x17.\n\r\n\x05\x06\x00\x02\n\x03\x12\x04\xa7\x039K\n\r\n\x05\x06\x00\x02\n\x04\x12\x04\xa8\x03\x04@\n\x11\n\t\x06\x00\x02\n\x04\xb0\xca\xbc\"\x12\x04\xa8\x03\x04@\ni\n\x04\x06\x00\x02\x0b\x12\x06\xac\x03\x02\xae\x03\x03\x1aY Get, per validator, the proposals it made as a fraction of the views it led in an epoch\n\n\r\n\x05\x06\x00\x02\x0b\x01\x12\x04\xac\x03\x06\x1e\n\r\n\x05\x06\x00\x02\x0b\x02\x12\x04\xac\x03\x1f>\n\r\n\x05\x06\x00\x02\x0b\x03\x12\x04\xac\x03I^\n\r\n\x05\x06\x00\x02\x0b\x04\x12\x04\xad\x03\x04H\n\x11\n\t\x06\x00\x02\x0b\x04\xb0\xca\xbc\"\x12\x04\xad\x03\x04H\nY\n\x04\x06\x00\x02\x0c\x12\x06\xb1\x03\x02\xb3\x03\x03\x1aI Get, per validator, the votes it cast as a fraction of an epoch\'s views\n\n\r\n\x05\x06\x00\x02\x0c\x01\x12\x04\xb1\x03\x06\x1a\n\r\n\x05\x06\x00\x02\x0c\x02\x12\x04\xb1\x03\x1b6\n\r\n\x05\x06\x00\x02\x0c\x03\x12\x04\xb1\x03AV\n\r\n\x05\x06\x00\x02\x0c\x04\x12\x04\xb2\x03\x04D\n\x11\n\t\x06\x00\x02\x0c\x04\xb0\xca\xbc\"\x12\x04\xb2\x03\x04Db\x06proto3\n\xda\x1f\n\x18v2/merklized_state.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\rv2/node.proto\"]\n\x12MerklePathResponse\x12\x10\n\x03pos\x18\x01 \x01(\tR\x03pos\x125\n\x05proof\x18\x02 \x03(\x0b2\x1f.espresso.api.v2.AdvzMerkleNodeR\x05proof\"\x89\x01\n\x18GetBlockStatePathRequest\x12\x15\n\x03key\x18\x01 \x01(\x04H\x00R\x03key\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01\x12\x1b\n\x06commit\x18\x03 \x01(\tH\x02R\x06commit\x88\x01\x01B\x06\n\x04_keyB\t\n\x07_heightB\t\n\x07_commit\"\x93\x01\n\x16GetFeeStatePathRequest\x12\x1d\n\x07address\x18\x01 \x01(\tH\x00R\x07address\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01\x12\x1b\n\x06commit\x18\x03 \x01(\tH\x02R\x06commit\x88\x01\x01B\n\n\x08_addressB\t\n\x07_heightB\t\n\x07_commit\"G\n\x1aGetLatestFeeBalanceRequest\x12\x1d\n\x07address\x18\x01 \x01(\tH\x00R\x07address\x88\x01\x01B\n\n\x08_address\".\n\x12FeeBalanceResponse\x12\x18\n\x07balance\x18\x01 \x01(\tR\x07balance\"\x17\n\x15GetStateHeightRequest\"-\n\x13StateHeightResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height2\xc5\x04\n\x15MerklizedStateService\x12\x8b\x01\n\x11GetBlockStatePath\x12).espresso.api.v2.GetBlockStatePathRequest\x1a#.espresso.api.v2.MerklePathResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/merklized-state/block/path\x12\x85\x01\n\x0fGetFeeStatePath\x12\'.espresso.api.v2.GetFeeStatePathRequest\x1a#.espresso.api.v2.MerklePathResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v2/merklized-state/fee/path\x12\x90\x01\n\x13GetLatestFeeBalance\x12+.espresso.api.v2.GetLatestFeeBalanceRequest\x1a#.espresso.api.v2.FeeBalanceResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/v2/merklized-state/fee/balance\x12\x82\x01\n\x0eGetStateHeight\x12&.espresso.api.v2.GetStateHeightRequest\x1a$.espresso.api.v2.StateHeightResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v2/merklized-state/heightJ\xed\x15\n\x06\x12\x04\x00\x00P\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x17\n\n\n\x02\x04\x00\x12\x04\x07\x00\x0f\x01\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x1a\nV\n\x04\x04\x00\x02\x00\x12\x03\t\x02\x11\x1aI Index the path was looked up for, ark-serialized, TaggedBase64 `FIELD~`\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\t\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\t\t\x0c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\t\x0f\x10\n\xf7\x01\n\x04\x04\x00\x02\x01\x12\x03\x0e\x02$\x1a\xe9\x01 The path, leaf first and root last. A leaf first means the key is in the tree, and anything\n else first means it is not and the path proves that. The node messages are the ones VID shares\n use, since both are jellyfish Merkle nodes\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\x0e\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0e\x0b\x19\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\x1a\x1f\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e\"#\n\n\n\x02\x04\x01\x12\x04\x11\x00\x1b\x01\n\n\n\x03\x04\x01\x01\x12\x03\x11\x08 \n\xb6\x01\n\x04\x04\x01\x02\x00\x12\x03\x14\x02\x1a\x1a\xa8\x01 Required, the block height to look up. A snapshot at height `h` commits to the headers below\n `h`, so a key at or above the snapshot height gets a non-membership path\n\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x14\x0b\x11\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x14\x12\x15\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x14\x18\x19\n8\n\x04\x04\x01\x02\x01\x12\x03\x17\x02\x1d\x1a+ Snapshot the tree as of this block height\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03\x17\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x17\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x17\x12\x18\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x17\x1b\x1c\nJ\n\x04\x04\x01\x02\x02\x12\x03\x1a\x02\x1d\x1a= Snapshot the tree at this root, TaggedBase64 `MERKLE_COMM~`\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03\x1a\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x1a\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x1a\x12\x18\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1a\x1b\x1c\n\n\n\x02\x04\x02\x12\x04\x1d\x00&\x01\n\n\n\x03\x04\x02\x01\x12\x03\x1d\x08\x1e\nB\n\x04\x04\x02\x02\x00\x12\x03\x1f\x02\x1e\x1a5 Required, the account to look up, `0x`-prefixed hex\n\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x1f\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x1f\x0b\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1f\x12\x19\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1f\x1c\x1d\n8\n\x04\x04\x02\x02\x01\x12\x03\"\x02\x1d\x1a+ Snapshot the tree as of this block height\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03\"\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\"\x0b\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\"\x12\x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\"\x1b\x1c\nJ\n\x04\x04\x02\x02\x02\x12\x03%\x02\x1d\x1a= Snapshot the tree at this root, TaggedBase64 `MERKLE_COMM~`\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03%\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03%\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03%\x12\x18\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03%\x1b\x1c\n\n\n\x02\x04\x03\x12\x04(\x00+\x01\n\n\n\x03\x04\x03\x01\x12\x03(\x08\"\nB\n\x04\x04\x03\x02\x00\x12\x03*\x02\x1e\x1a5 Required, the account to look up, `0x`-prefixed hex\n\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03*\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03*\x0b\x11\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03*\x12\x19\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03*\x1c\x1d\n\n\n\x02\x04\x04\x12\x04-\x000\x01\n\n\n\x03\x04\x04\x01\x12\x03-\x08\x1a\n_\n\x04\x04\x04\x02\x00\x12\x03/\x02\x15\x1aR Balance in wei (decimal string), zero for an account the tree holds no entry for\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03/\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03/\t\x10\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03/\x13\x14\n\t\n\x02\x04\x05\x12\x032\x00 \n\n\n\x03\x04\x05\x01\x12\x032\x08\x1d\n\n\n\x02\x04\x06\x12\x044\x008\x01\n\n\n\x03\x04\x06\x01\x12\x034\x08\x1b\no\n\x04\x04\x06\x02\x00\x12\x037\x02\x14\x1ab Height of the newest block whose merklized state is persisted. A snapshot above it is not\n found\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x037\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x037\t\x0f\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x037\x12\x13\n\n\n\x02\x06\x00\x12\x04:\x00P\x01\n\n\n\x03\x06\x00\x01\x12\x03:\x08\x1d\n\xbc\x01\n\x04\x06\x00\x02\x00\x12\x04=\x02?\x03\x1a\xad\x01 Get the Merkle path to one leaf of the block merkle tree, which commits to past block\n headers. Exactly one of height or commit selects the snapshot. None or both is a 400\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03=\x06\x17\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03=\x180\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03=;M\n\x0c\n\x05\x06\x00\x02\x00\x04\x12\x03>\x04G\n\x10\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x03>\x04G\n\xb6\x01\n\x04\x06\x00\x02\x01\x12\x04C\x02E\x03\x1a\xa7\x01 Get the Merkle path to one account of the fee merkle tree, which holds the fee balances.\n Exactly one of height or commit selects the snapshot. None or both is a 400\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03C\x06\x15\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03C\x16,\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03C7I\n\x0c\n\x05\x06\x00\x02\x01\x04\x12\x03D\x04E\n\x10\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x03D\x04E\nJ\n\x04\x06\x00\x02\x02\x12\x04H\x02J\x03\x1a< Get an account\'s fee balance in the newest persisted state\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03H\x06\x19\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03H\x1a4\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03H?Q\n\x0c\n\x05\x06\x00\x02\x02\x04\x12\x03I\x04H\n\x10\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x03I\x04H\n_\n\x04\x06\x00\x02\x03\x12\x04M\x02O\x03\x1aQ Get the height of the newest persisted merklized state, which every tree shares\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03M\x06\x14\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03M\x15*\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03M5H\n\x0c\n\x05\x06\x00\x02\x03\x04\x12\x03N\x04C\n\x10\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x03N\x04Cb\x06proto3\n\xe65\n\x15v2/reward_state.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x18v2/merklized_state.proto\"l\n\x17GetRewardBalanceRequest\x12\x1d\n\x07address\x18\x01 \x01(\tH\x00R\x07address\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01B\n\n\x08_addressB\t\n\x07_height\"1\n\x15RewardBalanceResponse\x12\x18\n\x07balance\x18\x01 \x01(\tR\x07balance\"q\n\x1cGetRewardAccountProofRequest\x12\x1d\n\x07address\x18\x01 \x01(\tH\x00R\x07address\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01B\n\n\x08_addressB\t\n\x07_height\"\xa0\x01\n\x11RewardMerkleProof\x12A\n\x08presence\x18\x01 \x01(\x0b2#.espresso.api.v2.MerklePathResponseH\x00R\x08presence\x12?\n\x07absence\x18\x02 \x01(\x0b2#.espresso.api.v2.MerklePathResponseH\x00R\x07absenceB\x07\n\x05proof\"h\n\x12RewardAccountProof\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x128\n\x05proof\x18\x02 \x01(\x0b2\".espresso.api.v2.RewardMerkleProofR\x05proof\"q\n\x1aRewardAccountProofResponse\x12\x18\n\x07balance\x18\x01 \x01(\tR\x07balance\x129\n\x05proof\x18\x02 \x01(\x0b2#.espresso.api.v2.RewardAccountProofR\x05proof\"o\n\x1aGetRewardClaimInputRequest\x12\x1d\n\x07address\x18\x01 \x01(\tH\x00R\x07address\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01B\n\n\x08_addressB\t\n\x07_height\"b\n\x18RewardClaimInputResponse\x12)\n\x10lifetime_rewards\x18\x01 \x01(\tR\x0flifetimeRewards\x12\x1b\n\tauth_data\x18\x02 \x01(\tR\x08authData\"\x8e\x01\n\x17GetRewardAmountsRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x1b\n\x06offset\x18\x02 \x01(\x04H\x01R\x06offset\x88\x01\x01\x12\x19\n\x05limit\x18\x03 \x01(\x04H\x02R\x05limit\x88\x01\x01B\t\n\x07_heightB\t\n\x07_offsetB\x08\n\x06_limit\"D\n\x10RewardAmountPair\x12\x18\n\x07address\x18\x01 \x01(\tR\x07address\x12\x16\n\x06amount\x18\x02 \x01(\tR\x06amount\"T\n\x15RewardAmountsResponse\x12;\n\x07amounts\x18\x01 \x03(\x0b2!.espresso.api.v2.RewardAmountPairR\x07amounts\"F\n\x1cGetRewardMerkleTreeV2Request\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01B\t\n\x07_height\"0\n\x1aRewardMerkleTreeV2Response\x12\x12\n\x04tree\x18\x01 \x01(\x0cR\x04tree2\x99\x06\n\x12RewardStateService\x12\x90\x01\n\x10GetRewardBalance\x12(.espresso.api.v2.GetRewardBalanceRequest\x1a&.espresso.api.v2.RewardBalanceResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v2/merklized-state/reward/balance\x12\x9d\x01\n\x15GetRewardAccountProof\x12-.espresso.api.v2.GetRewardAccountProofRequest\x1a+.espresso.api.v2.RewardAccountProofResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v2/merklized-state/reward/proof\x12\x9d\x01\n\x13GetRewardClaimInput\x12+.espresso.api.v2.GetRewardClaimInputRequest\x1a).espresso.api.v2.RewardClaimInputResponse\".\x82\xd3\xe4\x93\x02(\x12&/v2/merklized-state/reward/claim-input\x12\x90\x01\n\x10GetRewardAmounts\x12(.espresso.api.v2.GetRewardAmountsRequest\x1a&.espresso.api.v2.RewardAmountsResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v2/merklized-state/reward/amounts\x12\x9c\x01\n\x15GetRewardMerkleTreeV2\x12-.espresso.api.v2.GetRewardMerkleTreeV2Request\x1a+.espresso.api.v2.RewardMerkleTreeV2Response\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/v2/merklized-state/reward/treeJ\xcf$\n\x07\x12\x05\x00\x00\x85\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\"\n\n\n\x02\x04\x00\x12\x04\x07\x00\x0e\x01\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x1f\nQ\n\x04\x04\x00\x02\x00\x12\x03\t\x02\x1e\x1aD Required, the account to look up, hex with an optional `0x` prefix\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\t\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\t\x0b\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\t\x12\x19\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\t\x1c\x1d\n\xb6\x01\n\x04\x04\x00\x02\x01\x12\x03\r\x02\x1d\x1a\xa8\x01 A block height the light client contract finalized, at which this node stored the account\'s\n proof. Absent means the newest such height. Any other height is not found\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\r\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\r\x0b\x11\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\x12\x18\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r\x1b\x1c\n\n\n\x02\x04\x01\x12\x04\x10\x00\x13\x01\n\n\n\x03\x04\x01\x01\x12\x03\x10\x08\x1d\nb\n\x04\x04\x01\x02\x00\x12\x03\x12\x02\x15\x1aU Lifetime rewards in wei, as a decimal string. An account with no entry is not found\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x12\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x12\t\x10\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x12\x13\x14\n\n\n\x02\x04\x02\x12\x04\x15\x00\x1c\x01\n\n\n\x03\x04\x02\x01\x12\x03\x15\x08$\nQ\n\x04\x04\x02\x02\x00\x12\x03\x17\x02\x1e\x1aD Required, the account to look up, hex with an optional `0x` prefix\n\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x17\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x17\x0b\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x17\x12\x19\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x17\x1c\x1d\n\xb6\x01\n\x04\x04\x02\x02\x01\x12\x03\x1b\x02\x1d\x1a\xa8\x01 A block height the light client contract finalized, at which this node stored the account\'s\n proof. Absent means the newest such height. Any other height is not found\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03\x1b\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1b\x0b\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1b\x12\x18\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1b\x1b\x1c\nV\n\x02\x04\x03\x12\x04\x1f\x00$\x01\x1aJ Mirrors the tree\'s own presence or absence proof. Exactly one arm is set\n\n\n\n\x03\x04\x03\x01\x12\x03\x1f\x08\x19\n\x0c\n\x04\x04\x03\x08\x00\x12\x04 \x02#\x03\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x03 \x08\r\n\x0b\n\x04\x04\x03\x02\x00\x12\x03!\x04$\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03!\x04\x16\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03!\x17\x1f\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03!\"#\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\"\x04#\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03\"\x04\x16\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\"\x17\x1e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\"!\"\n\n\n\x02\x04\x04\x12\x04&\x00+\x01\n\n\n\x03\x04\x04\x01\x12\x03&\x08\x1a\n:\n\x04\x04\x04\x02\x00\x12\x03(\x02\x15\x1a- Account the proof is for, `0x`-prefixed hex\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03(\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03(\t\x10\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03(\x13\x14\n\x0b\n\x04\x04\x04\x02\x01\x12\x03*\x02\x1e\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03*\x02\x13\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03*\x14\x19\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03*\x1c\x1d\n\n\n\x02\x04\x05\x12\x04-\x004\x01\n\n\n\x03\x04\x05\x01\x12\x03-\x08\"\n\xdf\x01\n\x04\x04\x05\x02\x00\x12\x031\x02\x15\x1a\xd1\x01 Lifetime rewards in wei, as a decimal string, where v1 serves `0x` hex. For an account with no\n entry, the merklized-state routes answer not found and the catchup routes answer with an\n absence proof and `0`\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x031\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x031\t\x10\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x031\x13\x14\n\x0b\n\x04\x04\x05\x02\x01\x12\x033\x02\x1f\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x033\x02\x14\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x033\x15\x1a\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x033\x1d\x1e\n\n\n\x02\x04\x06\x12\x046\x00<\x01\n\n\n\x03\x04\x06\x01\x12\x036\x08\"\nS\n\x04\x04\x06\x02\x00\x12\x038\x02\x1e\x1aF Required, the account to claim for, hex with an optional `0x` prefix\n\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x038\x0b\x11\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x038\x12\x19\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x038\x1c\x1d\nY\n\x04\x04\x06\x02\x01\x12\x03;\x02\x1d\x1aL Required, and must match the height finalized in the light client contract\n\n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03;\x02\n\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03;\x0b\x11\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03;\x12\x18\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03;\x1b\x1c\n\n\n\x02\x04\x07\x12\x04>\x00D\x01\n\n\n\x03\x04\x07\x01\x12\x03>\x08 \nU\n\x04\x04\x07\x02\x00\x12\x03@\x02\x1e\x1aH Lifetime rewards in wei, as a decimal string, where v1 serves `0x` hex\n\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03@\x02\x08\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03@\t\x19\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03@\x1c\x1d\n^\n\x04\x04\x07\x02\x01\x12\x03C\x02\x17\x1aQ ABI-encoded authentication data for the L1 claimRewards call, `0x`-prefixed hex\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03C\x02\x08\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03C\t\x12\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03C\x15\x16\n\n\n\x02\x04\x08\x12\x04F\x00O\x01\n\n\n\x03\x04\x08\x01\x12\x03F\x08\x1f\ni\n\x04\x04\x08\x02\x00\x12\x03H\x02\x1d\x1a\\ Required, a block height at which this node stored the tree. Any other height is not found\n\n\x0c\n\x05\x04\x08\x02\x00\x04\x12\x03H\x02\n\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03H\x0b\x11\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03H\x12\x18\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03H\x1b\x1c\na\n\x04\x04\x08\x02\x01\x12\x03K\x02\x1d\x1aT Required, the index of the first entry to return. Past the last entry is not found\n\n\x0c\n\x05\x04\x08\x02\x01\x04\x12\x03K\x02\n\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03K\x0b\x11\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03K\x12\x18\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03K\x1b\x1c\nB\n\x04\x04\x08\x02\x02\x12\x03N\x02\x1c\x1a5 Required, the most entries to return, at most 10000\n\n\x0c\n\x05\x04\x08\x02\x02\x04\x12\x03N\x02\n\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03N\x0b\x11\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03N\x12\x17\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03N\x1a\x1b\n\n\n\x02\x04\t\x12\x04Q\x00W\x01\n\n\n\x03\x04\t\x01\x12\x03Q\x08\x18\n?\n\x04\x04\t\x02\x00\x12\x03S\x02\x15\x1a2 Account the amount belongs to, `0x`-prefixed hex\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03S\x02\x08\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03S\t\x10\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03S\x13\x14\n2\n\x04\x04\t\x02\x01\x12\x03V\x02\x14\x1a% Rewards in wei, as a decimal string\n\n\x0c\n\x05\x04\t\x02\x01\x05\x12\x03V\x02\x08\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03V\t\x0f\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03V\x12\x13\n\n\n\x02\x04\n\x12\x04Y\x00\\\x01\n\n\n\x03\x04\n\x01\x12\x03Y\x08\x1d\nB\n\x04\x04\n\x02\x00\x12\x03[\x02(\x1a5 In the tree\'s own order, the one `offset` counts in\n\n\x0c\n\x05\x04\n\x02\x00\x04\x12\x03[\x02\n\n\x0c\n\x05\x04\n\x02\x00\x06\x12\x03[\x0b\x1b\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03[\x1c#\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03[&\'\n\n\n\x02\x04\x0b\x12\x04^\x00a\x01\n\n\n\x03\x04\x0b\x01\x12\x03^\x08$\ni\n\x04\x04\x0b\x02\x00\x12\x03`\x02\x1d\x1a\\ Required, a block height at which this node stored the tree. Any other height is not found\n\n\x0c\n\x05\x04\x0b\x02\x00\x04\x12\x03`\x02\n\n\x0c\n\x05\x04\x0b\x02\x00\x05\x12\x03`\x0b\x11\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03`\x12\x18\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03`\x1b\x1c\n\n\n\x02\x04\x0c\x12\x04c\x00f\x01\n\n\n\x03\x04\x0c\x01\x12\x03c\x08\"\nJ\n\x04\x04\x0c\x02\x00\x12\x03e\x02\x11\x1a= bincode-serialized `RewardMerkleTreeV2Data`, base64 in JSON\n\n\x0c\n\x05\x04\x0c\x02\x00\x05\x12\x03e\x02\x07\n\x0c\n\x05\x04\x0c\x02\x00\x01\x12\x03e\x08\x0c\n\x0c\n\x05\x04\x0c\x02\x00\x03\x12\x03e\x0f\x10\n\xd4\x01\n\x02\x06\x00\x12\x05j\x00\x85\x01\x01\x1a\xc6\x01 The reward tree, backed by RewardMerkleTreeV2. The height of the newest persisted snapshot is one\n value shared with every merklized-state tree, served by `GetStateHeight` on MerklizedStateService\n\n\n\n\x03\x06\x00\x01\x12\x03j\x08\x1a\n{\n\x04\x06\x00\x02\x00\x12\x04m\x02o\x03\x1am Get an account\'s lifetime rewards at a height finalized by the light client contract, or at the\n newest one\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03m\x06\x16\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03m\x17.\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03m9N\n\x0c\n\x05\x06\x00\x02\x00\x04\x12\x03n\x04K\n\x10\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x03n\x04K\n\xa0\x01\n\x04\x06\x00\x02\x01\x12\x04s\x02u\x03\x1a\x91\x01 Get an account\'s lifetime rewards with the Merkle proof backing them, at a height finalized by\n the light client contract, or at the newest one\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03s\x06\x1b\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03s\x1c8\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03sC]\n\x0c\n\x05\x06\x00\x02\x01\x04\x12\x03t\x04I\n\x10\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x03t\x04I\nM\n\x04\x06\x00\x02\x02\x12\x04x\x02z\x03\x1a? Get everything needed to call claimRewards on the L1 contract\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03x\x06\x19\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03x\x1a4\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03x?W\n\x0c\n\x05\x06\x00\x02\x02\x04\x12\x03y\x04O\n\x10\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x03y\x04O\n>\n\x04\x06\x00\x02\x03\x12\x04}\x02\x7f\x03\x1a0 Get a page of reward amounts at a block height\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03}\x06\x16\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03}\x17.\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03}9N\n\x0c\n\x05\x06\x00\x02\x03\x04\x12\x03~\x04K\n\x10\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x03~\x04K\nZ\n\x04\x06\x00\x02\x04\x12\x06\x82\x01\x02\x84\x01\x03\x1aJ Get this node\'s serialized RewardMerkleTreeV2 snapshot at a block height\n\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\x82\x01\x06\x1b\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\x82\x01\x1c8\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\x82\x01C]\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04\x83\x01\x04H\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04\x83\x01\x04Hb\x06proto3\n\x91S\n\x10v2/catchup.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x15v2/availability.proto\x1a\x0fv2/common.proto\x1a\x18v2/merklized_state.proto\x1a\x15v2/reward_state.proto\"\x9d\x01\n\x0eFeeMerkleProof\x12A\n\x08presence\x18\x01 \x01(\x0b2#.espresso.api.v2.MerklePathResponseH\x00R\x08presence\x12?\n\x07absence\x18\x02 \x01(\x0b2#.espresso.api.v2.MerklePathResponseH\x00R\x07absenceB\x07\n\x05proof\"b\n\x0fFeeAccountProof\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x125\n\x05proof\x18\x02 \x01(\x0b2\x1f.espresso.api.v2.FeeMerkleProofR\x05proof\"k\n\x17FeeAccountProofResponse\x12\x18\n\x07balance\x18\x01 \x01(\tR\x07balance\x126\n\x05proof\x18\x02 \x01(\x0b2 .espresso.api.v2.FeeAccountProofR\x05proof\"+\n\x15FeeMerkleTreeResponse\x12\x12\n\x04tree\x18\x01 \x01(\x0cR\x04tree\"0\n\x1aRewardMerkleTreeV1Response\x12\x12\n\x04tree\x18\x01 \x01(\x0cR\x04tree\"\x92\x01\n\x1bGetCatchupFeeAccountRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04view\x18\x02 \x01(\x04H\x01R\x04view\x88\x01\x01\x12\x1d\n\x07address\x18\x03 \x01(\tH\x02R\x07address\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_viewB\n\n\x08_address\"\x86\x01\n\x1cGetCatchupFeeAccountsRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04view\x18\x02 \x01(\x04H\x01R\x04view\x88\x01\x01\x12\x1c\n\taddresses\x18\x03 \x03(\tR\taddressesB\t\n\x07_heightB\x07\n\x05_view\"k\n\x1fGetCatchupBlocksFrontierRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04view\x18\x02 \x01(\x04H\x01R\x04view\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_view\"R\n\x1cGetCatchupChainConfigRequest\x12#\n\ncommitment\x18\x01 \x01(\tH\x00R\ncommitment\x88\x01\x01B\r\n\x0b_commitment\"]\n\x1aCatchupChainConfigResponse\x12?\n\x0cchain_config\x18\x01 \x01(\x0b2\x1c.espresso.api.v2.ChainConfigR\x0bchainConfig\"D\n\x1aGetCatchupLeafChainRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01B\t\n\x07_height\"J\n\x18CatchupLeafChainResponse\x12.\n\x06leaves\x18\x01 \x03(\x0b2\x16.espresso.api.v2.Leaf2R\x06leaves\"@\n\x16GetCatchupCert2Request\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01B\t\n\x07_height\"\x95\x01\n\x1eGetCatchupRewardAccountRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04view\x18\x02 \x01(\x04H\x01R\x04view\x88\x01\x01\x12\x1d\n\x07address\x18\x03 \x01(\tH\x02R\x07address\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_viewB\n\n\x08_address\"\x97\x01\n GetCatchupRewardAccountV2Request\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04view\x18\x02 \x01(\x04H\x01R\x04view\x88\x01\x01\x12\x1d\n\x07address\x18\x03 \x01(\tH\x02R\x07address\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_viewB\n\n\x08_address\"\x89\x01\n\x1fGetCatchupRewardAccountsRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04view\x18\x02 \x01(\x04H\x01R\x04view\x88\x01\x01\x12\x1c\n\taddresses\x18\x03 \x03(\tR\taddressesB\t\n\x07_heightB\x07\n\x05_view\"o\n#GetCatchupRewardMerkleTreeV2Request\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04view\x18\x02 \x01(\x04H\x01R\x04view\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_view\"A\n\x1aGetCatchupStateCertRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch2\x91\r\n\x0eCatchupService\x12\x8f\x01\n\x14GetCatchupFeeAccount\x12,.espresso.api.v2.GetCatchupFeeAccountRequest\x1a(.espresso.api.v2.FeeAccountProofResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2/catchup/fee-account\x12\x93\x01\n\x15GetCatchupFeeAccounts\x12-.espresso.api.v2.GetCatchupFeeAccountsRequest\x1a&.espresso.api.v2.FeeMerkleTreeResponse\"#\x82\xd3\xe4\x93\x02\x1d\"\x18/v2/catchup/fee-accounts:\x01*\x12\x96\x01\n\x18GetCatchupBlocksFrontier\x120.espresso.api.v2.GetCatchupBlocksFrontierRequest\x1a#.espresso.api.v2.MerklePathResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v2/catchup/blocks-frontier\x12\x95\x01\n\x15GetCatchupChainConfig\x12-.espresso.api.v2.GetCatchupChainConfigRequest\x1a+.espresso.api.v2.CatchupChainConfigResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v2/catchup/chain-config\x12\x8d\x01\n\x13GetCatchupLeafChain\x12+.espresso.api.v2.GetCatchupLeafChainRequest\x1a).espresso.api.v2.CatchupLeafChainResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/catchup/leaf-chain\x12u\n\x0fGetCatchupCert2\x12\'.espresso.api.v2.GetCatchupCert2Request\x1a\x1e.espresso.api.v2.Cert2Response\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/v2/catchup/cert2\x12\x9b\x01\n\x17GetCatchupRewardAccount\x12/.espresso.api.v2.GetCatchupRewardAccountRequest\x1a+.espresso.api.v2.RewardAccountProofResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v2/catchup/reward-account\x12\xa1\x01\n\x18GetCatchupRewardAccounts\x120.espresso.api.v2.GetCatchupRewardAccountsRequest\x1a+.espresso.api.v2.RewardMerkleTreeV1Response\"&\x82\xd3\xe4\x93\x02 \"\x1b/v2/catchup/reward-accounts:\x01*\x12\xa2\x01\n\x19GetCatchupRewardAccountV2\x121.espresso.api.v2.GetCatchupRewardAccountV2Request\x1a+.espresso.api.v2.RewardAccountProofResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v2/catchup/reward-account-v2\x12\xac\x01\n\x1cGetCatchupRewardMerkleTreeV2\x124.espresso.api.v2.GetCatchupRewardMerkleTreeV2Request\x1a+.espresso.api.v2.RewardMerkleTreeV2Response\")\x82\xd3\xe4\x93\x02#\x12!/v2/catchup/reward-merkle-tree-v2\x12\x88\x01\n\x13GetCatchupStateCert\x12+.espresso.api.v2.GetCatchupStateCertRequest\x1a$.espresso.api.v2.StateCertV2Response\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v2/catchup/state-certJ\x846\n\x07\x12\x05\x00\x00\xd6\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x1f\n\t\n\x02\x03\x02\x12\x03\x06\x00\x19\n\t\n\x02\x03\x03\x12\x03\x07\x00\"\n\t\n\x02\x03\x04\x12\x03\x08\x00\x1f\nV\n\x02\x04\x00\x12\x04\x0b\x00\x10\x01\x1aJ Mirrors the tree\'s own presence or absence proof. Exactly one arm is set\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x16\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x0c\x02\x0f\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x0c\x08\r\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\r\x04$\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\r\x04\x16\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\x17\x1f\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\"#\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0e\x04#\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0e\x04\x16\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\x17\x1e\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e!\"\n\n\n\x02\x04\x01\x12\x04\x12\x00\x17\x01\n\n\n\x03\x04\x01\x01\x12\x03\x12\x08\x17\nD\n\x04\x04\x01\x02\x00\x12\x03\x14\x02\x15\x1a7 Account the proof is for, lowercase `0x`-prefixed hex\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x14\t\x10\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x14\x13\x14\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x16\x02\x1b\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x16\x02\x10\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x16\x11\x16\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x16\x19\x1a\n\n\n\x02\x04\x02\x12\x04\x19\x00 \x01\n\n\n\x03\x04\x02\x01\x12\x03\x19\x08\x1f\n\xf9\x01\n\x04\x04\x02\x02\x00\x12\x03\x1d\x02\x15\x1a\xeb\x01 Balance in wei, as a decimal string, matching how the reward balances are served. v1 serves\n this one as `0x`-prefixed hex, since it is a bare `U256` there. An absent account proves a\n zero balance, so this is `0` rather than missing\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x1d\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1d\t\x10\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1d\x13\x14\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1f\x02\x1c\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\x1f\x02\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1f\x12\x17\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1f\x1a\x1b\n\n\n\x02\x04\x03\x12\x04\"\x00%\x01\n\n\n\x03\x04\x03\x01\x12\x03\"\x08\x1d\ne\n\x04\x04\x03\x02\x00\x12\x03$\x02\x11\x1aX bincode-serialized `FeeMerkleTree` holding only the requested accounts, base64 in JSON\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03$\x02\x07\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03$\x08\x0c\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03$\x0f\x10\n\n\n\x02\x04\x04\x12\x04\'\x00*\x01\n\n\n\x03\x04\x04\x01\x12\x03\'\x08\"\nj\n\x04\x04\x04\x02\x00\x12\x03)\x02\x11\x1a] bincode-serialized `RewardMerkleTreeV1` holding only the requested accounts, base64 in JSON\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03)\x02\x07\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03)\x08\x0c\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03)\x0f\x10\n\n\n\x02\x04\x05\x12\x04,\x005\x01\n\n\n\x03\x04\x05\x01\x12\x03,\x08#\n<\n\x04\x04\x05\x02\x00\x12\x03.\x02\x1d\x1a/ Height the asking node is replaying. Required\n\n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03.\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03.\x0b\x11\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03.\x12\x18\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03.\x1b\x1c\n:\n\x04\x04\x05\x02\x01\x12\x031\x02\x1b\x1a- View the asking node is replaying. Required\n\n\x0c\n\x05\x04\x05\x02\x01\x04\x12\x031\x02\n\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x031\x0b\x11\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x031\x12\x16\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x031\x19\x1a\nK\n\x04\x04\x05\x02\x02\x12\x034\x02\x1e\x1a> Account to prove, hex with an optional `0x` prefix. Required\n\n\x0c\n\x05\x04\x05\x02\x02\x04\x12\x034\x02\n\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x034\x0b\x11\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x034\x12\x19\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x034\x1c\x1d\n\n\n\x02\x04\x06\x12\x047\x00@\x01\n\n\n\x03\x04\x06\x01\x12\x037\x08$\n<\n\x04\x04\x06\x02\x00\x12\x039\x02\x1d\x1a/ Height the asking node is replaying. Required\n\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x039\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x039\x0b\x11\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x039\x12\x18\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x039\x1b\x1c\n:\n\x04\x04\x06\x02\x01\x12\x03<\x02\x1b\x1a- View the asking node is replaying. Required\n\n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03<\x02\n\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03<\x0b\x11\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03<\x12\x16\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03<\x19\x1a\nY\n\x04\x04\x06\x02\x02\x12\x03?\x02 \x1aL Accounts to include in the returned tree, hex with an optional `0x` prefix\n\n\x0c\n\x05\x04\x06\x02\x02\x04\x12\x03?\x02\n\n\x0c\n\x05\x04\x06\x02\x02\x05\x12\x03?\x0b\x11\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03?\x12\x1b\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03?\x1e\x1f\n\n\n\x02\x04\x07\x12\x04B\x00H\x01\n\n\n\x03\x04\x07\x01\x12\x03B\x08\'\n<\n\x04\x04\x07\x02\x00\x12\x03D\x02\x1d\x1a/ Height the asking node is replaying. Required\n\n\x0c\n\x05\x04\x07\x02\x00\x04\x12\x03D\x02\n\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03D\x0b\x11\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03D\x12\x18\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03D\x1b\x1c\n:\n\x04\x04\x07\x02\x01\x12\x03G\x02\x1b\x1a- View the asking node is replaying. Required\n\n\x0c\n\x05\x04\x07\x02\x01\x04\x12\x03G\x02\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03G\x0b\x11\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03G\x12\x16\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03G\x19\x1a\n\n\n\x02\x04\x08\x12\x04J\x00M\x01\n\n\n\x03\x04\x08\x01\x12\x03J\x08$\na\n\x04\x04\x08\x02\x00\x12\x03L\x02!\x1aT Commitment of the configuration to resolve, TaggedBase64 `CHAIN_CONFIG~`. Required\n\n\x0c\n\x05\x04\x08\x02\x00\x04\x12\x03L\x02\n\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03L\x0b\x11\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03L\x12\x1c\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03L\x1f \n\n\n\x02\x04\t\x12\x04O\x00Q\x01\n\n\n\x03\x04\t\x01\x12\x03O\x08\"\n\x0b\n\x04\x04\t\x02\x00\x12\x03P\x02\x1f\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03P\x02\r\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03P\x0e\x1a\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03P\x1d\x1e\n\n\n\x02\x04\n\x12\x04S\x00V\x01\n\n\n\x03\x04\n\x01\x12\x03S\x08\"\n[\n\x04\x04\n\x02\x00\x12\x03U\x02\x1d\x1aN Height of the chain\'s first leaf, the one the chain proves decided. Required\n\n\x0c\n\x05\x04\n\x02\x00\x04\x12\x03U\x02\n\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03U\x0b\x11\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03U\x12\x18\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03U\x1b\x1c\n\n\n\x02\x04\x0b\x12\x04X\x00[\x01\n\n\n\x03\x04\x0b\x01\x12\x03X\x08 \n.\n\x04\x04\x0b\x02\x00\x12\x03Z\x02\x1c\x1a! Oldest first, as v1 orders them\n\n\x0c\n\x05\x04\x0b\x02\x00\x04\x12\x03Z\x02\n\n\x0c\n\x05\x04\x0b\x02\x00\x06\x12\x03Z\x0b\x10\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03Z\x11\x17\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03Z\x1a\x1b\n\n\n\x02\x04\x0c\x12\x04]\x00`\x01\n\n\n\x03\x04\x0c\x01\x12\x03]\x08\x1e\n9\n\x04\x04\x0c\x02\x00\x12\x03_\x02\x1d\x1a, Height the certificate finalizes. Required\n\n\x0c\n\x05\x04\x0c\x02\x00\x04\x12\x03_\x02\n\n\x0c\n\x05\x04\x0c\x02\x00\x05\x12\x03_\x0b\x11\n\x0c\n\x05\x04\x0c\x02\x00\x01\x12\x03_\x12\x18\n\x0c\n\x05\x04\x0c\x02\x00\x03\x12\x03_\x1b\x1c\n\n\n\x02\x04\r\x12\x04b\x00k\x01\n\n\n\x03\x04\r\x01\x12\x03b\x08&\n<\n\x04\x04\r\x02\x00\x12\x03d\x02\x1d\x1a/ Height the asking node is replaying. Required\n\n\x0c\n\x05\x04\r\x02\x00\x04\x12\x03d\x02\n\n\x0c\n\x05\x04\r\x02\x00\x05\x12\x03d\x0b\x11\n\x0c\n\x05\x04\r\x02\x00\x01\x12\x03d\x12\x18\n\x0c\n\x05\x04\r\x02\x00\x03\x12\x03d\x1b\x1c\n:\n\x04\x04\r\x02\x01\x12\x03g\x02\x1b\x1a- View the asking node is replaying. Required\n\n\x0c\n\x05\x04\r\x02\x01\x04\x12\x03g\x02\n\n\x0c\n\x05\x04\r\x02\x01\x05\x12\x03g\x0b\x11\n\x0c\n\x05\x04\r\x02\x01\x01\x12\x03g\x12\x16\n\x0c\n\x05\x04\r\x02\x01\x03\x12\x03g\x19\x1a\nK\n\x04\x04\r\x02\x02\x12\x03j\x02\x1e\x1a> Account to prove, hex with an optional `0x` prefix. Required\n\n\x0c\n\x05\x04\r\x02\x02\x04\x12\x03j\x02\n\n\x0c\n\x05\x04\r\x02\x02\x05\x12\x03j\x0b\x11\n\x0c\n\x05\x04\r\x02\x02\x01\x12\x03j\x12\x19\n\x0c\n\x05\x04\r\x02\x02\x03\x12\x03j\x1c\x1d\n\n\n\x02\x04\x0e\x12\x04m\x00v\x01\n\n\n\x03\x04\x0e\x01\x12\x03m\x08(\n<\n\x04\x04\x0e\x02\x00\x12\x03o\x02\x1d\x1a/ Height the asking node is replaying. Required\n\n\x0c\n\x05\x04\x0e\x02\x00\x04\x12\x03o\x02\n\n\x0c\n\x05\x04\x0e\x02\x00\x05\x12\x03o\x0b\x11\n\x0c\n\x05\x04\x0e\x02\x00\x01\x12\x03o\x12\x18\n\x0c\n\x05\x04\x0e\x02\x00\x03\x12\x03o\x1b\x1c\n:\n\x04\x04\x0e\x02\x01\x12\x03r\x02\x1b\x1a- View the asking node is replaying. Required\n\n\x0c\n\x05\x04\x0e\x02\x01\x04\x12\x03r\x02\n\n\x0c\n\x05\x04\x0e\x02\x01\x05\x12\x03r\x0b\x11\n\x0c\n\x05\x04\x0e\x02\x01\x01\x12\x03r\x12\x16\n\x0c\n\x05\x04\x0e\x02\x01\x03\x12\x03r\x19\x1a\nK\n\x04\x04\x0e\x02\x02\x12\x03u\x02\x1e\x1a> Account to prove, hex with an optional `0x` prefix. Required\n\n\x0c\n\x05\x04\x0e\x02\x02\x04\x12\x03u\x02\n\n\x0c\n\x05\x04\x0e\x02\x02\x05\x12\x03u\x0b\x11\n\x0c\n\x05\x04\x0e\x02\x02\x01\x12\x03u\x12\x19\n\x0c\n\x05\x04\x0e\x02\x02\x03\x12\x03u\x1c\x1d\n\x0b\n\x02\x04\x0f\x12\x05x\x00\x81\x01\x01\n\n\n\x03\x04\x0f\x01\x12\x03x\x08\'\n<\n\x04\x04\x0f\x02\x00\x12\x03z\x02\x1d\x1a/ Height the asking node is replaying. Required\n\n\x0c\n\x05\x04\x0f\x02\x00\x04\x12\x03z\x02\n\n\x0c\n\x05\x04\x0f\x02\x00\x05\x12\x03z\x0b\x11\n\x0c\n\x05\x04\x0f\x02\x00\x01\x12\x03z\x12\x18\n\x0c\n\x05\x04\x0f\x02\x00\x03\x12\x03z\x1b\x1c\n:\n\x04\x04\x0f\x02\x01\x12\x03}\x02\x1b\x1a- View the asking node is replaying. Required\n\n\x0c\n\x05\x04\x0f\x02\x01\x04\x12\x03}\x02\n\n\x0c\n\x05\x04\x0f\x02\x01\x05\x12\x03}\x0b\x11\n\x0c\n\x05\x04\x0f\x02\x01\x01\x12\x03}\x12\x16\n\x0c\n\x05\x04\x0f\x02\x01\x03\x12\x03}\x19\x1a\nZ\n\x04\x04\x0f\x02\x02\x12\x04\x80\x01\x02 \x1aL Accounts to include in the returned tree, hex with an optional `0x` prefix\n\n\r\n\x05\x04\x0f\x02\x02\x04\x12\x04\x80\x01\x02\n\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\x80\x01\x0b\x11\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\x80\x01\x12\x1b\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\x80\x01\x1e\x1f\n\x0c\n\x02\x04\x10\x12\x06\x83\x01\x00\x89\x01\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\x83\x01\x08+\n=\n\x04\x04\x10\x02\x00\x12\x04\x85\x01\x02\x1d\x1a/ Height the asking node is replaying. Required\n\n\r\n\x05\x04\x10\x02\x00\x04\x12\x04\x85\x01\x02\n\n\r\n\x05\x04\x10\x02\x00\x05\x12\x04\x85\x01\x0b\x11\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\x85\x01\x12\x18\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\x85\x01\x1b\x1c\n;\n\x04\x04\x10\x02\x01\x12\x04\x88\x01\x02\x1b\x1a- View the asking node is replaying. Required\n\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\x88\x01\x02\n\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\x88\x01\x0b\x11\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\x88\x01\x12\x16\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\x88\x01\x19\x1a\n\x0c\n\x02\x04\x11\x12\x06\x8b\x01\x00\x8e\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\x8b\x01\x08\"\n6\n\x04\x04\x11\x02\x00\x12\x04\x8d\x01\x02\x1c\x1a( Epoch the certificate closes. Required\n\n\r\n\x05\x04\x11\x02\x00\x04\x12\x04\x8d\x01\x02\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\x8d\x01\x0b\x11\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\x8d\x01\x12\x17\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\x8d\x01\x1a\x1b\n\xad\x03\n\x02\x06\x00\x12\x06\x96\x01\x00\xd6\x01\x01\x1a\x9e\x03 The module peers fetch state from when they fall behind. The routes over the fee, block and\n reward trees name the state they want by the `(height, view)` the asking node is replaying,\n which is why these are not the snapshot selectors the `merklized-state` module takes.\n\n v1\'s `reward-accounts-v2` and `reward-amounts` are not carried over. Both are tombstones that\n answer every request with a deprecation 404\n\n\x0b\n\x03\x06\x00\x01\x12\x04\x96\x01\x08\x16\nF\n\x04\x06\x00\x02\x00\x12\x06\x98\x01\x02\x9a\x01\x03\x1a6 Prove one fee account\'s balance at a height and view\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\x98\x01\x06\x1a\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\x98\x01\x1b6\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\x98\x01AX\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\x99\x01\x04@\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\x99\x01\x04@\nY\n\x04\x06\x00\x02\x01\x12\x06\x9d\x01\x02\xa2\x01\x03\x1aI Get the fee merkle tree holding the given accounts at a height and view\n\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\x9d\x01\x06\x1b\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\x9d\x01\x1c8\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\x9d\x01CX\n\x0f\n\x05\x06\x00\x02\x01\x04\x12\x06\x9e\x01\x04\xa1\x01\x06\n\x13\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x06\x9e\x01\x04\xa1\x01\x06\nI\n\x04\x06\x00\x02\x02\x12\x06\xa5\x01\x02\xa7\x01\x03\x1a9 Get the block merkle tree frontier at a height and view\n\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xa5\x01\x06\x1e\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xa5\x01\x1f>\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xa5\x01I[\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04\xa6\x01\x04D\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04\xa6\x01\x04D\nA\n\x04\x06\x00\x02\x03\x12\x06\xaa\x01\x02\xac\x01\x03\x1a1 Resolve a chain configuration by its commitment\n\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\xaa\x01\x06\x1b\n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\xaa\x01\x1c8\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\xaa\x01C]\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04\xab\x01\x04A\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04\xab\x01\x04A\nL\n\x04\x06\x00\x02\x04\x12\x06\xaf\x01\x02\xb1\x01\x03\x1a< Get the leaves from the given height up to the next decide\n\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\xaf\x01\x06\x19\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\xaf\x01\x1a4\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\xaf\x01?W\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04\xb0\x01\x04?\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04\xb0\x01\x04?\nA\n\x04\x06\x00\x02\x05\x12\x06\xb4\x01\x02\xb6\x01\x03\x1a1 Get the phase-2 certificate finalizing a height\n\n\r\n\x05\x06\x00\x02\x05\x01\x12\x04\xb4\x01\x06\x15\n\r\n\x05\x06\x00\x02\x05\x02\x12\x04\xb4\x01\x16,\n\r\n\x05\x06\x00\x02\x05\x03\x12\x04\xb4\x017D\n\r\n\x05\x06\x00\x02\x05\x04\x12\x04\xb5\x01\x04:\n\x11\n\t\x06\x00\x02\x05\x04\xb0\xca\xbc\"\x12\x04\xb5\x01\x04:\n\x87\x01\n\x04\x06\x00\x02\x06\x12\x06\xba\x01\x02\xbc\x01\x03\x1aw Prove one reward account\'s balance in the v1 tree. An account with no entry gets an absence\n proof and a zero balance\n\n\r\n\x05\x06\x00\x02\x06\x01\x12\x04\xba\x01\x06\x1d\n\r\n\x05\x06\x00\x02\x06\x02\x12\x04\xba\x01\x1e<\n\r\n\x05\x06\x00\x02\x06\x03\x12\x04\xba\x01Ga\n\r\n\x05\x06\x00\x02\x06\x04\x12\x04\xbb\x01\x04C\n\x11\n\t\x06\x00\x02\x06\x04\xb0\xca\xbc\"\x12\x04\xbb\x01\x04C\nJ\n\x04\x06\x00\x02\x07\x12\x06\xbf\x01\x02\xc4\x01\x03\x1a: Get the v1 reward merkle tree holding the given accounts\n\n\r\n\x05\x06\x00\x02\x07\x01\x12\x04\xbf\x01\x06\x1e\n\r\n\x05\x06\x00\x02\x07\x02\x12\x04\xbf\x01\x1f>\n\r\n\x05\x06\x00\x02\x07\x03\x12\x04\xbf\x01Ic\n\x0f\n\x05\x06\x00\x02\x07\x04\x12\x06\xc0\x01\x04\xc3\x01\x06\n\x13\n\t\x06\x00\x02\x07\x04\xb0\xca\xbc\"\x12\x06\xc0\x01\x04\xc3\x01\x06\n\x87\x01\n\x04\x06\x00\x02\x08\x12\x06\xc8\x01\x02\xca\x01\x03\x1aw Prove one reward account\'s balance in the v2 tree. An account with no entry gets an absence\n proof and a zero balance\n\n\r\n\x05\x06\x00\x02\x08\x01\x12\x04\xc8\x01\x06\x1f\n\r\n\x05\x06\x00\x02\x08\x02\x12\x04\xc8\x01 @\n\r\n\x05\x06\x00\x02\x08\x03\x12\x04\xc8\x01Ke\n\r\n\x05\x06\x00\x02\x08\x04\x12\x04\xc9\x01\x04F\n\x11\n\t\x06\x00\x02\x08\x04\xb0\xca\xbc\"\x12\x04\xc9\x01\x04F\n\x91\x01\n\x04\x06\x00\x02\t\x12\x06\xce\x01\x02\xd0\x01\x03\x1a\x80\x01 Get the whole v2 reward merkle tree at a height and view, in the serialized form the\n merklized-state reward tree route serves\n\n\r\n\x05\x06\x00\x02\t\x01\x12\x04\xce\x01\x06\"\n\r\n\x05\x06\x00\x02\t\x02\x12\x04\xce\x01#F\n\r\n\x05\x06\x00\x02\t\x03\x12\x04\xce\x01Qk\n\r\n\x05\x06\x00\x02\t\x04\x12\x04\xcf\x01\x04J\n\x11\n\t\x06\x00\x02\t\x04\xb0\xca\xbc\"\x12\x04\xcf\x01\x04J\n6\n\x04\x06\x00\x02\n\x12\x06\xd3\x01\x02\xd5\x01\x03\x1a& Get the certificate closing an epoch\n\n\r\n\x05\x06\x00\x02\n\x01\x12\x04\xd3\x01\x06\x19\n\r\n\x05\x06\x00\x02\n\x02\x12\x04\xd3\x01\x1a4\n\r\n\x05\x06\x00\x02\n\x03\x12\x04\xd3\x01?R\n\r\n\x05\x06\x00\x02\n\x04\x12\x04\xd4\x01\x04?\n\x11\n\t\x06\x00\x02\n\x04\xb0\xca\xbc\"\x12\x04\xd4\x01\x04?b\x06proto3\n\xe9\xbe\x01\n\x0fv2/config.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x0fv2/common.proto\"\x19\n\x17GetHotshotConfigRequest\"\xa0\x0e\n\x15HotshotConfigResponse\x12:\n\x19start_threshold_numerator\x18\x01 \x01(\x04R\x17startThresholdNumerator\x12>\n\x1bstart_threshold_denominator\x18\x02 \x01(\x04R\x19startThresholdDenominator\x12/\n\x14num_nodes_with_stake\x18\x03 \x01(\x04R\x11numNodesWithStake\x127\n\x18da_staked_committee_size\x18\x04 \x01(\x04R\x15daStakedCommitteeSize\x12/\n\x14next_view_timeout_ms\x18\x05 \x01(\x04R\x11nextViewTimeoutMs\x12/\n\x14view_sync_timeout_ms\x18\x06 \x01(\x04R\x11viewSyncTimeoutMs\x12,\n\x12builder_timeout_ms\x18\x07 \x01(\x04R\x10builderTimeoutMs\x121\n\x15data_request_delay_ms\x18\x08 \x01(\x04R\x12dataRequestDelayMs\x12!\n\x0cbuilder_urls\x18\t \x03(\tR\x0bbuilderUrls\x120\n\x14start_proposing_view\x18\n \x01(\x04R\x12startProposingView\x12.\n\x13stop_proposing_view\x18\x0b \x01(\x04R\x11stopProposingView\x12*\n\x11start_voting_view\x18\x0c \x01(\x04R\x0fstartVotingView\x12(\n\x10stop_voting_view\x18\r \x01(\x04R\x0estopVotingView\x120\n\x14start_proposing_time\x18\x0e \x01(\x04R\x12startProposingTime\x12.\n\x13stop_proposing_time\x18\x0f \x01(\x04R\x11stopProposingTime\x12*\n\x11start_voting_time\x18\x10 \x01(\x04R\x0fstartVotingTime\x12(\n\x10stop_voting_time\x18\x11 \x01(\x04R\x0estopVotingTime\x12!\n\x0cepoch_height\x18\x12 \x01(\x04R\x0bepochHeight\x12*\n\x11epoch_start_block\x18\x13 \x01(\x04R\x0fepochStartBlock\x120\n\x14stake_table_capacity\x18\x14 \x01(\x04R\x12stakeTableCapacity\x12%\n\x0edrb_difficulty\x18\x15 \x01(\x04R\rdrbDifficulty\x124\n\x16drb_upgrade_difficulty\x18\x16 \x01(\x04R\x14drbUpgradeDifficulty\x12P\n\x16known_nodes_with_stake\x18\x17 \x03(\x0b2\x1b.espresso.api.v2.PeerConfigR\x13knownNodesWithStake\x12A\n\x0eknown_da_nodes\x18\x18 \x03(\x0b2\x1b.espresso.api.v2.PeerConfigR\x0cknownDaNodes\x12J\n\rda_committees\x18\x19 \x03(\x0b2%.espresso.api.v2.VersionedDaCommitteeR\x0cdaCommittees\x125\n\x17fixed_leader_for_gpuvid\x18\x1a \x01(\x04R\x14fixedLeaderForGpuvid\x12#\n\rnum_bootstrap\x18\x1b \x01(\x04R\x0cnumBootstrap\x12\x1d\n\ncommit_sha\x18\x1c \x01(\tR\tcommitSha\x12\x1d\n\nindexed_da\x18\x1d \x01(\x08R\tindexedDa\x127\n\x13cdn_marshal_address\x18\x1e \x01(\tB\x02\x18\x01H\x00R\x11cdnMarshalAddress\x88\x01\x01\x12R\n\rlibp2p_config\x18\x1f \x01(\x0b2$.espresso.api.v2.Libp2pNetworkConfigB\x02\x18\x01H\x01R\x0clibp2pConfig\x88\x01\x01\x12g\n\x17combined_network_config\x18 \x01(\x0b2&.espresso.api.v2.CombinedNetworkConfigB\x02\x18\x01H\x02R\x15combinedNetworkConfig\x88\x01\x01\x126\n\x07builder\x18! \x01(\x0e2\x1c.espresso.api.v2.BuilderTypeR\x07builderB\x16\n\x14_cdn_marshal_addressB\x10\n\x0e_libp2p_configB\x1a\n\x18_combined_network_config\"\x97\x01\n\x14VersionedDaCommittee\x12#\n\rstart_version\x18\x01 \x01(\tR\x0cstartVersion\x12\x1f\n\x0bstart_epoch\x18\x02 \x01(\x04R\nstartEpoch\x129\n\tcommittee\x18\x03 \x03(\x0b2\x1b.espresso.api.v2.PeerConfigR\tcommittee\"P\n\x13Libp2pBootstrapNode\x12\x17\n\x07peer_id\x18\x01 \x01(\tR\x06peerId\x12\x1c\n\tmultiaddr\x18\x02 \x01(\tR\tmultiaddr:\x02\x18\x01\"h\n\x13Libp2pNetworkConfig\x12M\n\x0fbootstrap_nodes\x18\x01 \x03(\x0b2$.espresso.api.v2.Libp2pBootstrapNodeR\x0ebootstrapNodes:\x02\x18\x01\"G\n\x15CombinedNetworkConfig\x12*\n\x11delay_duration_ms\x18\x01 \x01(\x04R\x0fdelayDurationMs:\x02\x18\x01\"\x0f\n\rGetEnvRequest\"2\n\x06EnvVar\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"D\n\x0bEnvResponse\x125\n\tvariables\x18\x01 \x03(\x0b2\x17.espresso.api.v2.EnvVarR\tvariables\"\x19\n\x17GetRuntimeConfigRequest\"\xa6\x07\n\x0cNodeIdentity\x12 \n\tnode_name\x18\x01 \x01(\tH\x00R\x08nodeName\x88\x01\x01\x12.\n\x10node_description\x18\x02 \x01(\tH\x01R\x0fnodeDescription\x88\x01\x01\x12&\n\x0ccompany_name\x18\x03 \x01(\tH\x02R\x0bcompanyName\x88\x01\x01\x12,\n\x0fcompany_website\x18\x04 \x01(\tH\x03R\x0ecompanyWebsite\x88\x01\x01\x12&\n\x0ccountry_code\x18\x05 \x01(\tH\x04R\x0bcountryCode\x88\x01\x01\x12\x1f\n\x08latitude\x18\x06 \x01(\x01H\x05R\x08latitude\x88\x01\x01\x12!\n\tlongitude\x18\x07 \x01(\x01H\x06R\tlongitude\x88\x01\x01\x12.\n\x10operating_system\x18\x08 \x01(\tH\x07R\x0foperatingSystem\x88\x01\x01\x12 \n\tnode_type\x18\t \x01(\tH\x08R\x08nodeType\x88\x01\x01\x12&\n\x0cnetwork_type\x18\n \x01(\tH\tR\x0bnetworkType\x88\x01\x01\x12\'\n\ricon_14x14_1x\x18\x0b \x01(\tH\nR\x0bicon14x141x\x88\x01\x01\x12\'\n\ricon_14x14_2x\x18\x0c \x01(\tH\x0bR\x0bicon14x142x\x88\x01\x01\x12\'\n\ricon_14x14_3x\x18\r \x01(\tH\x0cR\x0bicon14x143x\x88\x01\x01\x12\'\n\ricon_24x24_1x\x18\x0e \x01(\tH\rR\x0bicon24x241x\x88\x01\x01\x12\'\n\ricon_24x24_2x\x18\x0f \x01(\tH\x0eR\x0bicon24x242x\x88\x01\x01\x12\'\n\ricon_24x24_3x\x18\x10 \x01(\tH\x0fR\x0bicon24x243x\x88\x01\x01B\x0c\n\n_node_nameB\x13\n\x11_node_descriptionB\x0f\n\r_company_nameB\x12\n\x10_company_websiteB\x0f\n\r_country_codeB\x0b\n\t_latitudeB\x0c\n\n_longitudeB\x13\n\x11_operating_systemB\x0c\n\n_node_typeB\x0f\n\r_network_typeB\x10\n\x0e_icon_14x14_1xB\x10\n\x0e_icon_14x14_2xB\x10\n\x0e_icon_14x14_3xB\x10\n\x0e_icon_24x24_1xB\x10\n\x0e_icon_24x24_2xB\x10\n\x0e_icon_24x24_3x\"Y\n\tFsStorage\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x128\n\x18consensus_view_retention\x18\x02 \x01(\x04R\x16consensusViewRetention\"\xb2\x03\n\rPruningConfig\x120\n\x11pruning_threshold\x18\x01 \x01(\x04H\x00R\x10pruningThreshold\x88\x01\x01\x125\n\x14minimum_retention_ms\x18\x02 \x01(\x04H\x01R\x12minimumRetentionMs\x88\x01\x01\x123\n\x13target_retention_ms\x18\x03 \x01(\x04H\x02R\x11targetRetentionMs\x88\x01\x01\x12\"\n\nbatch_size\x18\x04 \x01(\x04H\x03R\tbatchSize\x88\x01\x01\x12 \n\tmax_usage\x18\x05 \x01(\rH\x04R\x08maxUsage\x88\x01\x01\x12$\n\x0binterval_ms\x18\x06 \x01(\x04H\x05R\nintervalMs\x88\x01\x01\x12\x19\n\x05pages\x18\x07 \x01(\x04H\x06R\x05pages\x88\x01\x01B\x14\n\x12_pruning_thresholdB\x17\n\x15_minimum_retention_msB\x16\n\x14_target_retention_msB\r\n\x0b_batch_sizeB\x0c\n\n_max_usageB\x0e\n\x0c_interval_msB\x08\n\x06_pages\"\x93\x01\n\x16ConsensusPruningConfig\x12)\n\x10target_retention\x18\x01 \x01(\x04R\x0ftargetRetention\x12+\n\x11minimum_retention\x18\x02 \x01(\x04R\x10minimumRetention\x12!\n\x0ctarget_usage\x18\x03 \x01(\x04R\x0btargetUsage\"\xc8\n\n\nSqlStorage\x12\x14\n\x05prune\x18\x01 \x01(\x08R\x05prune\x12\x18\n\x07archive\x18\x02 \x01(\x08R\x07archive\x12 \n\x0blightweight\x18\x03 \x01(\x08R\x0blightweight\x12<\n\x1adisable_proactive_fetching\x18\x04 \x01(\x08R\x18disableProactiveFetching\x12-\n\x10fetch_rate_limit\x18\x05 \x01(\x04H\x00R\x0efetchRateLimit\x88\x01\x01\x126\n\x15active_fetch_delay_ms\x18\x06 \x01(\x04H\x01R\x12activeFetchDelayMs\x88\x01\x01\x124\n\x14chunk_fetch_delay_ms\x18\x07 \x01(\x04H\x02R\x11chunkFetchDelayMs\x88\x01\x01\x128\n\x16sync_status_chunk_size\x18\x08 \x01(\x04H\x03R\x13syncStatusChunkSize\x88\x01\x01\x120\n\x12sync_status_ttl_ms\x18\t \x01(\x04H\x04R\x0fsyncStatusTtlMs\x88\x01\x01\x12>\n\x19proactive_scan_chunk_size\x18\n \x01(\x04H\x05R\x16proactiveScanChunkSize\x88\x01\x01\x12@\n\x1aproactive_scan_interval_ms\x18\x0b \x01(\x04H\x06R\x17proactiveScanIntervalMs\x88\x01\x01\x12;\n\x1aidle_connection_timeout_ms\x18\x0c \x01(\x04R\x17idleConnectionTimeoutMs\x122\n\x15connection_timeout_ms\x18\r \x01(\x04R\x13connectionTimeoutMs\x12=\n\x1bslow_statement_threshold_ms\x18\x0e \x01(\x04R\x18slowStatementThresholdMs\x120\n\x14statement_timeout_ms\x18\x0f \x01(\x04R\x12statementTimeoutMs\x12\'\n\x0fmin_connections\x18\x10 \x01(\rR\x0eminConnections\x12\'\n\x0fmax_connections\x18\x11 \x01(\rR\x0emaxConnections\x127\n\x15query_min_connections\x18\x12 \x01(\rH\x07R\x13queryMinConnections\x88\x01\x01\x127\n\x15query_max_connections\x18\x13 \x01(\rH\x08R\x13queryMaxConnections\x88\x01\x01\x128\n\x07pruning\x18\x14 \x01(\x0b2\x1e.espresso.api.v2.PruningConfigR\x07pruning\x12T\n\x11consensus_pruning\x18\x15 \x01(\x0b2\'.espresso.api.v2.ConsensusPruningConfigR\x10consensusPruningB\x13\n\x11_fetch_rate_limitB\x18\n\x16_active_fetch_delay_msB\x17\n\x15_chunk_fetch_delay_msB\x19\n\x17_sync_status_chunk_sizeB\x15\n\x13_sync_status_ttl_msB\x1c\n\x1a_proactive_scan_chunk_sizeB\x1d\n\x1b_proactive_scan_interval_msB\x18\n\x16_query_min_connectionsB\x18\n\x16_query_max_connections\"\xbc\x01\n\x0bNodeStorage\x129\n\x07backend\x18\x01 \x01(\x0e2\x1f.espresso.api.v2.StorageBackendR\x07backend\x12/\n\x02fs\x18\x02 \x01(\x0b2\x1a.espresso.api.v2.FsStorageH\x00R\x02fs\x88\x01\x01\x122\n\x03sql\x18\x03 \x01(\x0b2\x1b.espresso.api.v2.SqlStorageH\x01R\x03sql\x88\x01\x01B\x05\n\x03_fsB\x06\n\x04_sql\"\x95\x01\n\nHttpModule\x12\x12\n\x04port\x18\x01 \x01(\rR\x04port\x12,\n\x0fmax_connections\x18\x02 \x01(\x04H\x00R\x0emaxConnections\x88\x01\x01\x12\"\n\ntonic_port\x18\x03 \x01(\rH\x01R\ttonicPort\x88\x01\x01B\x12\n\x10_max_connectionsB\r\n\x0b_tonic_port\"V\n\x18LightClientModuleOptions\x12:\n\x1anum_stake_tables_in_memory\x18\x01 \x01(\x04R\x16numStakeTablesInMemory\"\x88\x01\n\x14LightClientDbOptions\x12\'\n\x0fnum_connections\x18\x01 \x01(\rR\x0enumConnections\x12\x1d\n\nnum_leaves\x18\x02 \x01(\rR\tnumLeaves\x12\x1c\n\x07lc_path\x18\x03 \x01(\tH\x00R\x06lcPath\x88\x01\x01B\n\n\x08_lc_path\"\xc0\x01\n\x0bQueryModule\x12\x14\n\x05peers\x18\x01 \x03(\tR\x05peers\x12L\n\x0clight_client\x18\x02 \x01(\x0b2).espresso.api.v2.LightClientModuleOptionsR\x0blightClient\x12M\n\x0flight_client_db\x18\x03 \x01(\x0b2%.espresso.api.v2.LightClientDbOptionsR\rlightClientDb\"\xd6\x02\n\nApiModules\x124\n\x04http\x18\x01 \x01(\x0b2\x1b.espresso.api.v2.HttpModuleH\x00R\x04http\x88\x01\x01\x127\n\x05query\x18\x02 \x01(\x0b2\x1c.espresso.api.v2.QueryModuleH\x01R\x05query\x88\x01\x01\x12\x16\n\x06submit\x18\x03 \x01(\x08R\x06submit\x12\x16\n\x06status\x18\x04 \x01(\x08R\x06status\x12\x18\n\x07catchup\x18\x05 \x01(\x08R\x07catchup\x12\x16\n\x06config\x18\x06 \x01(\x08R\x06config\x12%\n\x0ehotshot_events\x18\x07 \x01(\x08R\rhotshotEvents\x12\x1a\n\x08explorer\x18\x08 \x01(\x08R\x08explorer\x12!\n\x0clight_client\x18\t \x01(\x08R\x0blightClientB\x07\n\x05_httpB\x08\n\x06_query\"i\n\x0eFollowerModule\x12(\n\x10poll_interval_ms\x18\x01 \x01(\x04R\x0epollIntervalMs\x12-\n\x13max_blocks_per_poll\x18\x02 \x01(\x04R\x10maxBlocksPerPoll\"\xba\x08\n\x15RuntimeConfigResponse\x12\x13\n\x05is_da\x18\x01 \x01(\x08R\x04isDa\x129\n\x08identity\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.NodeIdentityR\x08identity\x126\n\x07storage\x18\x03 \x01(\x0b2\x1c.espresso.api.v2.NodeStorageR\x07storage\x12!\n\x0cgenesis_file\x18\x04 \x01(\tR\x0bgenesisFile\x12)\n\x0epublic_api_url\x18\x05 \x01(\tH\x00R\x0cpublicApiUrl\x88\x01\x01\x12!\n\x0cbuilder_urls\x18\x06 \x03(\tR\x0bbuilderUrls\x123\n\x16state_relay_server_url\x18\x07 \x01(\tR\x13stateRelayServerUrl\x12\x1f\n\x0bstate_peers\x18\x08 \x03(\tR\nstatePeers\x12!\n\x0cconfig_peers\x18\t \x03(\tR\x0bconfigPeers\x12)\n\x10orchestrator_url\x18\n \x01(\tR\x0forchestratorUrl\x12%\n\x0ccdn_endpoint\x18\x0b \x01(\tB\x02\x18\x01R\x0bcdnEndpoint\x124\n\x16cliquenet_bind_address\x18\x0c \x01(\tR\x14cliquenetBindAddress\x12C\n\x1bcliquenet_advertise_address\x18\r \x01(\tH\x01R\x19cliquenetAdvertiseAddress\x88\x01\x01\x122\n\x13libp2p_bind_address\x18\x0e \x01(\tB\x02\x18\x01R\x11libp2pBindAddress\x12A\n\x18libp2p_advertise_address\x18\x0f \x01(\tB\x02\x18\x01H\x02R\x16libp2pAdvertiseAddress\x88\x01\x01\x128\n\x16libp2p_bootstrap_nodes\x18\x10 \x03(\tB\x02\x18\x01R\x14libp2pBootstrapNodes\x12*\n\x11l1_provider_count\x18\x11 \x01(\x04R\x0fl1ProviderCount\x12/\n\x14l1_ws_provider_count\x18\x12 \x01(\x04R\x11l1WsProviderCount\x125\n\x07modules\x18\x13 \x01(\x0b2\x1b.espresso.api.v2.ApiModulesR\x07modules\x12@\n\x08follower\x18\x14 \x01(\x0b2\x1f.espresso.api.v2.FollowerModuleH\x03R\x08follower\x88\x01\x01B\x11\n\x0f_public_api_urlB\x1e\n\x1c_cliquenet_advertise_addressB\x1b\n\x19_libp2p_advertise_addressB\x0b\n\t_follower*x\n\x0bBuilderType\x12\x1c\n\x18BUILDER_TYPE_UNSPECIFIED\x10\x00\x12\x19\n\x15BUILDER_TYPE_EXTERNAL\x10\x01\x12\x17\n\x13BUILDER_TYPE_SIMPLE\x10\x02\x12\x17\n\x13BUILDER_TYPE_RANDOM\x10\x03*\x82\x01\n\x0eStorageBackend\x12\x1f\n\x1bSTORAGE_BACKEND_UNSPECIFIED\x10\x00\x12\x17\n\x13STORAGE_BACKEND_SQL\x10\x01\x12\x16\n\x12STORAGE_BACKEND_FS\x10\x02\x12\x1e\n\x1aSTORAGE_BACKEND_FS_DEFAULT\x10\x032\xf5\x02\n\rConfigService\x12\x80\x01\n\x10GetHotshotConfig\x12(.espresso.api.v2.GetHotshotConfigRequest\x1a&.espresso.api.v2.HotshotConfigResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v2/config/hotshot\x12^\n\x06GetEnv\x12\x1e.espresso.api.v2.GetEnvRequest\x1a\x1c.espresso.api.v2.EnvResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v2/config/env\x12\x80\x01\n\x10GetRuntimeConfig\x12(.espresso.api.v2.GetRuntimeConfigRequest\x1a&.espresso.api.v2.RuntimeConfigResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v2/config/runtimeJ\xfb|\n\x07\x12\x05\x00\x00\xbc\x03\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x19\n\t\n\x02\x04\x00\x12\x03\x07\x00\"\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x1f\n\xb0\x06\n\x02\x04\x01\x12\x04\x15\x00o\x01\x1a\xa3\x06 The consensus parameters this node runs with.\n\n v1 wraps these in the orchestrator\'s `NetworkConfig`, which repeats several of the timings and\n the bootstrap count at the outer level with the values the orchestrator was configured with\n rather than the ones consensus runs on. Only the operative values are served here. Also not\n carried over: the orchestrator\'s own run parameters (`seed`, `node_index`, `rounds`,\n `transactions_per_round`, `transaction_size`, `random_builder`), its masked\n `manual_start_password`, and `key_type_name`, which names a Rust type.\n\n In the four upgrade windows below, a stop at or before its start means this node does not\n propose, or does not vote for, the upgrade at all. A time bound of 0 or 18446744073709551615\n (u64::MAX) means the window is not bounded in time\n\n\n\n\x03\x04\x01\x01\x12\x03\x15\x08\x1d\n\xc0\x01\n\x04\x04\x01\x02\x00\x12\x03\x18\x02\'\x1a\xb2\x01 Fraction of nodes, by count rather than by stake, that the orchestrator waits for before\n signalling the start of consensus. Nodes joining through config peers never consult it\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x18\t\"\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x18%&\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x1a\x02)\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x1a\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1a\t$\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1a\'(\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x1c\x02\"\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x1c\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x1c\t\x1d\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1c !\n\x0b\n\x04\x04\x01\x02\x03\x12\x03\x1e\x02&\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x1e\t!\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x1e$%\n\x0b\n\x04\x04\x01\x02\x04\x12\x03 \x02\"\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03 \x02\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03 \t\x1d\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03 !\n\x0b\n\x04\x04\x01\x02\x05\x12\x03\"\x02\"\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03\"\x02\x08\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03\"\t\x1d\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03\" !\nX\n\x04\x04\x01\x02\x06\x12\x03%\x02 \x1aK Longest a leader waits for a builder\'s block before proposing without one\n\n\x0c\n\x05\x04\x01\x02\x06\x05\x12\x03%\x02\x08\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03%\t\x1b\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03%\x1e\x1f\nK\n\x04\x04\x01\x02\x07\x12\x03(\x02#\x1a> Wait before requesting the data behind a proposal from peers\n\n\x0c\n\x05\x04\x01\x02\x07\x05\x12\x03(\x02\x08\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03(\t\x1e\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03(!\"\nc\n\x04\x04\x01\x02\x08\x12\x03+\x02#\x1aV Builders consensus runs with: `--builder-urls` when given, else the network config\'s\n\n\x0c\n\x05\x04\x01\x02\x08\x04\x12\x03+\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x05\x12\x03+\x0b\x11\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03+\x12\x1e\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03+!\"\nE\n\x04\x04\x01\x02\t\x12\x03.\x02#\x1a8 View from which this node proposes a consensus upgrade\n\n\x0c\n\x05\x04\x01\x02\t\x05\x12\x03.\x02\x08\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03.\t\x1d\n\x0c\n\x05\x04\x01\x02\t\x03\x12\x03. \"\n\x0b\n\x04\x04\x01\x02\n\x12\x030\x02\"\n\x0c\n\x05\x04\x01\x02\n\x05\x12\x030\x02\x08\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x030\t\x1c\n\x0c\n\x05\x04\x01\x02\n\x03\x12\x030\x1f!\nF\n\x04\x04\x01\x02\x0b\x12\x033\x02 \x1a9 View from which this node votes for a consensus upgrade\n\n\x0c\n\x05\x04\x01\x02\x0b\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x01\x02\x0b\x01\x12\x033\t\x1a\n\x0c\n\x05\x04\x01\x02\x0b\x03\x12\x033\x1d\x1f\n\x0b\n\x04\x04\x01\x02\x0c\x12\x035\x02\x1f\n\x0c\n\x05\x04\x01\x02\x0c\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x01\x02\x0c\x01\x12\x035\t\x19\n\x0c\n\x05\x04\x01\x02\x0c\x03\x12\x035\x1c\x1e\nM\n\x04\x04\x01\x02\r\x12\x038\x02#\x1a@ Unix seconds from which this node proposes a consensus upgrade\n\n\x0c\n\x05\x04\x01\x02\r\x05\x12\x038\x02\x08\n\x0c\n\x05\x04\x01\x02\r\x01\x12\x038\t\x1d\n\x0c\n\x05\x04\x01\x02\r\x03\x12\x038 \"\n\x1b\n\x04\x04\x01\x02\x0e\x12\x03;\x02\"\x1a\x0e Unix seconds\n\n\x0c\n\x05\x04\x01\x02\x0e\x05\x12\x03;\x02\x08\n\x0c\n\x05\x04\x01\x02\x0e\x01\x12\x03;\t\x1c\n\x0c\n\x05\x04\x01\x02\x0e\x03\x12\x03;\x1f!\nN\n\x04\x04\x01\x02\x0f\x12\x03>\x02 \x1aA Unix seconds from which this node votes for a consensus upgrade\n\n\x0c\n\x05\x04\x01\x02\x0f\x05\x12\x03>\x02\x08\n\x0c\n\x05\x04\x01\x02\x0f\x01\x12\x03>\t\x1a\n\x0c\n\x05\x04\x01\x02\x0f\x03\x12\x03>\x1d\x1f\n\x1b\n\x04\x04\x01\x02\x10\x12\x03A\x02\x1f\x1a\x0e Unix seconds\n\n\x0c\n\x05\x04\x01\x02\x10\x05\x12\x03A\x02\x08\n\x0c\n\x05\x04\x01\x02\x10\x01\x12\x03A\t\x19\n\x0c\n\x05\x04\x01\x02\x10\x03\x12\x03A\x1c\x1e\n;\n\x04\x04\x01\x02\x11\x12\x03D\x02\x1b\x1a. Blocks per epoch; zero before proof of stake\n\n\x0c\n\x05\x04\x01\x02\x11\x05\x12\x03D\x02\x08\n\x0c\n\x05\x04\x01\x02\x11\x01\x12\x03D\t\x15\n\x0c\n\x05\x04\x01\x02\x11\x03\x12\x03D\x18\x1a\n\x0b\n\x04\x04\x01\x02\x12\x12\x03F\x02 \n\x0c\n\x05\x04\x01\x02\x12\x05\x12\x03F\x02\x08\n\x0c\n\x05\x04\x01\x02\x12\x01\x12\x03F\t\x1a\n\x0c\n\x05\x04\x01\x02\x12\x03\x12\x03F\x1d\x1f\nE\n\x04\x04\x01\x02\x13\x12\x03I\x02#\x1a8 Stake table size the light-client circuit is built for\n\n\x0c\n\x05\x04\x01\x02\x13\x05\x12\x03I\x02\x08\n\x0c\n\x05\x04\x01\x02\x13\x01\x12\x03I\t\x1d\n\x0c\n\x05\x04\x01\x02\x13\x03\x12\x03I \"\n0\n\x04\x04\x01\x02\x14\x12\x03L\x02\x1d\x1a# Iterations of the DRB computation\n\n\x0c\n\x05\x04\x01\x02\x14\x05\x12\x03L\x02\x08\n\x0c\n\x05\x04\x01\x02\x14\x01\x12\x03L\t\x17\n\x0c\n\x05\x04\x01\x02\x14\x03\x12\x03L\x1a\x1c\nF\n\x04\x04\x01\x02\x15\x12\x03O\x02%\x1a9 Iterations of the DRB computation after the DRB upgrade\n\n\x0c\n\x05\x04\x01\x02\x15\x05\x12\x03O\x02\x08\n\x0c\n\x05\x04\x01\x02\x15\x01\x12\x03O\t\x1f\n\x0c\n\x05\x04\x01\x02\x15\x03\x12\x03O\"$\n\xb6\x01\n\x04\x04\x01\x02\x16\x12\x03S\x022\x1a\xa8\x01 Every node the network was started with, with its stake and network address. The live stake\n table is served by `/v2/node/stake-table`; this is the genesis membership\n\n\x0c\n\x05\x04\x01\x02\x16\x04\x12\x03S\x02\n\n\x0c\n\x05\x04\x01\x02\x16\x06\x12\x03S\x0b\x15\n\x0c\n\x05\x04\x01\x02\x16\x01\x12\x03S\x16,\n\x0c\n\x05\x04\x01\x02\x16\x03\x12\x03S/1\n\x0b\n\x04\x04\x01\x02\x17\x12\x03U\x02*\n\x0c\n\x05\x04\x01\x02\x17\x04\x12\x03U\x02\n\n\x0c\n\x05\x04\x01\x02\x17\x06\x12\x03U\x0b\x15\n\x0c\n\x05\x04\x01\x02\x17\x01\x12\x03U\x16$\n\x0c\n\x05\x04\x01\x02\x17\x03\x12\x03U\')\nS\n\x04\x04\x01\x02\x18\x12\x03X\x023\x1aF DA committee overrides that take effect at a given version and epoch\n\n\x0c\n\x05\x04\x01\x02\x18\x04\x12\x03X\x02\n\n\x0c\n\x05\x04\x01\x02\x18\x06\x12\x03X\x0b\x1f\n\x0c\n\x05\x04\x01\x02\x18\x01\x12\x03X -\n\x0c\n\x05\x04\x01\x02\x18\x03\x12\x03X02\n\x0b\n\x04\x04\x01\x02\x19\x12\x03Z\x02&\n\x0c\n\x05\x04\x01\x02\x19\x05\x12\x03Z\x02\x08\n\x0c\n\x05\x04\x01\x02\x19\x01\x12\x03Z\t \n\x0c\n\x05\x04\x01\x02\x19\x03\x12\x03Z#%\nB\n\x04\x04\x01\x02\x1a\x12\x03]\x02\x1c\x1a5 How many bootstrap nodes this node dials on startup\n\n\x0c\n\x05\x04\x01\x02\x1a\x05\x12\x03]\x02\x08\n\x0c\n\x05\x04\x01\x02\x1a\x01\x12\x03]\t\x16\n\x0c\n\x05\x04\x01\x02\x1a\x03\x12\x03]\x19\x1b\nQ\n\x04\x04\x01\x02\x1b\x12\x03`\x02\x19\x1aD Git SHA the node was built from; empty when the build stamped none\n\n\x0c\n\x05\x04\x01\x02\x1b\x05\x12\x03`\x02\x08\n\x0c\n\x05\x04\x01\x02\x1b\x01\x12\x03`\t\x13\n\x0c\n\x05\x04\x01\x02\x1b\x03\x12\x03`\x16\x18\nj\n\x04\x04\x01\x02\x1c\x12\x03c\x02\x17\x1a] When true the first nodes to register form the DA committee; when false a node asks to join\n\n\x0c\n\x05\x04\x01\x02\x1c\x05\x12\x03c\x02\x06\n\x0c\n\x05\x04\x01\x02\x1c\x01\x12\x03c\x07\x11\n\x0c\n\x05\x04\x01\x02\x1c\x03\x12\x03c\x14\x16\ni\n\x04\x04\x01\x02\x1d\x12\x03f\x02?\x1a\\ Always absent: the CDN marshal went with the networks consensus ran on before protocol 0.6\n\n\x0c\n\x05\x04\x01\x02\x1d\x04\x12\x03f\x02\n\n\x0c\n\x05\x04\x01\x02\x1d\x05\x12\x03f\x0b\x11\n\x0c\n\x05\x04\x01\x02\x1d\x01\x12\x03f\x12%\n\x0c\n\x05\x04\x01\x02\x1d\x03\x12\x03f(*\n\x0c\n\x05\x04\x01\x02\x1d\x08\x12\x03f+>\n\r\n\x06\x04\x01\x02\x1d\x08\x03\x12\x03f,=\n`\n\x04\x04\x01\x02\x1e\x12\x03i\x02F\x1aS Always absent: libp2p went with the networks consensus ran on before protocol 0.6\n\n\x0c\n\x05\x04\x01\x02\x1e\x04\x12\x03i\x02\n\n\x0c\n\x05\x04\x01\x02\x1e\x06\x12\x03i\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x1e\x01\x12\x03i\x1f,\n\x0c\n\x05\x04\x01\x02\x1e\x03\x12\x03i/1\n\x0c\n\x05\x04\x01\x02\x1e\x08\x12\x03i2E\n\r\n\x06\x04\x01\x02\x1e\x08\x03\x12\x03i3D\nn\n\x04\x04\x01\x02\x1f\x12\x03l\x02R\x1aa Always absent: the combined network went with the networks consensus ran on before protocol 0.6\n\n\x0c\n\x05\x04\x01\x02\x1f\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x01\x02\x1f\x06\x12\x03l\x0b \n\x0c\n\x05\x04\x01\x02\x1f\x01\x12\x03l!8\n\x0c\n\x05\x04\x01\x02\x1f\x03\x12\x03l;=\n\x0c\n\x05\x04\x01\x02\x1f\x08\x12\x03l>Q\n\r\n\x06\x04\x01\x02\x1f\x08\x03\x12\x03l?P\n\x0b\n\x04\x04\x01\x02 \x12\x03n\x02\x1b\n\x0c\n\x05\x04\x01\x02 \x06\x12\x03n\x02\r\n\x0c\n\x05\x04\x01\x02 \x01\x12\x03n\x0e\x15\n\x0c\n\x05\x04\x01\x02 \x03\x12\x03n\x18\x1a\n\n\n\x02\x04\x02\x12\x04q\x00x\x01\n\n\n\x03\x04\x02\x01\x12\x03q\x08\x1c\n@\n\x04\x04\x02\x02\x00\x12\x03s\x02\x1b\x1a3 Version the committee takes effect at, e.g. \"0.6\"\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03s\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03s\t\x16\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03s\x19\x1a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03u\x02\x19\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03u\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03u\t\x14\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03u\x17\x18\n\x0b\n\x04\x04\x02\x02\x02\x12\x03w\x02$\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03w\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03w\x0b\x15\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03w\x16\x1f\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03w\"#\nC\n\x02\x04\x03\x12\x05{\x00\x81\x01\x01\x1a6 Never served: kept so `libp2p_config` keeps its type\n\n\n\n\x03\x04\x03\x01\x12\x03{\x08\x1b\n\n\n\x03\x04\x03\x07\x12\x03|\x02\x1b\n\x0b\n\x04\x04\x03\x07\x03\x12\x03|\x02\x1b\n\x0b\n\x04\x04\x03\x02\x00\x12\x03~\x02\x15\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03~\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03~\t\x10\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03~\x13\x14\n\x0c\n\x04\x04\x03\x02\x01\x12\x04\x80\x01\x02\x17\n\r\n\x05\x04\x03\x02\x01\x05\x12\x04\x80\x01\x02\x08\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\x80\x01\t\x12\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\x80\x01\x15\x16\nD\n\x02\x04\x04\x12\x06\x84\x01\x00\x88\x01\x01\x1a6 Never served: kept so `libp2p_config` keeps its type\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x84\x01\x08\x1b\n\x0b\n\x03\x04\x04\x07\x12\x04\x85\x01\x02\x1b\n\x0c\n\x04\x04\x04\x07\x03\x12\x04\x85\x01\x02\x1b\n\x0c\n\x04\x04\x04\x02\x00\x12\x04\x87\x01\x023\n\r\n\x05\x04\x04\x02\x00\x04\x12\x04\x87\x01\x02\n\n\r\n\x05\x04\x04\x02\x00\x06\x12\x04\x87\x01\x0b\x1e\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\x87\x01\x1f.\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\x87\x0112\nN\n\x02\x04\x05\x12\x06\x8b\x01\x00\x90\x01\x01\x1a@ Never served: kept so `combined_network_config` keeps its type\n\n\x0b\n\x03\x04\x05\x01\x12\x04\x8b\x01\x08\x1d\n\x0b\n\x03\x04\x05\x07\x12\x04\x8c\x01\x02\x1b\n\x0c\n\x04\x04\x05\x07\x03\x12\x04\x8c\x01\x02\x1b\nN\n\x04\x04\x05\x02\x00\x12\x04\x8f\x01\x02\x1f\x1a@ Wait before a message also goes out over the secondary network\n\n\r\n\x05\x04\x05\x02\x00\x05\x12\x04\x8f\x01\x02\x08\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\x8f\x01\t\x1a\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\x8f\x01\x1d\x1e\n\x0c\n\x02\x05\x00\x12\x06\x92\x01\x00\x9a\x01\x01\n\x0b\n\x03\x05\x00\x01\x12\x04\x92\x01\x05\x10\n\x0c\n\x04\x05\x00\x02\x00\x12\x04\x93\x01\x02\x1f\n\r\n\x05\x05\x00\x02\x00\x01\x12\x04\x93\x01\x02\x1a\n\r\n\x05\x05\x00\x02\x00\x02\x12\x04\x93\x01\x1d\x1e\n?\n\x04\x05\x00\x02\x01\x12\x04\x95\x01\x02\x1c\x1a1 Blocks come from the builders at `builder_urls`\n\n\r\n\x05\x05\x00\x02\x01\x01\x12\x04\x95\x01\x02\x17\n\r\n\x05\x05\x00\x02\x01\x02\x12\x04\x95\x01\x1a\x1b\n.\n\x04\x05\x00\x02\x02\x12\x04\x97\x01\x02\x1a\x1a Each node runs its own builder\n\n\r\n\x05\x05\x00\x02\x02\x01\x12\x04\x97\x01\x02\x15\n\r\n\x05\x05\x00\x02\x02\x02\x12\x04\x97\x01\x18\x19\nJ\n\x04\x05\x00\x02\x03\x12\x04\x99\x01\x02\x1a\x1a< Each node runs a builder that produces random transactions\n\n\r\n\x05\x05\x00\x02\x03\x01\x12\x04\x99\x01\x02\x15\n\r\n\x05\x05\x00\x02\x03\x02\x12\x04\x99\x01\x18\x19\n\n\n\x02\x04\x06\x12\x04\x9c\x01\x00\x18\n\x0b\n\x03\x04\x06\x01\x12\x04\x9c\x01\x08\x15\n\x0c\n\x02\x04\x07\x12\x06\x9e\x01\x00\xa3\x01\x01\n\x0b\n\x03\x04\x07\x01\x12\x04\x9e\x01\x08\x0e\n\x0c\n\x04\x04\x07\x02\x00\x12\x04\x9f\x01\x02\x12\n\r\n\x05\x04\x07\x02\x00\x05\x12\x04\x9f\x01\x02\x08\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\x9f\x01\t\r\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\x9f\x01\x10\x11\nX\n\x04\x04\x07\x02\x01\x12\x04\xa2\x01\x02\x13\x1aJ Empty when unset or set to the empty string, which are not distinguished\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xa2\x01\x02\x08\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xa2\x01\t\x0e\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xa2\x01\x11\x12\n\x0c\n\x02\x04\x08\x12\x06\xa5\x01\x00\xa8\x01\x01\n\x0b\n\x03\x04\x08\x01\x12\x04\xa5\x01\x08\x13\nM\n\x04\x04\x08\x02\x00\x12\x04\xa7\x01\x02 \x1a? Only the variables the node\'s public-env-vars.toml allowlists\n\n\r\n\x05\x04\x08\x02\x00\x04\x12\x04\xa7\x01\x02\n\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\xa7\x01\x0b\x11\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\xa7\x01\x12\x1b\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\xa7\x01\x1e\x1f\n\n\n\x02\x04\t\x12\x04\xaa\x01\x00\"\n\x0b\n\x03\x04\t\x01\x12\x04\xaa\x01\x08\x1f\n\x0c\n\x02\x04\n\x12\x06\xac\x01\x00\xcf\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\xac\x01\x08\x14\n\x0c\n\x04\x04\n\x02\x00\x12\x04\xad\x01\x02 \n\r\n\x05\x04\n\x02\x00\x04\x12\x04\xad\x01\x02\n\n\r\n\x05\x04\n\x02\x00\x05\x12\x04\xad\x01\x0b\x11\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xad\x01\x12\x1b\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xad\x01\x1e\x1f\n\x0c\n\x04\x04\n\x02\x01\x12\x04\xaf\x01\x02\'\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\xaf\x01\x02\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xaf\x01\x0b\x11\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xaf\x01\x12\"\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xaf\x01%&\n\x0c\n\x04\x04\n\x02\x02\x12\x04\xb1\x01\x02#\n\r\n\x05\x04\n\x02\x02\x04\x12\x04\xb1\x01\x02\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xb1\x01\x0b\x11\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xb1\x01\x12\x1e\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xb1\x01!\"\n\x0c\n\x04\x04\n\x02\x03\x12\x04\xb3\x01\x02&\n\r\n\x05\x04\n\x02\x03\x04\x12\x04\xb3\x01\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xb3\x01\x0b\x11\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xb3\x01\x12!\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xb3\x01$%\n\"\n\x04\x04\n\x02\x04\x12\x04\xb6\x01\x02#\x1a\x14 ISO 3166-1 alpha-2\n\n\r\n\x05\x04\n\x02\x04\x04\x12\x04\xb6\x01\x02\n\n\r\n\x05\x04\n\x02\x04\x05\x12\x04\xb6\x01\x0b\x11\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xb6\x01\x12\x1e\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xb6\x01!\"\n\x0c\n\x04\x04\n\x02\x05\x12\x04\xb8\x01\x02\x1f\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\xb8\x01\x02\n\n\r\n\x05\x04\n\x02\x05\x05\x12\x04\xb8\x01\x0b\x11\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xb8\x01\x12\x1a\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xb8\x01\x1d\x1e\n\x0c\n\x04\x04\n\x02\x06\x12\x04\xba\x01\x02 \n\r\n\x05\x04\n\x02\x06\x04\x12\x04\xba\x01\x02\n\n\r\n\x05\x04\n\x02\x06\x05\x12\x04\xba\x01\x0b\x11\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\xba\x01\x12\x1b\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xba\x01\x1e\x1f\n\x0c\n\x04\x04\n\x02\x07\x12\x04\xbc\x01\x02\'\n\r\n\x05\x04\n\x02\x07\x04\x12\x04\xbc\x01\x02\n\n\r\n\x05\x04\n\x02\x07\x05\x12\x04\xbc\x01\x0b\x11\n\r\n\x05\x04\n\x02\x07\x01\x12\x04\xbc\x01\x12\"\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\xbc\x01%&\nG\n\x04\x04\n\x02\x08\x12\x04\xbf\x01\x02 \x1a9 Binary name and version unless the operator overrode it\n\n\r\n\x05\x04\n\x02\x08\x04\x12\x04\xbf\x01\x02\n\n\r\n\x05\x04\n\x02\x08\x05\x12\x04\xbf\x01\x0b\x11\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\xbf\x01\x12\x1b\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\xbf\x01\x1e\x1f\n\x0c\n\x04\x04\n\x02\t\x12\x04\xc1\x01\x02$\n\r\n\x05\x04\n\x02\t\x04\x12\x04\xc1\x01\x02\n\n\r\n\x05\x04\n\x02\t\x05\x12\x04\xc1\x01\x0b\x11\n\r\n\x05\x04\n\x02\t\x01\x12\x04\xc1\x01\x12\x1e\n\r\n\x05\x04\n\x02\t\x03\x12\x04\xc1\x01!#\ne\n\x04\x04\n\x02\n\x12\x04\xc4\x01\x02%\x1aW Operator-supplied logos for public dashboards, at two sizes and three pixel densities\n\n\r\n\x05\x04\n\x02\n\x04\x12\x04\xc4\x01\x02\n\n\r\n\x05\x04\n\x02\n\x05\x12\x04\xc4\x01\x0b\x11\n\r\n\x05\x04\n\x02\n\x01\x12\x04\xc4\x01\x12\x1f\n\r\n\x05\x04\n\x02\n\x03\x12\x04\xc4\x01\"$\n\x0c\n\x04\x04\n\x02\x0b\x12\x04\xc6\x01\x02%\n\r\n\x05\x04\n\x02\x0b\x04\x12\x04\xc6\x01\x02\n\n\r\n\x05\x04\n\x02\x0b\x05\x12\x04\xc6\x01\x0b\x11\n\r\n\x05\x04\n\x02\x0b\x01\x12\x04\xc6\x01\x12\x1f\n\r\n\x05\x04\n\x02\x0b\x03\x12\x04\xc6\x01\"$\n\x0c\n\x04\x04\n\x02\x0c\x12\x04\xc8\x01\x02%\n\r\n\x05\x04\n\x02\x0c\x04\x12\x04\xc8\x01\x02\n\n\r\n\x05\x04\n\x02\x0c\x05\x12\x04\xc8\x01\x0b\x11\n\r\n\x05\x04\n\x02\x0c\x01\x12\x04\xc8\x01\x12\x1f\n\r\n\x05\x04\n\x02\x0c\x03\x12\x04\xc8\x01\"$\n\x0c\n\x04\x04\n\x02\r\x12\x04\xca\x01\x02%\n\r\n\x05\x04\n\x02\r\x04\x12\x04\xca\x01\x02\n\n\r\n\x05\x04\n\x02\r\x05\x12\x04\xca\x01\x0b\x11\n\r\n\x05\x04\n\x02\r\x01\x12\x04\xca\x01\x12\x1f\n\r\n\x05\x04\n\x02\r\x03\x12\x04\xca\x01\"$\n\x0c\n\x04\x04\n\x02\x0e\x12\x04\xcc\x01\x02%\n\r\n\x05\x04\n\x02\x0e\x04\x12\x04\xcc\x01\x02\n\n\r\n\x05\x04\n\x02\x0e\x05\x12\x04\xcc\x01\x0b\x11\n\r\n\x05\x04\n\x02\x0e\x01\x12\x04\xcc\x01\x12\x1f\n\r\n\x05\x04\n\x02\x0e\x03\x12\x04\xcc\x01\"$\n\x0c\n\x04\x04\n\x02\x0f\x12\x04\xce\x01\x02%\n\r\n\x05\x04\n\x02\x0f\x04\x12\x04\xce\x01\x02\n\n\r\n\x05\x04\n\x02\x0f\x05\x12\x04\xce\x01\x0b\x11\n\r\n\x05\x04\n\x02\x0f\x01\x12\x04\xce\x01\x12\x1f\n\r\n\x05\x04\n\x02\x0f\x03\x12\x04\xce\x01\"$\n\x0c\n\x02\x05\x01\x12\x06\xd1\x01\x00\xd7\x01\x01\n\x0b\n\x03\x05\x01\x01\x12\x04\xd1\x01\x05\x13\n\x0c\n\x04\x05\x01\x02\x00\x12\x04\xd2\x01\x02\"\n\r\n\x05\x05\x01\x02\x00\x01\x12\x04\xd2\x01\x02\x1d\n\r\n\x05\x05\x01\x02\x00\x02\x12\x04\xd2\x01 !\n\x0c\n\x04\x05\x01\x02\x01\x12\x04\xd3\x01\x02\x1a\n\r\n\x05\x05\x01\x02\x01\x01\x12\x04\xd3\x01\x02\x15\n\r\n\x05\x05\x01\x02\x01\x02\x12\x04\xd3\x01\x18\x19\n\x0c\n\x04\x05\x01\x02\x02\x12\x04\xd4\x01\x02\x19\n\r\n\x05\x05\x01\x02\x02\x01\x12\x04\xd4\x01\x02\x14\n\r\n\x05\x05\x01\x02\x02\x02\x12\x04\xd4\x01\x17\x18\n]\n\x04\x05\x01\x02\x03\x12\x04\xd6\x01\x02!\x1aO Filesystem storage with default settings, used when no storage flag was given\n\n\r\n\x05\x05\x01\x02\x03\x01\x12\x04\xd6\x01\x02\x1c\n\r\n\x05\x05\x01\x02\x03\x02\x12\x04\xd6\x01\x1f \n\x0c\n\x02\x04\x0b\x12\x06\xd9\x01\x00\xdd\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xd9\x01\x08\x11\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\xda\x01\x02\x12\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\xda\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xda\x01\t\r\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xda\x01\x10\x11\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\xdc\x01\x02&\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xdc\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xdc\x01\t!\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xdc\x01$%\nh\n\x02\x04\x0c\x12\x06\xe0\x01\x00\xf2\x01\x01\x1aZ Retention policy for the archival tables. Durations are whole milliseconds, rounded down\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xe0\x01\x08\x15\n@\n\x04\x04\x0c\x02\x00\x12\x04\xe2\x01\x02(\x1a2 Disk usage, in bytes, above which pruning starts\n\n\r\n\x05\x04\x0c\x02\x00\x04\x12\x04\xe2\x01\x02\n\n\r\n\x05\x04\x0c\x02\x00\x05\x12\x04\xe2\x01\x0b\x11\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xe2\x01\x12#\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xe2\x01&\'\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\xe4\x01\x02+\n\r\n\x05\x04\x0c\x02\x01\x04\x12\x04\xe4\x01\x02\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\xe4\x01\x0b\x11\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xe4\x01\x12&\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xe4\x01)*\n\x0c\n\x04\x04\x0c\x02\x02\x12\x04\xe6\x01\x02*\n\r\n\x05\x04\x0c\x02\x02\x04\x12\x04\xe6\x01\x02\n\n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\xe6\x01\x0b\x11\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\xe6\x01\x12%\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xe6\x01()\n\x0c\n\x04\x04\x0c\x02\x03\x12\x04\xe8\x01\x02!\n\r\n\x05\x04\x0c\x02\x03\x04\x12\x04\xe8\x01\x02\n\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\xe8\x01\x0b\x11\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xe8\x01\x12\x1c\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xe8\x01\x1f \n:\n\x04\x04\x0c\x02\x04\x12\x04\xeb\x01\x02 \x1a, Disk usage in basis points, so 8000 is 80%\n\n\r\n\x05\x04\x0c\x02\x04\x04\x12\x04\xeb\x01\x02\n\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\xeb\x01\x0b\x11\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xeb\x01\x12\x1b\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xeb\x01\x1e\x1f\n)\n\x04\x04\x0c\x02\x05\x12\x04\xee\x01\x02\"\x1a\x1b How often the pruner runs\n\n\r\n\x05\x04\x0c\x02\x05\x04\x12\x04\xee\x01\x02\n\n\r\n\x05\x04\x0c\x02\x05\x05\x12\x04\xee\x01\x0b\x11\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xee\x01\x12\x1d\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xee\x01 !\n\\\n\x04\x04\x0c\x02\x06\x12\x04\xf1\x01\x02\x1c\x1aN SQLite pages vacuumed from the freelist per pruner cycle; unused on Postgres\n\n\r\n\x05\x04\x0c\x02\x06\x04\x12\x04\xf1\x01\x02\n\n\r\n\x05\x04\x0c\x02\x06\x05\x12\x04\xf1\x01\x0b\x11\n\r\n\x05\x04\x0c\x02\x06\x01\x12\x04\xf1\x01\x12\x17\n\r\n\x05\x04\x0c\x02\x06\x03\x12\x04\xf1\x01\x1a\x1b\n6\n\x02\x04\r\x12\x06\xf5\x01\x00\xfe\x01\x01\x1a( Retention policy for consensus storage\n\n\x0b\n\x03\x04\r\x01\x12\x04\xf5\x01\x08\x1e\n\x15\n\x04\x04\r\x02\x00\x12\x04\xf7\x01\x02\x1e\x1a\x07 Views\n\n\r\n\x05\x04\r\x02\x00\x05\x12\x04\xf7\x01\x02\x08\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xf7\x01\t\x19\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xf7\x01\x1c\x1d\n\x15\n\x04\x04\r\x02\x01\x12\x04\xfa\x01\x02\x1f\x1a\x07 Views\n\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xfa\x01\x02\x08\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xfa\x01\t\x1a\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xfa\x01\x1d\x1e\nM\n\x04\x04\r\x02\x02\x12\x04\xfd\x01\x02\x1a\x1a? Bytes retained before garbage collection gets more aggressive\n\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xfd\x01\x02\x08\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xfd\x01\t\x15\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xfd\x01\x18\x19\n>\n\x02\x04\x0e\x12\x06\x81\x02\x00\xab\x02\x01\x1a0 Durations are whole milliseconds, rounded down\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\x81\x02\x08\x12\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\x82\x02\x02\x11\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\x82\x02\x02\x06\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x82\x02\x07\x0c\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x82\x02\x0f\x10\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\x84\x02\x02\x13\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\x84\x02\x02\x06\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\x84\x02\x07\x0e\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\x84\x02\x11\x12\n\x0c\n\x04\x04\x0e\x02\x02\x12\x04\x86\x02\x02\x17\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\x86\x02\x02\x06\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\x86\x02\x07\x12\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\x86\x02\x15\x16\n\x0c\n\x04\x04\x0e\x02\x03\x12\x04\x88\x02\x02&\n\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\x88\x02\x02\x06\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\x88\x02\x07!\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\x88\x02$%\n\x0c\n\x04\x04\x0e\x02\x04\x12\x04\x8a\x02\x02\'\n\r\n\x05\x04\x0e\x02\x04\x04\x12\x04\x8a\x02\x02\n\n\r\n\x05\x04\x0e\x02\x04\x05\x12\x04\x8a\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\x8a\x02\x12\"\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\x8a\x02%&\n\x0c\n\x04\x04\x0e\x02\x05\x12\x04\x8c\x02\x02,\n\r\n\x05\x04\x0e\x02\x05\x04\x12\x04\x8c\x02\x02\n\n\r\n\x05\x04\x0e\x02\x05\x05\x12\x04\x8c\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\x8c\x02\x12\'\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\x8c\x02*+\n\x0c\n\x04\x04\x0e\x02\x06\x12\x04\x8e\x02\x02+\n\r\n\x05\x04\x0e\x02\x06\x04\x12\x04\x8e\x02\x02\n\n\r\n\x05\x04\x0e\x02\x06\x05\x12\x04\x8e\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x06\x01\x12\x04\x8e\x02\x12&\n\r\n\x05\x04\x0e\x02\x06\x03\x12\x04\x8e\x02)*\n\x0c\n\x04\x04\x0e\x02\x07\x12\x04\x90\x02\x02-\n\r\n\x05\x04\x0e\x02\x07\x04\x12\x04\x90\x02\x02\n\n\r\n\x05\x04\x0e\x02\x07\x05\x12\x04\x90\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x07\x01\x12\x04\x90\x02\x12(\n\r\n\x05\x04\x0e\x02\x07\x03\x12\x04\x90\x02+,\n\x0c\n\x04\x04\x0e\x02\x08\x12\x04\x92\x02\x02)\n\r\n\x05\x04\x0e\x02\x08\x04\x12\x04\x92\x02\x02\n\n\r\n\x05\x04\x0e\x02\x08\x05\x12\x04\x92\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x08\x01\x12\x04\x92\x02\x12$\n\r\n\x05\x04\x0e\x02\x08\x03\x12\x04\x92\x02\'(\n\x0c\n\x04\x04\x0e\x02\t\x12\x04\x94\x02\x021\n\r\n\x05\x04\x0e\x02\t\x04\x12\x04\x94\x02\x02\n\n\r\n\x05\x04\x0e\x02\t\x05\x12\x04\x94\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\t\x01\x12\x04\x94\x02\x12+\n\r\n\x05\x04\x0e\x02\t\x03\x12\x04\x94\x02.0\n\x0c\n\x04\x04\x0e\x02\n\x12\x04\x96\x02\x022\n\r\n\x05\x04\x0e\x02\n\x04\x12\x04\x96\x02\x02\n\n\r\n\x05\x04\x0e\x02\n\x05\x12\x04\x96\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\n\x01\x12\x04\x96\x02\x12,\n\r\n\x05\x04\x0e\x02\n\x03\x12\x04\x96\x02/1\n\x0c\n\x04\x04\x0e\x02\x0b\x12\x04\x98\x02\x02)\n\r\n\x05\x04\x0e\x02\x0b\x05\x12\x04\x98\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x0b\x01\x12\x04\x98\x02\t#\n\r\n\x05\x04\x0e\x02\x0b\x03\x12\x04\x98\x02&(\n\x0c\n\x04\x04\x0e\x02\x0c\x12\x04\x9a\x02\x02$\n\r\n\x05\x04\x0e\x02\x0c\x05\x12\x04\x9a\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x0c\x01\x12\x04\x9a\x02\t\x1e\n\r\n\x05\x04\x0e\x02\x0c\x03\x12\x04\x9a\x02!#\n\x0c\n\x04\x04\x0e\x02\r\x12\x04\x9c\x02\x02*\n\r\n\x05\x04\x0e\x02\r\x05\x12\x04\x9c\x02\x02\x08\n\r\n\x05\x04\x0e\x02\r\x01\x12\x04\x9c\x02\t$\n\r\n\x05\x04\x0e\x02\r\x03\x12\x04\x9c\x02\')\n\x0c\n\x04\x04\x0e\x02\x0e\x12\x04\x9e\x02\x02#\n\r\n\x05\x04\x0e\x02\x0e\x05\x12\x04\x9e\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x0e\x01\x12\x04\x9e\x02\t\x1d\n\r\n\x05\x04\x0e\x02\x0e\x03\x12\x04\x9e\x02 \"\n\x0c\n\x04\x04\x0e\x02\x0f\x12\x04\xa0\x02\x02\x1e\n\r\n\x05\x04\x0e\x02\x0f\x05\x12\x04\xa0\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x0f\x01\x12\x04\xa0\x02\t\x18\n\r\n\x05\x04\x0e\x02\x0f\x03\x12\x04\xa0\x02\x1b\x1d\n\x0c\n\x04\x04\x0e\x02\x10\x12\x04\xa2\x02\x02\x1e\n\r\n\x05\x04\x0e\x02\x10\x05\x12\x04\xa2\x02\x02\x08\n\r\n\x05\x04\x0e\x02\x10\x01\x12\x04\xa2\x02\t\x18\n\r\n\x05\x04\x0e\x02\x10\x03\x12\x04\xa2\x02\x1b\x1d\n\x0c\n\x04\x04\x0e\x02\x11\x12\x04\xa4\x02\x02-\n\r\n\x05\x04\x0e\x02\x11\x04\x12\x04\xa4\x02\x02\n\n\r\n\x05\x04\x0e\x02\x11\x05\x12\x04\xa4\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x11\x01\x12\x04\xa4\x02\x12\'\n\r\n\x05\x04\x0e\x02\x11\x03\x12\x04\xa4\x02*,\n\x0c\n\x04\x04\x0e\x02\x12\x12\x04\xa6\x02\x02-\n\r\n\x05\x04\x0e\x02\x12\x04\x12\x04\xa6\x02\x02\n\n\r\n\x05\x04\x0e\x02\x12\x05\x12\x04\xa6\x02\x0b\x11\n\r\n\x05\x04\x0e\x02\x12\x01\x12\x04\xa6\x02\x12\'\n\r\n\x05\x04\x0e\x02\x12\x03\x12\x04\xa6\x02*,\n\x0c\n\x04\x04\x0e\x02\x13\x12\x04\xa8\x02\x02\x1d\n\r\n\x05\x04\x0e\x02\x13\x06\x12\x04\xa8\x02\x02\x0f\n\r\n\x05\x04\x0e\x02\x13\x01\x12\x04\xa8\x02\x10\x17\n\r\n\x05\x04\x0e\x02\x13\x03\x12\x04\xa8\x02\x1a\x1c\n\x0c\n\x04\x04\x0e\x02\x14\x12\x04\xaa\x02\x020\n\r\n\x05\x04\x0e\x02\x14\x06\x12\x04\xaa\x02\x02\x18\n\r\n\x05\x04\x0e\x02\x14\x01\x12\x04\xaa\x02\x19*\n\r\n\x05\x04\x0e\x02\x14\x03\x12\x04\xaa\x02-/\n\x80\x01\n\x02\x04\x0f\x12\x06\xaf\x02\x00\xb5\x02\x01\x1ar `fs` and `sql` follow `backend`, and both are absent when the default filesystem backend was\n never given a path\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\xaf\x02\x08\x13\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\xb0\x02\x02\x1d\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xb0\x02\x02\x10\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xb0\x02\x11\x18\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xb0\x02\x1b\x1c\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\xb2\x02\x02\x1c\n\r\n\x05\x04\x0f\x02\x01\x04\x12\x04\xb2\x02\x02\n\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xb2\x02\x0b\x14\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xb2\x02\x15\x17\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xb2\x02\x1a\x1b\n\x0c\n\x04\x04\x0f\x02\x02\x12\x04\xb4\x02\x02\x1e\n\r\n\x05\x04\x0f\x02\x02\x04\x12\x04\xb4\x02\x02\n\n\r\n\x05\x04\x0f\x02\x02\x06\x12\x04\xb4\x02\x0b\x15\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xb4\x02\x16\x19\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xb4\x02\x1c\x1d\n\x0c\n\x02\x04\x10\x12\x06\xb7\x02\x00\xbe\x02\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xb7\x02\x08\x12\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xb8\x02\x02\x12\n\r\n\x05\x04\x10\x02\x00\x05\x12\x04\xb8\x02\x02\x08\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xb8\x02\t\r\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xb8\x02\x10\x11\n\x0c\n\x04\x04\x10\x02\x01\x12\x04\xba\x02\x02&\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\xba\x02\x02\n\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xba\x02\x0b\x11\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xba\x02\x12!\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xba\x02$%\n?\n\x04\x04\x10\x02\x02\x12\x04\xbd\x02\x02!\x1a1 Absent unless the node also serves v2 over gRPC\n\n\r\n\x05\x04\x10\x02\x02\x04\x12\x04\xbd\x02\x02\n\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\xbd\x02\x0b\x11\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xbd\x02\x12\x1c\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xbd\x02\x1f \n\x0c\n\x02\x04\x11\x12\x06\xc0\x02\x00\xc2\x02\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xc0\x02\x08 \n\x0c\n\x04\x04\x11\x02\x00\x12\x04\xc1\x02\x02(\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xc1\x02\x02\x08\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xc1\x02\t#\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xc1\x02&\'\n\x0c\n\x02\x04\x12\x12\x06\xc4\x02\x00\xcb\x02\x01\n\x0b\n\x03\x04\x12\x01\x12\x04\xc4\x02\x08\x1c\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xc5\x02\x02\x1d\n\r\n\x05\x04\x12\x02\x00\x05\x12\x04\xc5\x02\x02\x08\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xc5\x02\t\x18\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xc5\x02\x1b\x1c\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\xc7\x02\x02\x18\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\xc7\x02\x02\x08\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xc7\x02\t\x13\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xc7\x02\x16\x17\nQ\n\x04\x04\x12\x02\x02\x12\x04\xca\x02\x02\x1e\x1aC Absent when the light-client database is in a temporary directory\n\n\r\n\x05\x04\x12\x02\x02\x04\x12\x04\xca\x02\x02\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xca\x02\x0b\x11\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\xca\x02\x12\x19\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\xca\x02\x1c\x1d\n\x0c\n\x02\x04\x13\x12\x06\xcd\x02\x00\xd4\x02\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\xcd\x02\x08\x13\n9\n\x04\x04\x13\x02\x00\x12\x04\xcf\x02\x02\x1c\x1a+ Peers this node fetches missing data from\n\n\r\n\x05\x04\x13\x02\x00\x04\x12\x04\xcf\x02\x02\n\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xcf\x02\x0b\x11\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xcf\x02\x12\x17\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xcf\x02\x1a\x1b\n\x0c\n\x04\x04\x13\x02\x01\x12\x04\xd1\x02\x02,\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\xd1\x02\x02\x1a\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xd1\x02\x1b\'\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xd1\x02*+\n\x0c\n\x04\x04\x13\x02\x02\x12\x04\xd3\x02\x02+\n\r\n\x05\x04\x13\x02\x02\x06\x12\x04\xd3\x02\x02\x16\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xd3\x02\x17&\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xd3\x02)*\n\xa8\x01\n\x02\x04\x14\x12\x06\xd8\x02\x00\xea\x02\x01\x1a\x99\x01 Which API modules the node serves. A module that is off answers 404 for every route it owns,\n so a client can tell a disabled module from a missing one\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xd8\x02\x08\x12\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xd9\x02\x02\x1f\n\r\n\x05\x04\x14\x02\x00\x04\x12\x04\xd9\x02\x02\n\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xd9\x02\x0b\x15\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xd9\x02\x16\x1a\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xd9\x02\x1d\x1e\n\x0c\n\x04\x04\x14\x02\x01\x12\x04\xdb\x02\x02!\n\r\n\x05\x04\x14\x02\x01\x04\x12\x04\xdb\x02\x02\n\n\r\n\x05\x04\x14\x02\x01\x06\x12\x04\xdb\x02\x0b\x16\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xdb\x02\x17\x1c\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xdb\x02\x1f \n\x0c\n\x04\x04\x14\x02\x02\x12\x04\xdd\x02\x02\x12\n\r\n\x05\x04\x14\x02\x02\x05\x12\x04\xdd\x02\x02\x06\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xdd\x02\x07\r\n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\xdd\x02\x10\x11\n\x0c\n\x04\x04\x14\x02\x03\x12\x04\xdf\x02\x02\x12\n\r\n\x05\x04\x14\x02\x03\x05\x12\x04\xdf\x02\x02\x06\n\r\n\x05\x04\x14\x02\x03\x01\x12\x04\xdf\x02\x07\r\n\r\n\x05\x04\x14\x02\x03\x03\x12\x04\xdf\x02\x10\x11\n\x0c\n\x04\x04\x14\x02\x04\x12\x04\xe1\x02\x02\x13\n\r\n\x05\x04\x14\x02\x04\x05\x12\x04\xe1\x02\x02\x06\n\r\n\x05\x04\x14\x02\x04\x01\x12\x04\xe1\x02\x07\x0e\n\r\n\x05\x04\x14\x02\x04\x03\x12\x04\xe1\x02\x11\x12\n\x0c\n\x04\x04\x14\x02\x05\x12\x04\xe3\x02\x02\x12\n\r\n\x05\x04\x14\x02\x05\x05\x12\x04\xe3\x02\x02\x06\n\r\n\x05\x04\x14\x02\x05\x01\x12\x04\xe3\x02\x07\r\n\r\n\x05\x04\x14\x02\x05\x03\x12\x04\xe3\x02\x10\x11\n\x0c\n\x04\x04\x14\x02\x06\x12\x04\xe5\x02\x02\x1a\n\r\n\x05\x04\x14\x02\x06\x05\x12\x04\xe5\x02\x02\x06\n\r\n\x05\x04\x14\x02\x06\x01\x12\x04\xe5\x02\x07\x15\n\r\n\x05\x04\x14\x02\x06\x03\x12\x04\xe5\x02\x18\x19\n\x0c\n\x04\x04\x14\x02\x07\x12\x04\xe7\x02\x02\x14\n\r\n\x05\x04\x14\x02\x07\x05\x12\x04\xe7\x02\x02\x06\n\r\n\x05\x04\x14\x02\x07\x01\x12\x04\xe7\x02\x07\x0f\n\r\n\x05\x04\x14\x02\x07\x03\x12\x04\xe7\x02\x12\x13\n\x0c\n\x04\x04\x14\x02\x08\x12\x04\xe9\x02\x02\x18\n\r\n\x05\x04\x14\x02\x08\x05\x12\x04\xe9\x02\x02\x06\n\r\n\x05\x04\x14\x02\x08\x01\x12\x04\xe9\x02\x07\x13\n\r\n\x05\x04\x14\x02\x08\x03\x12\x04\xe9\x02\x16\x17\n\x0c\n\x02\x04\x15\x12\x06\xec\x02\x00\xf1\x02\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xec\x02\x08\x16\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\xed\x02\x02\x1e\n\r\n\x05\x04\x15\x02\x00\x05\x12\x04\xed\x02\x02\x08\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xed\x02\t\x19\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xed\x02\x1c\x1d\n\\\n\x04\x04\x15\x02\x01\x12\x04\xf0\x02\x02!\x1aN The most blocks ingested per poll; the query service backfills older heights\n\n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\xf0\x02\x02\x08\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xf0\x02\t\x1c\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\xf0\x02\x1f \n\xaf\x02\n\x02\x04\x16\x12\x06\xf7\x02\x00\xab\x03\x01\x1a\xa0\x02 The node\'s effective runtime configuration: CLI flags, environment and defaults merged. The\n genesis and the catchup, proposal-fetcher and L1 tuning stay on v1. No credential this\n node holds is served, but a URL an operator configured with userinfo is served as given, as v1\n serves it\n\n\x0b\n\x03\x04\x16\x01\x12\x04\xf7\x02\x08\x1d\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\xf8\x02\x02\x11\n\r\n\x05\x04\x16\x02\x00\x05\x12\x04\xf8\x02\x02\x06\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xf8\x02\x07\x0c\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xf8\x02\x0f\x10\n\x0c\n\x04\x04\x16\x02\x01\x12\x04\xfa\x02\x02\x1c\n\r\n\x05\x04\x16\x02\x01\x06\x12\x04\xfa\x02\x02\x0e\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\xfa\x02\x0f\x17\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xfa\x02\x1a\x1b\n\x0c\n\x04\x04\x16\x02\x02\x12\x04\xfc\x02\x02\x1a\n\r\n\x05\x04\x16\x02\x02\x06\x12\x04\xfc\x02\x02\r\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xfc\x02\x0e\x15\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\xfc\x02\x18\x19\n7\n\x04\x04\x16\x02\x03\x12\x04\xff\x02\x02\x1a\x1a) Path or URL the genesis was loaded from\n\n\r\n\x05\x04\x16\x02\x03\x05\x12\x04\xff\x02\x02\x08\n\r\n\x05\x04\x16\x02\x03\x01\x12\x04\xff\x02\t\x15\n\r\n\x05\x04\x16\x02\x03\x03\x12\x04\xff\x02\x18\x19\n\x0c\n\x04\x04\x16\x02\x04\x12\x04\x81\x03\x02%\n\r\n\x05\x04\x16\x02\x04\x04\x12\x04\x81\x03\x02\n\n\r\n\x05\x04\x16\x02\x04\x05\x12\x04\x81\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x04\x01\x12\x04\x81\x03\x12 \n\r\n\x05\x04\x16\x02\x04\x03\x12\x04\x81\x03#$\ni\n\x04\x04\x16\x02\x05\x12\x04\x84\x03\x02#\x1a[ Builders given with `--builder-urls`, empty when consensus runs with the network config\'s\n\n\r\n\x05\x04\x16\x02\x05\x04\x12\x04\x84\x03\x02\n\n\r\n\x05\x04\x16\x02\x05\x05\x12\x04\x84\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x05\x01\x12\x04\x84\x03\x12\x1e\n\r\n\x05\x04\x16\x02\x05\x03\x12\x04\x84\x03!\"\n\x0c\n\x04\x04\x16\x02\x06\x12\x04\x86\x03\x02$\n\r\n\x05\x04\x16\x02\x06\x05\x12\x04\x86\x03\x02\x08\n\r\n\x05\x04\x16\x02\x06\x01\x12\x04\x86\x03\t\x1f\n\r\n\x05\x04\x16\x02\x06\x03\x12\x04\x86\x03\"#\n\x0c\n\x04\x04\x16\x02\x07\x12\x04\x88\x03\x02\"\n\r\n\x05\x04\x16\x02\x07\x04\x12\x04\x88\x03\x02\n\n\r\n\x05\x04\x16\x02\x07\x05\x12\x04\x88\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x07\x01\x12\x04\x88\x03\x12\x1d\n\r\n\x05\x04\x16\x02\x07\x03\x12\x04\x88\x03 !\n)\n\x04\x04\x16\x02\x08\x12\x04\x8b\x03\x02#\x1a\x1b Empty when not configured\n\n\r\n\x05\x04\x16\x02\x08\x04\x12\x04\x8b\x03\x02\n\n\r\n\x05\x04\x16\x02\x08\x05\x12\x04\x8b\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x08\x01\x12\x04\x8b\x03\x12\x1e\n\r\n\x05\x04\x16\x02\x08\x03\x12\x04\x8b\x03!\"\n\x0c\n\x04\x04\x16\x02\t\x12\x04\x8d\x03\x02\x1f\n\r\n\x05\x04\x16\x02\t\x05\x12\x04\x8d\x03\x02\x08\n\r\n\x05\x04\x16\x02\t\x01\x12\x04\x8d\x03\t\x19\n\r\n\x05\x04\x16\x02\t\x03\x12\x04\x8d\x03\x1c\x1e\na\n\x04\x04\x16\x02\n\x12\x04\x90\x03\x02/\x1aS Always empty: the CDN went with the networks consensus ran on before protocol 0.6\n\n\r\n\x05\x04\x16\x02\n\x05\x12\x04\x90\x03\x02\x08\n\r\n\x05\x04\x16\x02\n\x01\x12\x04\x90\x03\t\x15\n\r\n\x05\x04\x16\x02\n\x03\x12\x04\x90\x03\x18\x1a\n\r\n\x05\x04\x16\x02\n\x08\x12\x04\x90\x03\x1b.\n\x0e\n\x06\x04\x16\x02\n\x08\x03\x12\x04\x90\x03\x1c-\nR\n\x04\x04\x16\x02\x0b\x12\x04\x93\x03\x02%\x1aD \"host:port\", with an IPv6 literal left unbracketed as v1 writes it\n\n\r\n\x05\x04\x16\x02\x0b\x05\x12\x04\x93\x03\x02\x08\n\r\n\x05\x04\x16\x02\x0b\x01\x12\x04\x93\x03\t\x1f\n\r\n\x05\x04\x16\x02\x0b\x03\x12\x04\x93\x03\"$\nR\n\x04\x04\x16\x02\x0c\x12\x04\x96\x03\x023\x1aD \"host:port\", with an IPv6 literal left unbracketed as v1 writes it\n\n\r\n\x05\x04\x16\x02\x0c\x04\x12\x04\x96\x03\x02\n\n\r\n\x05\x04\x16\x02\x0c\x05\x12\x04\x96\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x0c\x01\x12\x04\x96\x03\x12-\n\r\n\x05\x04\x16\x02\x0c\x03\x12\x04\x96\x0302\n`\n\x04\x04\x16\x02\r\x12\x04\x99\x03\x026\x1aR Always empty: libp2p went with the networks consensus ran on before protocol 0.6\n\n\r\n\x05\x04\x16\x02\r\x05\x12\x04\x99\x03\x02\x08\n\r\n\x05\x04\x16\x02\r\x01\x12\x04\x99\x03\t\x1c\n\r\n\x05\x04\x16\x02\r\x03\x12\x04\x99\x03\x1f!\n\r\n\x05\x04\x16\x02\r\x08\x12\x04\x99\x03\"5\n\x0e\n\x06\x04\x16\x02\r\x08\x03\x12\x04\x99\x03#4\na\n\x04\x04\x16\x02\x0e\x12\x04\x9c\x03\x02D\x1aS Always absent: libp2p went with the networks consensus ran on before protocol 0.6\n\n\r\n\x05\x04\x16\x02\x0e\x04\x12\x04\x9c\x03\x02\n\n\r\n\x05\x04\x16\x02\x0e\x05\x12\x04\x9c\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x0e\x01\x12\x04\x9c\x03\x12*\n\r\n\x05\x04\x16\x02\x0e\x03\x12\x04\x9c\x03-/\n\r\n\x05\x04\x16\x02\x0e\x08\x12\x04\x9c\x030C\n\x0e\n\x06\x04\x16\x02\x0e\x08\x03\x12\x04\x9c\x031B\n`\n\x04\x04\x16\x02\x0f\x12\x04\x9f\x03\x02B\x1aR Always empty: libp2p went with the networks consensus ran on before protocol 0.6\n\n\r\n\x05\x04\x16\x02\x0f\x04\x12\x04\x9f\x03\x02\n\n\r\n\x05\x04\x16\x02\x0f\x05\x12\x04\x9f\x03\x0b\x11\n\r\n\x05\x04\x16\x02\x0f\x01\x12\x04\x9f\x03\x12(\n\r\n\x05\x04\x16\x02\x0f\x03\x12\x04\x9f\x03+-\n\r\n\x05\x04\x16\x02\x0f\x08\x12\x04\x9f\x03.A\n\x0e\n\x06\x04\x16\x02\x0f\x08\x03\x12\x04\x9f\x03/@\n\x8b\x01\n\x04\x04\x16\x02\x10\x12\x04\xa3\x03\x02 \x1a} How many L1 RPC endpoints are configured. These URLs are the ones most often given an API\n key, so only the count is served\n\n\r\n\x05\x04\x16\x02\x10\x05\x12\x04\xa3\x03\x02\x08\n\r\n\x05\x04\x16\x02\x10\x01\x12\x04\xa3\x03\t\x1a\n\r\n\x05\x04\x16\x02\x10\x03\x12\x04\xa3\x03\x1d\x1f\n\x0c\n\x04\x04\x16\x02\x11\x12\x04\xa5\x03\x02#\n\r\n\x05\x04\x16\x02\x11\x05\x12\x04\xa5\x03\x02\x08\n\r\n\x05\x04\x16\x02\x11\x01\x12\x04\xa5\x03\t\x1d\n\r\n\x05\x04\x16\x02\x11\x03\x12\x04\xa5\x03 \"\n\x0c\n\x04\x04\x16\x02\x12\x12\x04\xa7\x03\x02\x1a\n\r\n\x05\x04\x16\x02\x12\x06\x12\x04\xa7\x03\x02\x0c\n\r\n\x05\x04\x16\x02\x12\x01\x12\x04\xa7\x03\r\x14\n\r\n\x05\x04\x16\x02\x12\x03\x12\x04\xa7\x03\x17\x19\na\n\x04\x04\x16\x02\x13\x12\x04\xaa\x03\x02(\x1aS Unset on a validator. A follower verifies the chain from the query module\'s peers\n\n\r\n\x05\x04\x16\x02\x13\x04\x12\x04\xaa\x03\x02\n\n\r\n\x05\x04\x16\x02\x13\x06\x12\x04\xaa\x03\x0b\x19\n\r\n\x05\x04\x16\x02\x13\x01\x12\x04\xaa\x03\x1a\"\n\r\n\x05\x04\x16\x02\x13\x03\x12\x04\xaa\x03%\'\n\x0c\n\x02\x06\x00\x12\x06\xad\x03\x00\xbc\x03\x01\n\x0b\n\x03\x06\x00\x01\x12\x04\xad\x03\x08\x15\nB\n\x04\x06\x00\x02\x00\x12\x06\xaf\x03\x02\xb1\x03\x03\x1a2 Get the consensus parameters this node runs with\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xaf\x03\x06\x16\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xaf\x03\x17.\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xaf\x039N\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\xb0\x03\x04;\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\xb0\x03\x04;\nT\n\x04\x06\x00\x02\x01\x12\x06\xb4\x03\x02\xb6\x03\x03\x1aD Get the allowlisted environment variables of this node, set or not\n\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xb4\x03\x06\x0c\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xb4\x03\r\x1a\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xb4\x03%0\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04\xb5\x03\x047\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04\xb5\x03\x047\n@\n\x04\x06\x00\x02\x02\x12\x06\xb9\x03\x02\xbb\x03\x03\x1a0 Get the node\'s effective runtime configuration\n\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xb9\x03\x06\x16\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xb9\x03\x17.\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xb9\x039N\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04\xba\x03\x04;\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04\xba\x03\x04;b\x06proto3\n\xa9\x13\n\x11v2/database.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\"\x16\n\x14GetTableSizesRequest\"\x8b\x01\n\tTableSize\x12\x1d\n\ntable_name\x18\x01 \x01(\tR\ttableName\x12\x1b\n\trow_count\x18\x02 \x01(\x03R\x08rowCount\x12-\n\x10total_size_bytes\x18\x03 \x01(\x03H\x00R\x0etotalSizeBytes\x88\x01\x01B\x13\n\x11_total_size_bytes\"H\n\x12TableSizesResponse\x122\n\x06tables\x18\x01 \x03(\x0b2\x1a.espresso.api.v2.TableSizeR\x06tables\"\x1b\n\x19GetMigrationStatusRequest\"\xb3\x01\n\x0fMigrationStatus\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\nstarted_at\x18\x02 \x01(\tR\tstartedAt\x12&\n\x0ccompleted_at\x18\x03 \x01(\tH\x00R\x0bcompletedAt\x88\x01\x01\x12$\n\x0blast_offset\x18\x04 \x01(\x03H\x01R\nlastOffset\x88\x01\x01B\x0f\n\r_completed_atB\x0e\n\x0c_last_offset\"[\n\x17MigrationStatusResponse\x12@\n\nmigrations\x18\x01 \x03(\x0b2 .espresso.api.v2.MigrationStatusR\nmigrations2\xa4\x02\n\x0fDatabaseService\x12}\n\rGetTableSizes\x12%.espresso.api.v2.GetTableSizesRequest\x1a#.espresso.api.v2.TableSizesResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v2/database/table-sizes\x12\x91\x01\n\x12GetMigrationStatus\x12*.espresso.api.v2.GetMigrationStatusRequest\x1a(.espresso.api.v2.MigrationStatusResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v2/database/migration-statusJ\x95\x0c\n\x06\x12\x04\x00\x005\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x04\x00\x12\x03\x06\x00\x1f\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08\x1c\n\n\n\x02\x04\x01\x12\x04\x08\x00\x10\x01\n\n\n\x03\x04\x01\x01\x12\x03\x08\x08\x11\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\t\x02\x18\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\t\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\t\t\x13\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\t\x16\x17\ni\n\x04\x04\x01\x02\x01\x12\x03\x0c\x02\x16\x1a\\ Live row count: an estimate from Postgres\' cumulative statistics, an exact count on SQLite\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x0c\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x0c\x08\x11\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0c\x14\x15\nc\n\x04\x04\x01\x02\x02\x12\x03\x0f\x02&\x1aV On-disk size including indexes, in bytes; absent when the backend does not report it\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03\x0f\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x0f\x0b\x10\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x0f\x11!\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x0f$%\n\n\n\x02\x04\x02\x12\x04\x12\x00\x15\x01\n\n\n\x03\x04\x02\x01\x12\x03\x12\x08\x1a\n;\n\x04\x04\x02\x02\x00\x12\x03\x14\x02 \x1a. Largest first on Postgres, by name on SQLite\n\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x14\x0b\x14\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x14\x15\x1b\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x14\x1e\x1f\n\t\n\x02\x04\x03\x12\x03\x17\x00$\n\n\n\x03\x04\x03\x01\x12\x03\x17\x08!\n\n\n\x02\x04\x04\x12\x04\x19\x00%\x01\n\n\n\x03\x04\x04\x01\x12\x03\x19\x08\x17\n\x0b\n\x04\x04\x04\x02\x00\x12\x03\x1a\x02\x12\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03\x1a\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03\x1a\t\r\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03\x1a\x10\x11\n!\n\x04\x04\x04\x02\x01\x12\x03\x1d\x02\x18\x1a\x14 RFC 3339 timestamp\n\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03\x1d\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03\x1d\t\x13\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03\x1d\x16\x17\nN\n\x04\x04\x04\x02\x02\x12\x03 \x02#\x1aA RFC 3339 timestamp; absent while the migration is still running\n\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03 \x02\n\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03 \x0b\x11\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03 \x12\x1e\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03 !\"\n\xb8\x01\n\x04\x04\x04\x02\x03\x12\x03$\x02!\x1a\xaa\x01 Offset of the last processed batch. The runner writes 0 when it registers the migration and\n updates this after every batch, so a migration it tracks always carries one\n\n\x0c\n\x05\x04\x04\x02\x03\x04\x12\x03$\x02\n\n\x0c\n\x05\x04\x04\x02\x03\x05\x12\x03$\x0b\x10\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03$\x11\x1c\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03$\x1f \n\n\n\x02\x04\x05\x12\x04\'\x00)\x01\n\n\n\x03\x04\x05\x01\x12\x03\'\x08\x1f\n\x0b\n\x04\x04\x05\x02\x00\x12\x03(\x02*\n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03(\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03(\x0b\x1a\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03(\x1b%\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03(()\n\n\n\x02\x06\x00\x12\x04+\x005\x01\n\n\n\x03\x06\x00\x01\x12\x03+\x08\x17\nH\n\x04\x06\x00\x02\x00\x12\x04-\x02/\x03\x1a: Get the row count and disk usage of every database table\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03-\x06\x13\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03-\x14(\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03-3E\n\x0c\n\x05\x06\x00\x02\x00\x04\x12\x03.\x04A\n\x10\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x03.\x04A\nF\n\x04\x06\x00\x02\x01\x12\x042\x024\x03\x1a8 Get the progress of the deferred background migrations\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x032\x06\x18\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x032\x192\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x032=T\n\x0c\n\x05\x06\x00\x02\x01\x04\x12\x033\x04F\n\x10\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x033\x04Fb\x06proto3\n\xb7b\n\x11v2/explorer.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x15v2/availability.proto\"\xfd\x01\n\x13ExplorerBlockDetail\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x12\n\x04time\x18\x03 \x01(\tR\x04time\x12)\n\x10num_transactions\x18\x04 \x01(\x04R\x0fnumTransactions\x12\x1f\n\x0bproposer_id\x18\x05 \x03(\tR\nproposerId\x12#\n\rfee_recipient\x18\x06 \x03(\tR\x0cfeeRecipient\x12\x12\n\x04size\x18\x07 \x01(\x04R\x04size\x12!\n\x0cblock_reward\x18\x08 \x03(\tR\x0bblockReward\"\xb6\x01\n\x14ExplorerBlockSummary\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x1f\n\x0bproposer_id\x18\x03 \x03(\tR\nproposerId\x12)\n\x10num_transactions\x18\x04 \x01(\x04R\x0fnumTransactions\x12\x12\n\x04size\x18\x05 \x01(\x04R\x04size\x12\x12\n\x04time\x18\x06 \x01(\tR\x04time\"\xb9\x01\n\x1aExplorerTransactionSummary\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12\x18\n\x07rollups\x18\x02 \x03(\x04R\x07rollups\x12\x16\n\x06height\x18\x03 \x01(\x04R\x06height\x12\x16\n\x06offset\x18\x04 \x01(\x04R\x06offset\x12)\n\x10num_transactions\x18\x05 \x01(\x04R\x0fnumTransactions\x12\x12\n\x04time\x18\x06 \x01(\tR\x04time\"D\n\x16ExplorerFeeAttribution\x12\x16\n\x06target\x18\x01 \x01(\tR\x06target\x12\x12\n\x04fees\x18\x02 \x03(\tR\x04fees\"\xce\x02\n\x19ExplorerTransactionDetail\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\'\n\x0fblock_confirmed\x18\x03 \x01(\x08R\x0eblockConfirmed\x12\x16\n\x06offset\x18\x04 \x01(\x04R\x06offset\x12)\n\x10num_transactions\x18\x05 \x01(\x04R\x0fnumTransactions\x12\x12\n\x04size\x18\x06 \x01(\x04R\x04size\x12\x12\n\x04time\x18\x07 \x01(\tR\x04time\x12\'\n\x0fsequencing_fees\x18\x08 \x03(\tR\x0esequencingFees\x12H\n\x0bfee_details\x18\t \x03(\x0b2\'.espresso.api.v2.ExplorerFeeAttributionR\nfeeDetails\"o\n\x17ExplorerGenesisOverview\x12\x18\n\x07rollups\x18\x01 \x01(\x04R\x07rollups\x12\"\n\x0ctransactions\x18\x02 \x01(\x04R\x0ctransactions\x12\x16\n\x06blocks\x18\x03 \x01(\x04R\x06blocks\"\xc5\x01\n\x16ExplorerHistogramPoint\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12\"\n\nblock_time\x18\x02 \x01(\x01H\x00R\tblockTime\x88\x01\x01\x12\"\n\nblock_size\x18\x03 \x01(\x04H\x01R\tblockSize\x88\x01\x01\x12-\n\x12block_transactions\x18\x04 \x01(\x04R\x11blockTransactionsB\r\n\x0b_block_timeB\r\n\x0b_block_size\"i\n\x1dGetExplorerBlockDetailRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hash\"f\n\x1bExplorerBlockDetailResponse\x12G\n\x0cblock_detail\x18\x01 \x01(\x0b2$.espresso.api.v2.ExplorerBlockDetailR\x0bblockDetail\"\x91\x01\n GetExplorerBlockSummariesRequest\x12\x19\n\x05limit\x18\x01 \x01(\x04H\x00R\x05limit\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x03 \x01(\tH\x02R\x04hash\x88\x01\x01B\x08\n\x06_limitB\t\n\x07_heightB\x07\n\x05_hash\"p\n\x1eExplorerBlockSummariesResponse\x12N\n\x0fblock_summaries\x18\x01 \x03(\x0b2%.espresso.api.v2.ExplorerBlockSummaryR\x0eblockSummaries\"\x97\x01\n#GetExplorerTransactionDetailRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x1b\n\x06offset\x18\x02 \x01(\x04H\x01R\x06offset\x88\x01\x01\x12\x17\n\x04hash\x18\x03 \x01(\tH\x02R\x04hash\x88\x01\x01B\t\n\x07_heightB\t\n\x07_offsetB\x07\n\x05_hash\"\x9b\x01\n!ExplorerTransactionDetailResponse\x12D\n\x07details\x18\x01 \x01(\x0b2*.espresso.api.v2.ExplorerTransactionDetailR\x07details\x120\n\x04data\x18\x02 \x03(\x0b2\x1c.espresso.api.v2.TransactionR\x04data\"\x95\x02\n&GetExplorerTransactionSummariesRequest\x12\x19\n\x05limit\x18\x01 \x01(\x04H\x00R\x05limit\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01\x12\x1b\n\x06offset\x18\x03 \x01(\x04H\x02R\x06offset\x88\x01\x01\x12\x17\n\x04hash\x18\x04 \x01(\tH\x03R\x04hash\x88\x01\x01\x12\x19\n\x05block\x18\x05 \x01(\x04H\x04R\x05block\x88\x01\x01\x12!\n\tnamespace\x18\x06 \x01(\x04H\x05R\tnamespace\x88\x01\x01B\x08\n\x06_limitB\t\n\x07_heightB\t\n\x07_offsetB\x07\n\x05_hashB\x08\n\x06_blockB\x0c\n\n_namespace\"\x88\x01\n$ExplorerTransactionSummariesResponse\x12`\n\x15transaction_summaries\x18\x01 \x03(\x0b2+.espresso.api.v2.ExplorerTransactionSummaryR\x14transactionSummaries\"\x1b\n\x19GetExplorerSummaryRequest\"\xaa\x03\n\x17ExplorerSummaryResponse\x12G\n\x0clatest_block\x18\x01 \x01(\x0b2$.espresso.api.v2.ExplorerBlockDetailR\x0blatestBlock\x12S\n\x10genesis_overview\x18\x02 \x01(\x0b2(.espresso.api.v2.ExplorerGenesisOverviewR\x0fgenesisOverview\x12J\n\rlatest_blocks\x18\x03 \x03(\x0b2%.espresso.api.v2.ExplorerBlockSummaryR\x0clatestBlocks\x12\\\n\x13latest_transactions\x18\x04 \x03(\x0b2+.espresso.api.v2.ExplorerTransactionSummaryR\x12latestTransactions\x12G\n\nhistograms\x18\x05 \x03(\x0b2\'.espresso.api.v2.ExplorerHistogramPointR\nhistograms\"?\n\x18GetExplorerSearchRequest\x12\x19\n\x05query\x18\x01 \x01(\tH\x00R\x05query\x88\x01\x01B\x08\n\x06_query\"\xa8\x01\n\x16ExplorerSearchResponse\x12=\n\x06blocks\x18\x01 \x03(\x0b2%.espresso.api.v2.ExplorerBlockSummaryR\x06blocks\x12O\n\x0ctransactions\x18\x02 \x03(\x0b2+.espresso.api.v2.ExplorerTransactionSummaryR\x0ctransactions2\xbb\x07\n\x0fExplorerService\x12\x92\x01\n\x16GetExplorerBlockDetail\x12..espresso.api.v2.GetExplorerBlockDetailRequest\x1a,.espresso.api.v2.ExplorerBlockDetailResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v2/explorer/block\x12\x9c\x01\n\x19GetExplorerBlockSummaries\x121.espresso.api.v2.GetExplorerBlockSummariesRequest\x1a/.espresso.api.v2.ExplorerBlockSummariesResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v2/explorer/blocks\x12\xaa\x01\n\x1cGetExplorerTransactionDetail\x124.espresso.api.v2.GetExplorerTransactionDetailRequest\x1a2.espresso.api.v2.ExplorerTransactionDetailResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v2/explorer/transaction\x12\xb4\x01\n\x1fGetExplorerTransactionSummaries\x127.espresso.api.v2.GetExplorerTransactionSummariesRequest\x1a5.espresso.api.v2.ExplorerTransactionSummariesResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v2/explorer/transactions\x12\x88\x01\n\x12GetExplorerSummary\x12*.espresso.api.v2.GetExplorerSummaryRequest\x1a(.espresso.api.v2.ExplorerSummaryResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v2/explorer/summary\x12\x84\x01\n\x11GetExplorerSearch\x12).espresso.api.v2.GetExplorerSearchRequest\x1a\'.espresso.api.v2.ExplorerSearchResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v2/explorer/searchJ\xe6@\n\x07\x12\x05\x00\x00\xfd\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x1f\n4\n\x02\x04\x00\x12\x04\x08\x00\x1f\x01\x1a( A block the explorer describes in full\n\n\n\n\x03\x04\x00\x01\x12\x03\x08\x08\x1b\n$\n\x04\x04\x00\x02\x00\x12\x03\n\x02\x12\x1a\x17 TaggedBase64 `BLOCK~`\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\n\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n\t\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n\x10\x11\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0c\x02\x14\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0c\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0c\t\x0f\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0c\x12\x13\n!\n\x04\x04\x00\x02\x02\x12\x03\x0f\x02\x12\x1a\x14 RFC 3339 timestamp\n\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x0f\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0f\t\r\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0f\x10\x11\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x11\x02\x1e\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x11\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x11\t\x19\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x11\x1c\x1d\nE\n\x04\x04\x00\x02\x04\x12\x03\x14\x02\"\x1a8 The builder fee accounts of the block, 0x-prefixed hex\n\n\x0c\n\x05\x04\x00\x02\x04\x04\x12\x03\x14\x02\n\n\x0c\n\x05\x04\x00\x02\x04\x05\x12\x03\x14\x0b\x11\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x14\x12\x1d\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x14 !\nE\n\x04\x04\x00\x02\x05\x12\x03\x17\x02$\x1a8 The builder fee accounts of the block, 0x-prefixed hex\n\n\x0c\n\x05\x04\x00\x02\x05\x04\x12\x03\x17\x02\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\x17\x0b\x11\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x17\x12\x1f\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x17\"#\n\"\n\x04\x04\x00\x02\x06\x12\x03\x1a\x02\x12\x1a\x15 Block size in bytes\n\n\x0c\n\x05\x04\x00\x02\x06\x05\x12\x03\x1a\x02\x08\n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x1a\t\r\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x1a\x10\x11\n\x91\x01\n\x04\x04\x00\x02\x07\x12\x03\x1e\x02#\x1a\x83\x01 Amounts with their currency code, separated by a non-breaking space (U+00A0), e.g.\n \"ETH\xc2\xa00.000000000000000455\" as JSON writes it\n\n\x0c\n\x05\x04\x00\x02\x07\x04\x12\x03\x1e\x02\n\n\x0c\n\x05\x04\x00\x02\x07\x05\x12\x03\x1e\x0b\x11\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x1e\x12\x1e\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x1e!\"\nV\n\x02\x04\x01\x12\x04\"\x002\x01\x1aJ A block as it appears in a list, without the fee recipient or the reward\n\n\n\n\x03\x04\x01\x01\x12\x03\"\x08\x1c\n$\n\x04\x04\x01\x02\x00\x12\x03$\x02\x12\x1a\x17 TaggedBase64 `BLOCK~`\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03$\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03$\t\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03$\x10\x11\n\x0b\n\x04\x04\x01\x02\x01\x12\x03&\x02\x14\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03&\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03&\t\x0f\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03&\x12\x13\nE\n\x04\x04\x01\x02\x02\x12\x03)\x02\"\x1a8 The builder fee accounts of the block, 0x-prefixed hex\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03)\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03)\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03)\x12\x1d\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03) !\n\x0b\n\x04\x04\x01\x02\x03\x12\x03+\x02\x1e\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03+\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03+\t\x19\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03+\x1c\x1d\n\"\n\x04\x04\x01\x02\x04\x12\x03.\x02\x12\x1a\x15 Block size in bytes\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03.\x02\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03.\t\r\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03.\x10\x11\n!\n\x04\x04\x01\x02\x05\x12\x031\x02\x12\x1a\x14 RFC 3339 timestamp\n\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x031\x02\x08\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x031\t\r\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x031\x10\x11\n3\n\x02\x04\x02\x12\x045\x00G\x01\x1a\' A transaction as it appears in a list\n\n\n\n\x03\x04\x02\x01\x12\x035\x08\"\n!\n\x04\x04\x02\x02\x00\x12\x037\x02\x12\x1a\x14 TaggedBase64 `TX~`\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x037\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x037\t\r\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x037\x10\x11\n/\n\x04\x04\x02\x02\x01\x12\x03:\x02\x1e\x1a\" The namespace of the transaction\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03:\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03:\x0b\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03:\x12\x19\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03:\x1c\x1d\n\x0b\n\x04\x04\x02\x02\x02\x12\x03<\x02\x14\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03<\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03<\t\x0f\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03<\x12\x13\n\x98\x01\n\x04\x04\x02\x02\x03\x12\x03@\x02\x14\x1a\x8a\x01 Position of the transaction within its block. Under a `namespace` filter, the position among\n that namespace\'s transactions in the block\n\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03@\x02\x08\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03@\t\x0f\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03@\x12\x13\nU\n\x04\x04\x02\x02\x04\x12\x03C\x02\x1e\x1aH Transactions in the block this one belongs to, not in this transaction\n\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\x03C\x02\x08\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03C\t\x19\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03C\x1c\x1d\n!\n\x04\x04\x02\x02\x05\x12\x03F\x02\x12\x1a\x14 RFC 3339 timestamp\n\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03F\x02\x08\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03F\t\r\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03F\x10\x11\nQ\n\x02\x04\x03\x12\x04J\x00O\x01\x1aE Fees attributed to one layer, such as the sequencer or the DA layer\n\n\n\n\x03\x04\x03\x01\x12\x03J\x08\x1e\n\x0b\n\x04\x04\x03\x02\x00\x12\x03K\x02\x14\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03K\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03K\t\x0f\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03K\x12\x13\n[\n\x04\x04\x03\x02\x01\x12\x03N\x02\x1b\x1aN Amounts with their currency code, separated by a non-breaking space (U+00A0)\n\n\x0c\n\x05\x04\x03\x02\x01\x04\x12\x03N\x02\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03N\x0b\x11\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03N\x12\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03N\x19\x1a\n\n\n\x02\x04\x04\x12\x04Q\x00i\x01\n\n\n\x03\x04\x04\x01\x12\x03Q\x08!\n!\n\x04\x04\x04\x02\x00\x12\x03S\x02\x12\x1a\x14 TaggedBase64 `TX~`\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03S\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03S\t\r\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03S\x10\x11\n\x0b\n\x04\x04\x04\x02\x01\x12\x03U\x02\x14\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03U\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03U\t\x0f\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03U\x12\x13\n\x0b\n\x04\x04\x04\x02\x02\x12\x03W\x02\x1b\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03W\x02\x06\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03W\x07\x16\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03W\x19\x1a\n;\n\x04\x04\x04\x02\x03\x12\x03Z\x02\x14\x1a. Position of the transaction within its block\n\n\x0c\n\x05\x04\x04\x02\x03\x05\x12\x03Z\x02\x08\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03Z\t\x0f\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03Z\x12\x13\nU\n\x04\x04\x04\x02\x04\x12\x03]\x02\x1e\x1aH Transactions in the block this one belongs to, not in this transaction\n\n\x0c\n\x05\x04\x04\x02\x04\x05\x12\x03]\x02\x08\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x03]\t\x19\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x03]\x1c\x1d\n(\n\x04\x04\x04\x02\x05\x12\x03`\x02\x12\x1a\x1b Transaction size in bytes\n\n\x0c\n\x05\x04\x04\x02\x05\x05\x12\x03`\x02\x08\n\x0c\n\x05\x04\x04\x02\x05\x01\x12\x03`\t\r\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x03`\x10\x11\n!\n\x04\x04\x04\x02\x06\x12\x03c\x02\x12\x1a\x14 RFC 3339 timestamp\n\n\x0c\n\x05\x04\x04\x02\x06\x05\x12\x03c\x02\x08\n\x0c\n\x05\x04\x04\x02\x06\x01\x12\x03c\t\r\n\x0c\n\x05\x04\x04\x02\x06\x03\x12\x03c\x10\x11\n[\n\x04\x04\x04\x02\x07\x12\x03f\x02&\x1aN Amounts with their currency code, separated by a non-breaking space (U+00A0)\n\n\x0c\n\x05\x04\x04\x02\x07\x04\x12\x03f\x02\n\n\x0c\n\x05\x04\x04\x02\x07\x05\x12\x03f\x0b\x11\n\x0c\n\x05\x04\x04\x02\x07\x01\x12\x03f\x12!\n\x0c\n\x05\x04\x04\x02\x07\x03\x12\x03f$%\n\x0b\n\x04\x04\x04\x02\x08\x12\x03h\x022\n\x0c\n\x05\x04\x04\x02\x08\x04\x12\x03h\x02\n\n\x0c\n\x05\x04\x04\x02\x08\x06\x12\x03h\x0b!\n\x0c\n\x05\x04\x04\x02\x08\x01\x12\x03h\"-\n\x0c\n\x05\x04\x04\x02\x08\x03\x12\x03h01\n\n\n\x02\x04\x05\x12\x04k\x00q\x01\n\n\n\x03\x04\x05\x01\x12\x03k\x08\x1f\n\x0b\n\x04\x04\x05\x02\x00\x12\x03l\x02\x15\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03l\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03l\t\x10\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03l\x13\x14\n\x0b\n\x04\x04\x05\x02\x01\x12\x03n\x02\x1a\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03n\x02\x08\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03n\t\x15\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03n\x18\x19\n\x0b\n\x04\x04\x05\x02\x02\x12\x03p\x02\x14\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x03p\x02\x08\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03p\t\x0f\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03p\x12\x13\n<\n\x02\x04\x06\x12\x04t\x00~\x01\x1a0 One block\'s point in the explorer\'s histograms\n\n\n\n\x03\x04\x06\x01\x12\x03t\x08\x1e\n\x0b\n\x04\x04\x06\x02\x00\x12\x03u\x02\x14\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03u\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03u\t\x0f\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03u\x12\x13\nM\n\x04\x04\x06\x02\x01\x12\x03x\x02!\x1a@ Seconds since the previous block, absent for the genesis block\n\n\x0c\n\x05\x04\x06\x02\x01\x04\x12\x03x\x02\n\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03x\x0b\x11\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03x\x12\x1c\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03x\x1f \nJ\n\x04\x04\x06\x02\x02\x12\x03{\x02!\x1a= Block size in bytes, absent when the block was not resolved\n\n\x0c\n\x05\x04\x06\x02\x02\x04\x12\x03{\x02\n\n\x0c\n\x05\x04\x06\x02\x02\x05\x12\x03{\x0b\x11\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03{\x12\x1c\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03{\x1f \n\x0b\n\x04\x04\x06\x02\x03\x12\x03}\x02 \n\x0c\n\x05\x04\x06\x02\x03\x05\x12\x03}\x02\x08\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03}\t\x1b\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03}\x1e\x1f\n\x0c\n\x02\x04\x07\x12\x06\x80\x01\x00\x86\x01\x01\n\x0b\n\x03\x04\x07\x01\x12\x04\x80\x01\x08%\nY\n\x04\x04\x07\x02\x00\x12\x04\x82\x01\x02\x1d\x1aK Height of the block. Absent with `hash` absent too means the latest block\n\n\r\n\x05\x04\x07\x02\x00\x04\x12\x04\x82\x01\x02\n\n\r\n\x05\x04\x07\x02\x00\x05\x12\x04\x82\x01\x0b\x11\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\x82\x01\x12\x18\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\x82\x01\x1b\x1c\nA\n\x04\x04\x07\x02\x01\x12\x04\x85\x01\x02\x1b\x1a3 TaggedBase64 `BLOCK~`, an alternative to `height`\n\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\x85\x01\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\x85\x01\x0b\x11\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\x85\x01\x12\x16\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\x85\x01\x19\x1a\n\x0c\n\x02\x04\x08\x12\x06\x88\x01\x00\x8a\x01\x01\n\x0b\n\x03\x04\x08\x01\x12\x04\x88\x01\x08#\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\x89\x01\x02\'\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\x89\x01\x02\x15\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x89\x01\x16\"\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x89\x01%&\n\x0c\n\x02\x04\t\x12\x06\x8c\x01\x00\x95\x01\x01\n\x0b\n\x03\x04\t\x01\x12\x04\x8c\x01\x08(\n_\n\x04\x04\t\x02\x00\x12\x04\x8e\x01\x02\x1c\x1aQ How many blocks to return, counting back from the target, at most 100. Required\n\n\r\n\x05\x04\t\x02\x00\x04\x12\x04\x8e\x01\x02\n\n\r\n\x05\x04\t\x02\x00\x05\x12\x04\x8e\x01\x0b\x11\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x8e\x01\x12\x17\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x8e\x01\x1a\x1b\nj\n\x04\x04\t\x02\x01\x12\x04\x91\x01\x02\x1d\x1a\\ Height of the newest block to return. Absent with `hash` absent too means the latest block\n\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\x91\x01\x02\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\x91\x01\x0b\x11\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x91\x01\x12\x18\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x91\x01\x1b\x1c\nA\n\x04\x04\t\x02\x02\x12\x04\x94\x01\x02\x1b\x1a3 TaggedBase64 `BLOCK~`, an alternative to `height`\n\n\r\n\x05\x04\t\x02\x02\x04\x12\x04\x94\x01\x02\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\x94\x01\x0b\x11\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\x94\x01\x12\x16\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\x94\x01\x19\x1a\n\x0c\n\x02\x04\n\x12\x06\x97\x01\x00\x99\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\x97\x01\x08&\n\x0c\n\x04\x04\n\x02\x00\x12\x04\x98\x01\x024\n\r\n\x05\x04\n\x02\x00\x04\x12\x04\x98\x01\x02\n\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\x98\x01\x0b\x1f\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x98\x01 /\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x98\x0123\n\x0c\n\x02\x04\x0b\x12\x06\x9b\x01\x00\xa4\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\x9b\x01\x08+\nQ\n\x04\x04\x0b\x02\x00\x12\x04\x9d\x01\x02\x1d\x1aC Height of the block holding the transaction, paired with `offset`\n\n\r\n\x05\x04\x0b\x02\x00\x04\x12\x04\x9d\x01\x02\n\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\x9d\x01\x0b\x11\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\x9d\x01\x12\x18\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\x9d\x01\x1b\x1c\nR\n\x04\x04\x0b\x02\x01\x12\x04\xa0\x01\x02\x1d\x1aD Position of the transaction within its block, paired with `height`\n\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xa0\x01\x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xa0\x01\x0b\x11\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xa0\x01\x12\x18\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xa0\x01\x1b\x1c\nK\n\x04\x04\x0b\x02\x02\x12\x04\xa3\x01\x02\x1b\x1a= TaggedBase64 `TX~`, an alternative to `height` and `offset`\n\n\r\n\x05\x04\x0b\x02\x02\x04\x12\x04\xa3\x01\x02\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xa3\x01\x0b\x11\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xa3\x01\x12\x16\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xa3\x01\x19\x1a\n\x0c\n\x02\x04\x0c\x12\x06\xa6\x01\x00\xaa\x01\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\xa6\x01\x08)\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\xa7\x01\x02(\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xa7\x01\x02\x1b\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xa7\x01\x1c#\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xa7\x01&\'\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\xa9\x01\x02 \n\r\n\x05\x04\x0c\x02\x01\x04\x12\x04\xa9\x01\x02\n\n\r\n\x05\x04\x0c\x02\x01\x06\x12\x04\xa9\x01\x0b\x16\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xa9\x01\x17\x1b\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xa9\x01\x1e\x1f\n\x0c\n\x02\x04\r\x12\x06\xac\x01\x00\xbf\x01\x01\n\x0b\n\x03\x04\r\x01\x12\x04\xac\x01\x08.\ne\n\x04\x04\r\x02\x00\x12\x04\xae\x01\x02\x1c\x1aW How many transactions to return, counting back from the target, at most 100. Required\n\n\r\n\x05\x04\r\x02\x00\x04\x12\x04\xae\x01\x02\n\n\r\n\x05\x04\r\x02\x00\x05\x12\x04\xae\x01\x0b\x11\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xae\x01\x12\x17\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xae\x01\x1a\x1b\nG\n\x04\x04\r\x02\x01\x12\x04\xb1\x01\x02\x1d\x1a9 Height of the block to start from, paired with `offset`\n\n\r\n\x05\x04\r\x02\x01\x04\x12\x04\xb1\x01\x02\n\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xb1\x01\x0b\x11\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xb1\x01\x12\x18\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xb1\x01\x1b\x1c\n|\n\x04\x04\r\x02\x02\x12\x04\xb5\x01\x02\x1d\x1an How many transactions to skip back from the last transaction of the block at `height`, paired\n with `height`\n\n\r\n\x05\x04\r\x02\x02\x04\x12\x04\xb5\x01\x02\n\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xb5\x01\x0b\x11\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xb5\x01\x12\x18\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xb5\x01\x1b\x1c\nK\n\x04\x04\r\x02\x03\x12\x04\xb8\x01\x02\x1b\x1a= TaggedBase64 `TX~`, an alternative to `height` and `offset`\n\n\r\n\x05\x04\r\x02\x03\x04\x12\x04\xb8\x01\x02\n\n\r\n\x05\x04\r\x02\x03\x05\x12\x04\xb8\x01\x0b\x11\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\xb8\x01\x12\x16\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\xb8\x01\x19\x1a\ni\n\x04\x04\r\x02\x04\x12\x04\xbb\x01\x02\x1c\x1a[ Return only transactions in the block at this height. Mutually exclusive with `namespace`\n\n\r\n\x05\x04\r\x02\x04\x04\x12\x04\xbb\x01\x02\n\n\r\n\x05\x04\r\x02\x04\x05\x12\x04\xbb\x01\x0b\x11\n\r\n\x05\x04\r\x02\x04\x01\x12\x04\xbb\x01\x12\x17\n\r\n\x05\x04\r\x02\x04\x03\x12\x04\xbb\x01\x1a\x1b\nh\n\x04\x04\r\x02\x05\x12\x04\xbe\x01\x02 \x1aZ Return only transactions in this namespace, a 32-bit id. Mutually exclusive with `block`\n\n\r\n\x05\x04\r\x02\x05\x04\x12\x04\xbe\x01\x02\n\n\r\n\x05\x04\r\x02\x05\x05\x12\x04\xbe\x01\x0b\x11\n\r\n\x05\x04\r\x02\x05\x01\x12\x04\xbe\x01\x12\x1b\n\r\n\x05\x04\r\x02\x05\x03\x12\x04\xbe\x01\x1e\x1f\n\x0c\n\x02\x04\x0e\x12\x06\xc1\x01\x00\xc3\x01\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\xc1\x01\x08,\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\xc2\x01\x02@\n\r\n\x05\x04\x0e\x02\x00\x04\x12\x04\xc2\x01\x02\n\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\xc2\x01\x0b%\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xc2\x01&;\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xc2\x01>?\n\n\n\x02\x04\x0f\x12\x04\xc5\x01\x00$\n\x0b\n\x03\x04\x0f\x01\x12\x04\xc5\x01\x08!\n\x0c\n\x02\x04\x10\x12\x06\xc7\x01\x00\xd2\x01\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xc7\x01\x08\x1f\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xc8\x01\x02\'\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xc8\x01\x02\x15\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xc8\x01\x16\"\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xc8\x01%&\n\x0c\n\x04\x04\x10\x02\x01\x12\x04\xca\x01\x02/\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xca\x01\x02\x19\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xca\x01\x1a*\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xca\x01-.\n\x0c\n\x04\x04\x10\x02\x02\x12\x04\xcc\x01\x022\n\r\n\x05\x04\x10\x02\x02\x04\x12\x04\xcc\x01\x02\n\n\r\n\x05\x04\x10\x02\x02\x06\x12\x04\xcc\x01\x0b\x1f\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xcc\x01 -\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xcc\x0101\n\x0c\n\x04\x04\x10\x02\x03\x12\x04\xce\x01\x02>\n\r\n\x05\x04\x10\x02\x03\x04\x12\x04\xce\x01\x02\n\n\r\n\x05\x04\x10\x02\x03\x06\x12\x04\xce\x01\x0b%\n\r\n\x05\x04\x10\x02\x03\x01\x12\x04\xce\x01&9\n\r\n\x05\x04\x10\x02\x03\x03\x12\x04\xce\x01<=\n\x1c\n\x04\x04\x10\x02\x04\x12\x04\xd1\x01\x021\x1a\x0e Oldest first\n\n\r\n\x05\x04\x10\x02\x04\x04\x12\x04\xd1\x01\x02\n\n\r\n\x05\x04\x10\x02\x04\x06\x12\x04\xd1\x01\x0b!\n\r\n\x05\x04\x10\x02\x04\x01\x12\x04\xd1\x01\",\n\r\n\x05\x04\x10\x02\x04\x03\x12\x04\xd1\x01/0\n\x0c\n\x02\x04\x11\x12\x06\xd4\x01\x00\xd7\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xd4\x01\x08 \nh\n\x04\x04\x11\x02\x00\x12\x04\xd6\x01\x02\x1c\x1aZ A block hash, TaggedBase64 `BLOCK~`, or a transaction hash, TaggedBase64 `TX~`. Required\n\n\r\n\x05\x04\x11\x02\x00\x04\x12\x04\xd6\x01\x02\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xd6\x01\x0b\x11\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xd6\x01\x12\x17\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xd6\x01\x1a\x1b\n\x0c\n\x02\x04\x12\x12\x06\xd9\x01\x00\xdd\x01\x01\n\x0b\n\x03\x04\x12\x01\x12\x04\xd9\x01\x08\x1e\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xda\x01\x02+\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xda\x01\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xda\x01\x0b\x1f\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xda\x01 &\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xda\x01)*\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\xdc\x01\x027\n\r\n\x05\x04\x12\x02\x01\x04\x12\x04\xdc\x01\x02\n\n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xdc\x01\x0b%\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xdc\x01&2\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xdc\x0156\n\x0c\n\x02\x06\x00\x12\x06\xdf\x01\x00\xfd\x01\x01\n\x0b\n\x03\x06\x00\x01\x12\x04\xdf\x01\x08\x17\n\'\n\x04\x06\x00\x02\x00\x12\x06\xe1\x01\x02\xe3\x01\x03\x1a\x17 Get one block in full\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xe1\x01\x06\x1c\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xe1\x01\x1d:\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xe1\x01E`\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\xe2\x01\x04;\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\xe2\x01\x04;\nC\n\x04\x06\x00\x02\x01\x12\x06\xe6\x01\x02\xe8\x01\x03\x1a3 Get a window of blocks ending at the target block\n\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xe6\x01\x06\x1f\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xe6\x01 @\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xe6\x01Ki\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04\xe7\x01\x04<\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04\xe7\x01\x04<\n@\n\x04\x06\x00\x02\x02\x12\x06\xeb\x01\x02\xed\x01\x03\x1a0 Get one transaction in full, with its payloads\n\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xeb\x01\x06\"\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xeb\x01#F\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xeb\x01Qr\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04\xec\x01\x04A\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04\xec\x01\x04A\nO\n\x04\x06\x00\x02\x03\x12\x06\xf0\x01\x02\xf2\x01\x03\x1a? Get a window of transactions ending at the target transaction\n\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\xf0\x01\x06%\n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\xf0\x01&L\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\xf0\x01W{\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04\xf1\x01\x04B\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04\xf1\x01\x04B\n:\n\x04\x06\x00\x02\x04\x12\x06\xf5\x01\x02\xf7\x01\x03\x1a* Get an at-a-glance snapshot of the chain\n\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\xf5\x01\x06\x18\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\xf5\x01\x192\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\xf5\x01=T\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04\xf6\x01\x04=\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04\xf6\x01\x04=\nN\n\x04\x06\x00\x02\x05\x12\x06\xfa\x01\x02\xfc\x01\x03\x1a> Search the chain for blocks and transactions matching a hash\n\n\r\n\x05\x06\x00\x02\x05\x01\x12\x04\xfa\x01\x06\x17\n\r\n\x05\x06\x00\x02\x05\x02\x12\x04\xfa\x01\x180\n\r\n\x05\x06\x00\x02\x05\x03\x12\x04\xfa\x01;Q\n\r\n\x05\x06\x00\x02\x05\x04\x12\x04\xfb\x01\x04<\n\x11\n\t\x06\x00\x02\x05\x04\xb0\xca\xbc\"\x12\x04\xfb\x01\x04<b\x06proto3\n\xf7\xb6\x01\n\x15v2/light_client.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x15v2/availability.proto\x1a\x0fv2/common.proto\x1a\x18v2/merklized_state.proto\"\x8f\x01\n\x0fCertificatePair\x123\n\x02qc\x18\x01 \x01(\x0b2#.espresso.api.v2.QuorumCertificate2R\x02qc\x12G\n\rnext_epoch_qc\x18\x02 \x01(\x0b2#.espresso.api.v2.QuorumCertificate2R\x0bnextEpochQc\"\x14\n\x12FinalityAssumption\"\x9d\x01\n\x11HotStuff2Finality\x12E\n\rcommitting_qc\x18\x01 \x01(\x0b2 .espresso.api.v2.CertificatePairR\x0ccommittingQc\x12A\n\x0bdeciding_qc\x18\x02 \x01(\x0b2 .espresso.api.v2.CertificatePairR\ndecidingQc\"\x88\x01\n\x13NewProtocolFinality\x123\n\x05cert2\x18\x01 \x01(\x0b2\x1d.espresso.api.v2.Certificate2R\x05cert2\x12<\n\x07leaf_qc\x18\x02 \x01(\x0b2#.espresso.api.v2.QuorumCertificate2R\x06leafQc\"\xe1\x01\n\x10HotStuffFinality\x12C\n\x0cprecommit_qc\x18\x01 \x01(\x0b2 .espresso.api.v2.CertificatePairR\x0bprecommitQc\x12E\n\rcommitting_qc\x18\x02 \x01(\x0b2 .espresso.api.v2.CertificatePairR\x0ccommittingQc\x12A\n\x0bdeciding_qc\x18\x03 \x01(\x0b2 .espresso.api.v2.CertificatePairR\ndecidingQc\"\xb1\x02\n\rFinalityProof\x12E\n\nassumption\x18\x01 \x01(\x0b2#.espresso.api.v2.FinalityAssumptionH\x00R\nassumption\x12C\n\nhot_stuff2\x18\x02 \x01(\x0b2\".espresso.api.v2.HotStuff2FinalityH\x00R\thotStuff2\x12I\n\x0cnew_protocol\x18\x03 \x01(\x0b2$.espresso.api.v2.NewProtocolFinalityH\x00R\x0bnewProtocol\x12@\n\thot_stuff\x18\x04 \x01(\x0b2!.espresso.api.v2.HotStuffFinalityH\x00R\x08hotStuffB\x07\n\x05proof\"\x84\x01\n\x1cLightClientLeafProofResponse\x12.\n\x06leaves\x18\x01 \x03(\x0b2\x16.espresso.api.v2.Leaf2R\x06leaves\x124\n\x05proof\x18\x02 \x01(\x0b2\x1e.espresso.api.v2.FinalityProofR\x05proof\"\x87\x02\n\x1eGetLightClientLeafProofRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12\x17\n\x04hash\x18\x02 \x01(\tH\x01R\x04hash\x88\x01\x01\x12\"\n\nblock_hash\x18\x03 \x01(\tH\x02R\tblockHash\x88\x01\x01\x12&\n\x0cpayload_hash\x18\x04 \x01(\tH\x03R\x0bpayloadHash\x88\x01\x01\x12!\n\tfinalized\x18\x05 \x01(\x04H\x04R\tfinalized\x88\x01\x01B\t\n\x07_heightB\x07\n\x05_hashB\r\n\x0b_block_hashB\x0f\n\r_payload_hashB\x0c\n\n_finalized\"\x94\x01\n\x1eLightClientHeaderProofResponse\x127\n\x06header\x18\x01 \x01(\x0b2\x1f.espresso.api.v2.HeaderResponseR\x06header\x129\n\x05proof\x18\x02 \x01(\x0b2#.espresso.api.v2.MerklePathResponseR\x05proof\"\xd8\x01\n GetLightClientHeaderProofRequest\x12\x17\n\x04root\x18\x01 \x01(\x04H\x00R\x04root\x88\x01\x01\x12\x1b\n\x06height\x18\x02 \x01(\x04H\x01R\x06height\x88\x01\x01\x12\"\n\nblock_hash\x18\x03 \x01(\tH\x02R\tblockHash\x88\x01\x01\x12&\n\x0cpayload_hash\x18\x04 \x01(\tH\x03R\x0bpayloadHash\x88\x01\x01B\x07\n\x05_rootB\t\n\x07_heightB\r\n\x0b_block_hashB\x0f\n\r_payload_hash\"*\n\x0cBn254G1Point\x12\x0c\n\x01x\x18\x01 \x01(\tR\x01x\x12\x0c\n\x01y\x18\x02 \x01(\tR\x01y\"N\n\x0cBn254G2Point\x12\x0e\n\x02x0\x18\x01 \x01(\tR\x02x0\x12\x0e\n\x02x1\x18\x02 \x01(\tR\x02x1\x12\x0e\n\x02y0\x18\x03 \x01(\tR\x02y0\x12\x0e\n\x02y1\x18\x04 \x01(\tR\x02y1\",\n\x0eEdOnBn254Point\x12\x0c\n\x01x\x18\x01 \x01(\tR\x01x\x12\x0c\n\x01y\x18\x02 \x01(\tR\x01y\"\xc5\x01\n\x13ValidatorRegistered\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x124\n\x06bls_vk\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.Bn254G2PointR\x05blsVk\x12>\n\nschnorr_vk\x18\x03 \x01(\x0b2\x1f.espresso.api.v2.EdOnBn254PointR\tschnorrVk\x12\x1e\n\ncommission\x18\x04 \x01(\rR\ncommission\"\xc3\x02\n\x15ValidatorRegisteredV2\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x124\n\x06bls_vk\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.Bn254G2PointR\x05blsVk\x12>\n\nschnorr_vk\x18\x03 \x01(\x0b2\x1f.espresso.api.v2.EdOnBn254PointR\tschnorrVk\x12\x1e\n\ncommission\x18\x04 \x01(\rR\ncommission\x126\n\x07bls_sig\x18\x05 \x01(\x0b2\x1d.espresso.api.v2.Bn254G1PointR\x06blsSig\x12\x1f\n\x0bschnorr_sig\x18\x06 \x01(\x0cR\nschnorrSig\x12!\n\x0cmetadata_uri\x18\x07 \x01(\tR\x0bmetadataUri\"\xfd\x02\n\x15ValidatorRegisteredV3\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x124\n\x06bls_vk\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.Bn254G2PointR\x05blsVk\x12>\n\nschnorr_vk\x18\x03 \x01(\x0b2\x1f.espresso.api.v2.EdOnBn254PointR\tschnorrVk\x12\x1e\n\ncommission\x18\x04 \x01(\rR\ncommission\x126\n\x07bls_sig\x18\x05 \x01(\x0b2\x1d.espresso.api.v2.Bn254G1PointR\x06blsSig\x12\x1f\n\x0bschnorr_sig\x18\x06 \x01(\x0cR\nschnorrSig\x12!\n\x0cmetadata_uri\x18\x07 \x01(\tR\x0bmetadataUri\x12\x1d\n\nx25519_key\x18\x08 \x01(\x0cR\tx25519Key\x12\x19\n\x08p2p_addr\x18\t \x01(\tR\x07p2pAddr\"-\n\rValidatorExit\x12\x1c\n\tvalidator\x18\x01 \x01(\tR\tvalidator\"N\n\x0fValidatorExitV2\x12\x1c\n\tvalidator\x18\x01 \x01(\tR\tvalidator\x12\x1d\n\nunlocks_at\x18\x02 \x01(\tR\tunlocksAt\"_\n\tDelegated\x12\x1c\n\tdelegator\x18\x01 \x01(\tR\tdelegator\x12\x1c\n\tvalidator\x18\x02 \x01(\tR\tvalidator\x12\x16\n\x06amount\x18\x03 \x01(\tR\x06amount\"a\n\x0bUndelegated\x12\x1c\n\tdelegator\x18\x01 \x01(\tR\tdelegator\x12\x1c\n\tvalidator\x18\x02 \x01(\tR\tvalidator\x12\x16\n\x06amount\x18\x03 \x01(\tR\x06amount\"\xab\x01\n\rUndelegatedV2\x12\x1c\n\tdelegator\x18\x01 \x01(\tR\tdelegator\x12\x1c\n\tvalidator\x18\x02 \x01(\tR\tvalidator\x12\'\n\x0fundelegation_id\x18\x03 \x01(\x04R\x0eundelegationId\x12\x16\n\x06amount\x18\x04 \x01(\tR\x06amount\x12\x1d\n\nunlocks_at\x18\x05 \x01(\tR\tunlocksAt\"\xa6\x01\n\x14ConsensusKeysUpdated\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x124\n\x06bls_vk\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.Bn254G2PointR\x05blsVk\x12>\n\nschnorr_vk\x18\x03 \x01(\x0b2\x1f.espresso.api.v2.EdOnBn254PointR\tschnorrVk\"\x81\x02\n\x16ConsensusKeysUpdatedV2\x12\x18\n\x07account\x18\x01 \x01(\tR\x07account\x124\n\x06bls_vk\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.Bn254G2PointR\x05blsVk\x12>\n\nschnorr_vk\x18\x03 \x01(\x0b2\x1f.espresso.api.v2.EdOnBn254PointR\tschnorrVk\x126\n\x07bls_sig\x18\x04 \x01(\x0b2\x1d.espresso.api.v2.Bn254G1PointR\x06blsSig\x12\x1f\n\x0bschnorr_sig\x18\x05 \x01(\x0cR\nschnorrSig\"\x9d\x01\n\x11CommissionUpdated\x12\x1c\n\tvalidator\x18\x01 \x01(\tR\tvalidator\x12\x1c\n\ttimestamp\x18\x02 \x01(\tR\ttimestamp\x12%\n\x0eold_commission\x18\x03 \x01(\rR\roldCommission\x12%\n\x0enew_commission\x18\x04 \x01(\rR\rnewCommission\"O\n\x10X25519KeyUpdated\x12\x1c\n\tvalidator\x18\x01 \x01(\tR\tvalidator\x12\x1d\n\nx25519_key\x18\x02 \x01(\x0cR\tx25519Key\"I\n\x0eP2pAddrUpdated\x12\x1c\n\tvalidator\x18\x01 \x01(\tR\tvalidator\x12\x19\n\x08p2p_addr\x18\x02 \x01(\tR\x07p2pAddr\"\xc6\x07\n\x0fStakeTableEvent\x12B\n\x08register\x18\x01 \x01(\x0b2$.espresso.api.v2.ValidatorRegisteredH\x00R\x08register\x12I\n\x0bregister_v2\x18\x02 \x01(\x0b2&.espresso.api.v2.ValidatorRegisteredV2H\x00R\nregisterV2\x12@\n\nderegister\x18\x03 \x01(\x0b2\x1e.espresso.api.v2.ValidatorExitH\x00R\nderegister\x12G\n\rderegister_v2\x18\x04 \x01(\x0b2 .espresso.api.v2.ValidatorExitV2H\x00R\x0cderegisterV2\x128\n\x08delegate\x18\x05 \x01(\x0b2\x1a.espresso.api.v2.DelegatedH\x00R\x08delegate\x12>\n\nundelegate\x18\x06 \x01(\x0b2\x1c.espresso.api.v2.UndelegatedH\x00R\nundelegate\x12E\n\rundelegate_v2\x18\x07 \x01(\x0b2\x1e.espresso.api.v2.UndelegatedV2H\x00R\x0cundelegateV2\x12F\n\nkey_update\x18\x08 \x01(\x0b2%.espresso.api.v2.ConsensusKeysUpdatedH\x00R\tkeyUpdate\x12M\n\rkey_update_v2\x18\t \x01(\x0b2\'.espresso.api.v2.ConsensusKeysUpdatedV2H\x00R\x0bkeyUpdateV2\x12Q\n\x11commission_update\x18\n \x01(\x0b2\".espresso.api.v2.CommissionUpdatedH\x00R\x10commissionUpdate\x12I\n\x0bregister_v3\x18\x0b \x01(\x0b2&.espresso.api.v2.ValidatorRegisteredV3H\x00R\nregisterV3\x12O\n\x11x25519_key_update\x18\x0c \x01(\x0b2!.espresso.api.v2.X25519KeyUpdatedH\x00R\x0fx25519KeyUpdate\x12I\n\x0fp2p_addr_update\x18\r \x01(\x0b2\x1f.espresso.api.v2.P2pAddrUpdatedH\x00R\rp2pAddrUpdateB\x07\n\x05event\"Y\n\x1dLightClientStakeTableResponse\x128\n\x06events\x18\x01 \x03(\x0b2 .espresso.api.v2.StakeTableEventR\x06events\"F\n\x1fGetLightClientStakeTableRequest\x12\x19\n\x05epoch\x18\x01 \x01(\x04H\x00R\x05epoch\x88\x01\x01B\x08\n\x06_epoch\"\x90\x01\n\x1fLightClientPayloadProofResponse\x122\n\x07payload\x18\x01 \x01(\x0b2\x18.espresso.api.v2.PayloadR\x07payload\x129\n\nvid_common\x18\x02 \x01(\x0b2\x1a.espresso.api.v2.VidCommonR\tvidCommon\"K\n!GetLightClientPayloadProofRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01B\t\n\x07_height\"_\n\'GetLightClientPayloadProofRangesRequest\x124\n\x06ranges\x18\x01 \x03(\x0b2\x1c.espresso.api.v2.HeightRangeR\x06ranges\"o\n&GetLightClientPayloadProofRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_until\"p\n$LightClientPayloadProofRangeResponse\x12H\n\x06proofs\x18\x01 \x03(\x0b20.espresso.api.v2.LightClientPayloadProofResponseR\x06proofs\"\x8e\x01\n!LightClientNamespaceProofContents\x12.\n\x05proof\x18\x01 \x01(\x0b2\x18.espresso.api.v2.NsProofR\x05proof\x129\n\nvid_common\x18\x02 \x01(\x0b2\x1a.espresso.api.v2.VidCommonR\tvidCommon\"s\n!LightClientNamespaceProofResponse\x12N\n\x08contents\x18\x01 \x01(\x0b22.espresso.api.v2.LightClientNamespaceProofContentsR\x08contents\"~\n#GetLightClientNamespaceProofRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01\x12!\n\tnamespace\x18\x02 \x01(\x04H\x01R\tnamespace\x88\x01\x01B\t\n\x07_heightB\x0c\n\n_namespace\"\xa2\x01\n(GetLightClientNamespaceProofRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01\x12!\n\tnamespace\x18\x03 \x01(\x04H\x02R\tnamespace\x88\x01\x01B\x07\n\x05_fromB\x08\n\x06_untilB\x0c\n\n_namespace\"t\n&LightClientNamespaceProofRangeResponse\x12J\n\x06proofs\x18\x01 \x03(\x0b22.espresso.api.v2.LightClientNamespaceProofResponseR\x06proofs\"\x92\x01\n)GetLightClientNamespacesProofRangeRequest\x12\x17\n\x04from\x18\x01 \x01(\x04H\x00R\x04from\x88\x01\x01\x12\x19\n\x05until\x18\x02 \x01(\x04H\x01R\x05until\x88\x01\x01\x12\x1e\n\nnamespaces\x18\x03 \x03(\x04R\nnamespacesB\x07\n\x05_fromB\x08\n\x06_until\"\xdc\x01\n\x1aLightClientNamespacesProof\x12O\n\x06proofs\x18\x01 \x03(\x0b27.espresso.api.v2.LightClientNamespacesProof.ProofsEntryR\x06proofs\x1am\n\x0bProofsEntry\x12\x10\n\x03key\x18\x01 \x01(\x04R\x03key\x12H\n\x05value\x18\x02 \x01(\x0b22.espresso.api.v2.LightClientNamespaceProofContentsR\x05value:\x028\x01\"n\n\'LightClientNamespacesProofRangeResponse\x12C\n\x06blocks\x18\x01 \x03(\x0b2+.espresso.api.v2.LightClientNamespacesProofR\x06blocks2\xda\x0c\n\x12LightClientService\x12\x98\x01\n\x17GetLightClientLeafProof\x12/.espresso.api.v2.GetLightClientLeafProofRequest\x1a-.espresso.api.v2.LightClientLeafProofResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v2/light-client/leaf\x12\xa0\x01\n\x19GetLightClientHeaderProof\x121.espresso.api.v2.GetLightClientHeaderProofRequest\x1a/.espresso.api.v2.LightClientHeaderProofResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2/light-client/header\x12\xa2\x01\n\x18GetLightClientStakeTable\x120.espresso.api.v2.GetLightClientStakeTableRequest\x1a..espresso.api.v2.LightClientStakeTableResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v2/light-client/stake-table\x12\xa4\x01\n\x1aGetLightClientPayloadProof\x122.espresso.api.v2.GetLightClientPayloadProofRequest\x1a0.espresso.api.v2.LightClientPayloadProofResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v2/light-client/payload\x12\xb9\x01\n\x1fGetLightClientPayloadProofRange\x127.espresso.api.v2.GetLightClientPayloadProofRangeRequest\x1a5.espresso.api.v2.LightClientPayloadProofRangeResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/v2/light-client/payload-range\x12\xbf\x01\n GetLightClientPayloadProofRanges\x128.espresso.api.v2.GetLightClientPayloadProofRangesRequest\x1a5.espresso.api.v2.LightClientPayloadProofRangeResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v2/light-client/payload-ranges:\x01*\x12\xac\x01\n\x1cGetLightClientNamespaceProof\x124.espresso.api.v2.GetLightClientNamespaceProofRequest\x1a2.espresso.api.v2.LightClientNamespaceProofResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/v2/light-client/namespace\x12\xc1\x01\n!GetLightClientNamespaceProofRange\x129.espresso.api.v2.GetLightClientNamespaceProofRangeRequest\x1a7.espresso.api.v2.LightClientNamespaceProofRangeResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v2/light-client/namespace-range\x12\xc8\x01\n\"GetLightClientNamespacesProofRange\x12:.espresso.api.v2.GetLightClientNamespacesProofRangeRequest\x1a8.espresso.api.v2.LightClientNamespacesProofRangeResponse\",\x82\xd3\xe4\x93\x02&\"!/v2/light-client/namespaces-range:\x01*J\xf2r\n\x07\x12\x05\x00\x00\xde\x03\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x1f\n\t\n\x02\x03\x02\x12\x03\x06\x00\x19\n\t\n\x02\x03\x03\x12\x03\x07\x00\"\n\xb3\x02\n\x02\x04\x00\x12\x04\x0e\x00\x13\x01\x1a[ A QC, paired with the next epoch\'s QC for the same leaf when the leaf hands over an epoch\n2\xc9\x01 The module a light client reads from an untrusted node. Every response is a proof the client\n checks against state it already trusts, so nothing here is verified by the server on the\n client\'s behalf\n\n\n\n\x03\x04\x00\x01\x12\x03\x0e\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0f\x02\x1c\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0f\x02\x14\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0f\x15\x17\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0f\x1a\x1b\n6\n\x04\x04\x00\x02\x01\x12\x03\x12\x02\'\x1a) Only on a leaf that hands over an epoch\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x12\x02\x14\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x12\x15\"\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x12%&\n~\n\x02\x04\x01\x12\x03\x17\x00\x1d\x1as The client already trusts the leaf at the requested finalized height, whose parent is the last\n leaf of the chain\n\n\n\n\x03\x04\x01\x01\x12\x03\x17\x08\x1a\n>\n\x02\x04\x02\x12\x04\x1a\x00\x1e\x01\x1a2 A 2-chain of QCs under the HotStuff2 commit rule\n\n\n\n\x03\x04\x02\x01\x12\x03\x1a\x08\x19\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1b\x02$\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x1b\x02\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1b\x12\x1f\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1b\"#\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1d\x02\"\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\x1d\x02\x11\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1d\x12\x1d\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1d !\n:\n\x02\x04\x03\x12\x04!\x00&\x01\x1a. A phase-2 certificate under the new protocol\n\n\n\n\x03\x04\x03\x01\x12\x03!\x08\x1b\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\"\x02\x19\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03\"\x02\x0e\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\"\x0f\x14\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\"\x17\x18\nb\n\x04\x04\x03\x02\x01\x12\x03%\x02!\x1aU The QC certifying the leaf `cert2` commits, needed to rebuild the leaf\'s query data\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03%\x02\x14\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03%\x15\x1c\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03%\x1f \nF\n\x02\x04\x04\x12\x04)\x00/\x01\x1a: A 3-chain of QCs under the original HotStuff commit rule\n\n\n\n\x03\x04\x04\x01\x12\x03)\x08\x18\n\x0b\n\x04\x04\x04\x02\x00\x12\x03*\x02#\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03*\x02\x11\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03*\x12\x1e\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03*!\"\n\x0b\n\x04\x04\x04\x02\x01\x12\x03,\x02$\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03,\x02\x11\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03,\x12\x1f\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03,\"#\n\x0b\n\x04\x04\x04\x02\x02\x12\x03.\x02\"\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03.\x02\x11\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03.\x12\x1d\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03. !\ne\n\x02\x04\x05\x12\x042\x00<\x01\x1aY Evidence that the last leaf of a leaf chain is finalized. The arm names the commit rule\n\n\n\n\x03\x04\x05\x01\x12\x032\x08\x15\n\x0c\n\x04\x04\x05\x08\x00\x12\x043\x02;\x03\n\x0c\n\x05\x04\x05\x08\x00\x01\x12\x033\x08\r\n\x0b\n\x04\x04\x05\x02\x00\x12\x034\x04&\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x034\x04\x16\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x034\x17!\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x034$%\n\x0b\n\x04\x04\x05\x02\x01\x12\x036\x04%\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x036\x04\x15\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x036\x16 \n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x036#$\n\x0b\n\x04\x04\x05\x02\x02\x12\x038\x04)\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x038\x04\x17\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x038\x18$\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x038\'(\n\x0b\n\x04\x04\x05\x02\x03\x12\x03:\x04#\n\x0c\n\x05\x04\x05\x02\x03\x06\x12\x03:\x04\x14\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03:\x15\x1e\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03:!\"\n\n\n\x02\x04\x06\x12\x04>\x00D\x01\n\n\n\x03\x04\x06\x01\x12\x03>\x08$\n\x8a\x01\n\x04\x04\x06\x02\x00\x12\x03A\x02\x1c\x1a} Chronological, joined by `parent_commitment`: the first is the requested leaf, the last is\n the one `proof` shows finalized\n\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x03A\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03A\x0b\x10\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03A\x11\x17\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03A\x1a\x1b\n\x0b\n\x04\x04\x06\x02\x01\x12\x03C\x02\x1a\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03C\x02\x0f\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03C\x10\x15\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03C\x18\x19\n\n\n\x02\x04\x07\x12\x04F\x00Y\x01\n\n\n\x03\x04\x07\x01\x12\x03F\x08&\n&\n\x04\x04\x07\x02\x00\x12\x03H\x02\x1d\x1a\x19 Look up by block height\n\n\x0c\n\x05\x04\x07\x02\x00\x04\x12\x03H\x02\n\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03H\x0b\x11\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03H\x12\x18\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03H\x1b\x1c\n;\n\x04\x04\x07\x02\x01\x12\x03K\x02\x1b\x1a. Look up by leaf hash, TaggedBase64 `COMMIT~`\n\n\x0c\n\x05\x04\x07\x02\x01\x04\x12\x03K\x02\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03K\x0b\x11\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03K\x12\x16\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03K\x19\x1a\n;\n\x04\x04\x07\x02\x02\x12\x03N\x02!\x1a. Look up by block hash, TaggedBase64 `BLOCK~`\n\n\x0c\n\x05\x04\x07\x02\x02\x04\x12\x03N\x02\n\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03N\x0b\x11\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03N\x12\x1c\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03N\x1f \nb\n\x04\x04\x07\x02\x03\x12\x03Q\x02#\x1aU Look up by payload hash, which may match several blocks, of which the first is used\n\n\x0c\n\x05\x04\x07\x02\x03\x04\x12\x03Q\x02\n\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x03Q\x0b\x11\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03Q\x12\x1e\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03Q!\"\n\xcd\x03\n\x04\x04\x07\x02\x04\x12\x03X\x02 \x1a\xbf\x03 A height the client already trusts as finalized, which must be above the requested one. The\n leaf chain then stops at the parent of the leaf at this height, which the client checks\n against the leaf it trusts, with a `FinalityAssumption` proof, unless certificates prove\n finality sooner. It is ignored when it lies further past the requested height than one proof\n may span, and on a new-protocol chain when a stored cert2 gives a shorter chain\n\n\x0c\n\x05\x04\x07\x02\x04\x04\x12\x03X\x02\n\n\x0c\n\x05\x04\x07\x02\x04\x05\x12\x03X\x0b\x11\n\x0c\n\x05\x04\x07\x02\x04\x01\x12\x03X\x12\x1b\n\x0c\n\x05\x04\x07\x02\x04\x03\x12\x03X\x1e\x1f\n\n\n\x02\x04\x08\x12\x04[\x00`\x01\n\n\n\x03\x04\x08\x01\x12\x03[\x08&\n\x0b\n\x04\x04\x08\x02\x00\x12\x03\\\x02\x1c\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03\\\x02\x10\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03\\\x11\x17\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03\\\x1a\x1b\n>\n\x04\x04\x08\x02\x01\x12\x03_\x02\x1f\x1a1 Membership of `header` in the block merkle tree\n\n\x0c\n\x05\x04\x08\x02\x01\x06\x12\x03_\x02\x14\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03_\x15\x1a\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03_\x1d\x1e\n\n\n\x02\x04\t\x12\x04b\x00o\x01\n\n\n\x03\x04\t\x01\x12\x03b\x08(\n\x9d\x01\n\x04\x04\t\x02\x00\x12\x03e\x02\x1b\x1a\x8f\x01 Height of the block merkle tree root the proof is against, which the client already trusts.\n Required, and must be above the requested header\n\n\x0c\n\x05\x04\t\x02\x00\x04\x12\x03e\x02\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03e\x0b\x11\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03e\x12\x16\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03e\x19\x1a\n&\n\x04\x04\t\x02\x01\x12\x03h\x02\x1d\x1a\x19 Look up by block height\n\n\x0c\n\x05\x04\t\x02\x01\x04\x12\x03h\x02\n\n\x0c\n\x05\x04\t\x02\x01\x05\x12\x03h\x0b\x11\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03h\x12\x18\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03h\x1b\x1c\n;\n\x04\x04\t\x02\x02\x12\x03k\x02!\x1a. Look up by block hash, TaggedBase64 `BLOCK~`\n\n\x0c\n\x05\x04\t\x02\x02\x04\x12\x03k\x02\n\n\x0c\n\x05\x04\t\x02\x02\x05\x12\x03k\x0b\x11\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03k\x12\x1c\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03k\x1f \nb\n\x04\x04\t\x02\x03\x12\x03n\x02#\x1aU Look up by payload hash, which may match several blocks, of which the first is used\n\n\x0c\n\x05\x04\t\x02\x03\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\t\x02\x03\x05\x12\x03n\x0b\x11\n\x0c\n\x05\x04\t\x02\x03\x01\x12\x03n\x12\x1e\n\x0c\n\x05\x04\t\x02\x03\x03\x12\x03n!\"\nB\n\x02\x04\n\x12\x04r\x00v\x01\x1a6 Coordinates are `0x`-prefixed hex, as v1 serves them\n\n\n\n\x03\x04\n\x01\x12\x03r\x08\x14\n\x0b\n\x04\x04\n\x02\x00\x12\x03s\x02\x0f\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03s\x02\x08\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03s\t\n\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03s\r\x0e\n\x0b\n\x04\x04\n\x02\x01\x12\x03u\x02\x0f\n\x0c\n\x05\x04\n\x02\x01\x05\x12\x03u\x02\x08\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03u\t\n\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03u\r\x0e\nC\n\x02\x04\x0b\x12\x05y\x00\x81\x01\x01\x1a6 Coordinates are `0x`-prefixed hex, as v1 serves them\n\n\n\n\x03\x04\x0b\x01\x12\x03y\x08\x14\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03z\x02\x10\n\x0c\n\x05\x04\x0b\x02\x00\x05\x12\x03z\x02\x08\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03z\t\x0b\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03z\x0e\x0f\n\x0b\n\x04\x04\x0b\x02\x01\x12\x03|\x02\x10\n\x0c\n\x05\x04\x0b\x02\x01\x05\x12\x03|\x02\x08\n\x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03|\t\x0b\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03|\x0e\x0f\n\x0b\n\x04\x04\x0b\x02\x02\x12\x03~\x02\x10\n\x0c\n\x05\x04\x0b\x02\x02\x05\x12\x03~\x02\x08\n\x0c\n\x05\x04\x0b\x02\x02\x01\x12\x03~\t\x0b\n\x0c\n\x05\x04\x0b\x02\x02\x03\x12\x03~\x0e\x0f\n\x0c\n\x04\x04\x0b\x02\x03\x12\x04\x80\x01\x02\x10\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\x80\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\x80\x01\t\x0b\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x80\x01\x0e\x0f\nD\n\x02\x04\x0c\x12\x06\x84\x01\x00\x88\x01\x01\x1a6 Coordinates are `0x`-prefixed hex, as v1 serves them\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x84\x01\x08\x16\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\x85\x01\x02\x0f\n\r\n\x05\x04\x0c\x02\x00\x05\x12\x04\x85\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x85\x01\t\n\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x85\x01\r\x0e\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\x87\x01\x02\x0f\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x87\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x87\x01\t\n\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\x87\x01\r\x0e\n\x0c\n\x02\x04\r\x12\x06\x8a\x01\x00\x94\x01\x01\n\x0b\n\x03\x04\r\x01\x12\x04\x8a\x01\x08\x1b\n!\n\x04\x04\r\x02\x00\x12\x04\x8c\x01\x02\x15\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\r\x02\x00\x05\x12\x04\x8c\x01\x02\x08\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\x8c\x01\t\x10\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\x8c\x01\x13\x14\n\x0c\n\x04\x04\r\x02\x01\x12\x04\x8e\x01\x02\x1a\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\x8e\x01\x02\x0e\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\x8e\x01\x0f\x15\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\x8e\x01\x18\x19\n\x0c\n\x04\x04\r\x02\x02\x12\x04\x90\x01\x02 \n\r\n\x05\x04\r\x02\x02\x06\x12\x04\x90\x01\x02\x10\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\x90\x01\x11\x1b\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\x90\x01\x1e\x1f\n\x1f\n\x04\x04\r\x02\x03\x12\x04\x93\x01\x02\x18\x1a\x11 In basis points\n\n\r\n\x05\x04\r\x02\x03\x05\x12\x04\x93\x01\x02\x08\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\x93\x01\t\x13\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\x93\x01\x16\x17\n\x0c\n\x02\x04\x0e\x12\x06\x96\x01\x00\xa7\x01\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\x96\x01\x08\x1d\n!\n\x04\x04\x0e\x02\x00\x12\x04\x98\x01\x02\x15\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\x98\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x98\x01\t\x10\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x98\x01\x13\x14\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\x9a\x01\x02\x1a\n\r\n\x05\x04\x0e\x02\x01\x06\x12\x04\x9a\x01\x02\x0e\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\x9a\x01\x0f\x15\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\x9a\x01\x18\x19\n\x0c\n\x04\x04\x0e\x02\x02\x12\x04\x9c\x01\x02 \n\r\n\x05\x04\x0e\x02\x02\x06\x12\x04\x9c\x01\x02\x10\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\x9c\x01\x11\x1b\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\x9c\x01\x1e\x1f\n\x1f\n\x04\x04\x0e\x02\x03\x12\x04\x9f\x01\x02\x18\x1a\x11 In basis points\n\n\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\x9f\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\x9f\x01\t\x13\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\x9f\x01\x16\x17\n\x0c\n\x04\x04\x0e\x02\x04\x12\x04\xa1\x01\x02\x1b\n\r\n\x05\x04\x0e\x02\x04\x06\x12\x04\xa1\x01\x02\x0e\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xa1\x01\x0f\x16\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xa1\x01\x19\x1a\n`\n\x04\x04\x0e\x02\x05\x12\x04\xa4\x01\x02\x18\x1aR The signature bytes the contract event carries, base64 in JSON, not TaggedBase64\n\n\r\n\x05\x04\x0e\x02\x05\x05\x12\x04\xa4\x01\x02\x07\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\xa4\x01\x08\x13\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\xa4\x01\x16\x17\n\x0c\n\x04\x04\x0e\x02\x06\x12\x04\xa6\x01\x02\x1a\n\r\n\x05\x04\x0e\x02\x06\x05\x12\x04\xa6\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x06\x01\x12\x04\xa6\x01\t\x15\n\r\n\x05\x04\x0e\x02\x06\x03\x12\x04\xa6\x01\x18\x19\n\x0c\n\x02\x04\x0f\x12\x06\xa9\x01\x00\xc0\x01\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xa9\x01\x08\x1d\n!\n\x04\x04\x0f\x02\x00\x12\x04\xab\x01\x02\x15\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x0f\x02\x00\x05\x12\x04\xab\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xab\x01\t\x10\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xab\x01\x13\x14\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\xad\x01\x02\x1a\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xad\x01\x02\x0e\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xad\x01\x0f\x15\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xad\x01\x18\x19\n\x0c\n\x04\x04\x0f\x02\x02\x12\x04\xaf\x01\x02 \n\r\n\x05\x04\x0f\x02\x02\x06\x12\x04\xaf\x01\x02\x10\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xaf\x01\x11\x1b\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xaf\x01\x1e\x1f\n\x1f\n\x04\x04\x0f\x02\x03\x12\x04\xb2\x01\x02\x18\x1a\x11 In basis points\n\n\r\n\x05\x04\x0f\x02\x03\x05\x12\x04\xb2\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xb2\x01\t\x13\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xb2\x01\x16\x17\n\x0c\n\x04\x04\x0f\x02\x04\x12\x04\xb4\x01\x02\x1b\n\r\n\x05\x04\x0f\x02\x04\x06\x12\x04\xb4\x01\x02\x0e\n\r\n\x05\x04\x0f\x02\x04\x01\x12\x04\xb4\x01\x0f\x16\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\xb4\x01\x19\x1a\n`\n\x04\x04\x0f\x02\x05\x12\x04\xb7\x01\x02\x18\x1aR The signature bytes the contract event carries, base64 in JSON, not TaggedBase64\n\n\r\n\x05\x04\x0f\x02\x05\x05\x12\x04\xb7\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x05\x01\x12\x04\xb7\x01\x08\x13\n\r\n\x05\x04\x0f\x02\x05\x03\x12\x04\xb7\x01\x16\x17\n\x0c\n\x04\x04\x0f\x02\x06\x12\x04\xb9\x01\x02\x1a\n\r\n\x05\x04\x0f\x02\x06\x05\x12\x04\xb9\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x06\x01\x12\x04\xb9\x01\t\x15\n\r\n\x05\x04\x0f\x02\x06\x03\x12\x04\xb9\x01\x18\x19\n~\n\x04\x04\x0f\x02\x07\x12\x04\xbd\x01\x02\x17\x1ap The 32 key bytes the contract event carries, base64 in JSON, not the TaggedBase64 form the\n node module serves\n\n\r\n\x05\x04\x0f\x02\x07\x05\x12\x04\xbd\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x07\x01\x12\x04\xbd\x01\x08\x12\n\r\n\x05\x04\x0f\x02\x07\x03\x12\x04\xbd\x01\x15\x16\n\x0c\n\x04\x04\x0f\x02\x08\x12\x04\xbf\x01\x02\x16\n\r\n\x05\x04\x0f\x02\x08\x05\x12\x04\xbf\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x08\x01\x12\x04\xbf\x01\t\x11\n\r\n\x05\x04\x0f\x02\x08\x03\x12\x04\xbf\x01\x14\x15\n\x0c\n\x02\x04\x10\x12\x06\xc2\x01\x00\xc5\x01\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xc2\x01\x08\x15\n!\n\x04\x04\x10\x02\x00\x12\x04\xc4\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x10\x02\x00\x05\x12\x04\xc4\x01\x02\x08\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xc4\x01\t\x12\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xc4\x01\x15\x16\n\x0c\n\x02\x04\x11\x12\x06\xc7\x01\x00\xcd\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xc7\x01\x08\x17\n!\n\x04\x04\x11\x02\x00\x12\x04\xc9\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xc9\x01\x02\x08\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xc9\x01\t\x12\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xc9\x01\x15\x16\n>\n\x04\x04\x11\x02\x01\x12\x04\xcc\x01\x02\x18\x1a0 Unix timestamp in seconds, as a decimal string\n\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\xcc\x01\x02\x08\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xcc\x01\t\x13\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xcc\x01\x16\x17\n\x0c\n\x02\x04\x12\x12\x06\xcf\x01\x00\xd8\x01\x01\n\x0b\n\x03\x04\x12\x01\x12\x04\xcf\x01\x08\x11\n!\n\x04\x04\x12\x02\x00\x12\x04\xd1\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x12\x02\x00\x05\x12\x04\xd1\x01\x02\x08\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xd1\x01\t\x12\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xd1\x01\x15\x16\n!\n\x04\x04\x12\x02\x01\x12\x04\xd4\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\xd4\x01\x02\x08\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xd4\x01\t\x12\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xd4\x01\x15\x16\n+\n\x04\x04\x12\x02\x02\x12\x04\xd7\x01\x02\x14\x1a\x1d In wei, as a decimal string\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xd7\x01\x02\x08\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\xd7\x01\t\x0f\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\xd7\x01\x12\x13\n\x0c\n\x02\x04\x13\x12\x06\xda\x01\x00\xe3\x01\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\xda\x01\x08\x13\n!\n\x04\x04\x13\x02\x00\x12\x04\xdc\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xdc\x01\x02\x08\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xdc\x01\t\x12\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xdc\x01\x15\x16\n!\n\x04\x04\x13\x02\x01\x12\x04\xdf\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\xdf\x01\x02\x08\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xdf\x01\t\x12\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xdf\x01\x15\x16\n+\n\x04\x04\x13\x02\x02\x12\x04\xe2\x01\x02\x14\x1a\x1d In wei, as a decimal string\n\n\r\n\x05\x04\x13\x02\x02\x05\x12\x04\xe2\x01\x02\x08\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xe2\x01\t\x0f\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xe2\x01\x12\x13\n\x0c\n\x02\x04\x14\x12\x06\xe5\x01\x00\xf3\x01\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xe5\x01\x08\x15\n!\n\x04\x04\x14\x02\x00\x12\x04\xe7\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x14\x02\x00\x05\x12\x04\xe7\x01\x02\x08\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xe7\x01\t\x12\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xe7\x01\x15\x16\n!\n\x04\x04\x14\x02\x01\x12\x04\xea\x01\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xea\x01\x02\x08\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xea\x01\t\x12\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xea\x01\x15\x16\n\x0c\n\x04\x04\x14\x02\x02\x12\x04\xec\x01\x02\x1d\n\r\n\x05\x04\x14\x02\x02\x05\x12\x04\xec\x01\x02\x08\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xec\x01\t\x18\n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\xec\x01\x1b\x1c\n+\n\x04\x04\x14\x02\x03\x12\x04\xef\x01\x02\x14\x1a\x1d In wei, as a decimal string\n\n\r\n\x05\x04\x14\x02\x03\x05\x12\x04\xef\x01\x02\x08\n\r\n\x05\x04\x14\x02\x03\x01\x12\x04\xef\x01\t\x0f\n\r\n\x05\x04\x14\x02\x03\x03\x12\x04\xef\x01\x12\x13\n>\n\x04\x04\x14\x02\x04\x12\x04\xf2\x01\x02\x18\x1a0 Unix timestamp in seconds, as a decimal string\n\n\r\n\x05\x04\x14\x02\x04\x05\x12\x04\xf2\x01\x02\x08\n\r\n\x05\x04\x14\x02\x04\x01\x12\x04\xf2\x01\t\x13\n\r\n\x05\x04\x14\x02\x04\x03\x12\x04\xf2\x01\x16\x17\n\x0c\n\x02\x04\x15\x12\x06\xf5\x01\x00\xfc\x01\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xf5\x01\x08\x1c\n!\n\x04\x04\x15\x02\x00\x12\x04\xf7\x01\x02\x15\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x15\x02\x00\x05\x12\x04\xf7\x01\x02\x08\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xf7\x01\t\x10\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xf7\x01\x13\x14\n\x0c\n\x04\x04\x15\x02\x01\x12\x04\xf9\x01\x02\x1a\n\r\n\x05\x04\x15\x02\x01\x06\x12\x04\xf9\x01\x02\x0e\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xf9\x01\x0f\x15\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\xf9\x01\x18\x19\n\x0c\n\x04\x04\x15\x02\x02\x12\x04\xfb\x01\x02 \n\r\n\x05\x04\x15\x02\x02\x06\x12\x04\xfb\x01\x02\x10\n\r\n\x05\x04\x15\x02\x02\x01\x12\x04\xfb\x01\x11\x1b\n\r\n\x05\x04\x15\x02\x02\x03\x12\x04\xfb\x01\x1e\x1f\n\x0c\n\x02\x04\x16\x12\x06\xfe\x01\x00\x8a\x02\x01\n\x0b\n\x03\x04\x16\x01\x12\x04\xfe\x01\x08\x1e\n!\n\x04\x04\x16\x02\x00\x12\x04\x80\x02\x02\x15\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x16\x02\x00\x05\x12\x04\x80\x02\x02\x08\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\x80\x02\t\x10\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\x80\x02\x13\x14\n\x0c\n\x04\x04\x16\x02\x01\x12\x04\x82\x02\x02\x1a\n\r\n\x05\x04\x16\x02\x01\x06\x12\x04\x82\x02\x02\x0e\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\x82\x02\x0f\x15\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\x82\x02\x18\x19\n\x0c\n\x04\x04\x16\x02\x02\x12\x04\x84\x02\x02 \n\r\n\x05\x04\x16\x02\x02\x06\x12\x04\x84\x02\x02\x10\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\x84\x02\x11\x1b\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\x84\x02\x1e\x1f\n\x0c\n\x04\x04\x16\x02\x03\x12\x04\x86\x02\x02\x1b\n\r\n\x05\x04\x16\x02\x03\x06\x12\x04\x86\x02\x02\x0e\n\r\n\x05\x04\x16\x02\x03\x01\x12\x04\x86\x02\x0f\x16\n\r\n\x05\x04\x16\x02\x03\x03\x12\x04\x86\x02\x19\x1a\n`\n\x04\x04\x16\x02\x04\x12\x04\x89\x02\x02\x18\x1aR The signature bytes the contract event carries, base64 in JSON, not TaggedBase64\n\n\r\n\x05\x04\x16\x02\x04\x05\x12\x04\x89\x02\x02\x07\n\r\n\x05\x04\x16\x02\x04\x01\x12\x04\x89\x02\x08\x13\n\r\n\x05\x04\x16\x02\x04\x03\x12\x04\x89\x02\x16\x17\n\x0c\n\x02\x04\x17\x12\x06\x8c\x02\x00\x98\x02\x01\n\x0b\n\x03\x04\x17\x01\x12\x04\x8c\x02\x08\x19\n!\n\x04\x04\x17\x02\x00\x12\x04\x8e\x02\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x17\x02\x00\x05\x12\x04\x8e\x02\x02\x08\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\x8e\x02\t\x12\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\x8e\x02\x15\x16\n>\n\x04\x04\x17\x02\x01\x12\x04\x91\x02\x02\x17\x1a0 Unix timestamp in seconds, as a decimal string\n\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\x91\x02\x02\x08\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\x91\x02\t\x12\n\r\n\x05\x04\x17\x02\x01\x03\x12\x04\x91\x02\x15\x16\n\x1f\n\x04\x04\x17\x02\x02\x12\x04\x94\x02\x02\x1c\x1a\x11 In basis points\n\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\x94\x02\x02\x08\n\r\n\x05\x04\x17\x02\x02\x01\x12\x04\x94\x02\t\x17\n\r\n\x05\x04\x17\x02\x02\x03\x12\x04\x94\x02\x1a\x1b\n\x1f\n\x04\x04\x17\x02\x03\x12\x04\x97\x02\x02\x1c\x1a\x11 In basis points\n\n\r\n\x05\x04\x17\x02\x03\x05\x12\x04\x97\x02\x02\x08\n\r\n\x05\x04\x17\x02\x03\x01\x12\x04\x97\x02\t\x17\n\r\n\x05\x04\x17\x02\x03\x03\x12\x04\x97\x02\x1a\x1b\n\x0c\n\x02\x04\x18\x12\x06\x9a\x02\x00\xa1\x02\x01\n\x0b\n\x03\x04\x18\x01\x12\x04\x9a\x02\x08\x18\n!\n\x04\x04\x18\x02\x00\x12\x04\x9c\x02\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x18\x02\x00\x05\x12\x04\x9c\x02\x02\x08\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\x9c\x02\t\x12\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\x9c\x02\x15\x16\n~\n\x04\x04\x18\x02\x01\x12\x04\xa0\x02\x02\x17\x1ap The 32 key bytes the contract event carries, base64 in JSON, not the TaggedBase64 form the\n node module serves\n\n\r\n\x05\x04\x18\x02\x01\x05\x12\x04\xa0\x02\x02\x07\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\xa0\x02\x08\x12\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\xa0\x02\x15\x16\n\x0c\n\x02\x04\x19\x12\x06\xa3\x02\x00\xa8\x02\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\xa3\x02\x08\x16\n!\n\x04\x04\x19\x02\x00\x12\x04\xa5\x02\x02\x17\x1a\x13 `0x`-prefixed hex\n\n\r\n\x05\x04\x19\x02\x00\x05\x12\x04\xa5\x02\x02\x08\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\xa5\x02\t\x12\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\xa5\x02\x15\x16\n\x0c\n\x04\x04\x19\x02\x01\x12\x04\xa7\x02\x02\x16\n\r\n\x05\x04\x19\x02\x01\x05\x12\x04\xa7\x02\x02\x08\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\xa7\x02\t\x11\n\r\n\x05\x04\x19\x02\x01\x03\x12\x04\xa7\x02\x14\x15\nW\n\x02\x04\x1a\x12\x06\xab\x02\x00\xc7\x02\x01\x1aI One stake table contract event. The arm names the event and its version\n\n\x0b\n\x03\x04\x1a\x01\x12\x04\xab\x02\x08\x17\n\x0e\n\x04\x04\x1a\x08\x00\x12\x06\xac\x02\x02\xc6\x02\x03\n\r\n\x05\x04\x1a\x08\x00\x01\x12\x04\xac\x02\x08\r\n\x0c\n\x04\x04\x1a\x02\x00\x12\x04\xad\x02\x04%\n\r\n\x05\x04\x1a\x02\x00\x06\x12\x04\xad\x02\x04\x17\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\xad\x02\x18 \n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\xad\x02#$\n\x0c\n\x04\x04\x1a\x02\x01\x12\x04\xaf\x02\x04*\n\r\n\x05\x04\x1a\x02\x01\x06\x12\x04\xaf\x02\x04\x19\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\xaf\x02\x1a%\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\xaf\x02()\n\x0c\n\x04\x04\x1a\x02\x02\x12\x04\xb1\x02\x04!\n\r\n\x05\x04\x1a\x02\x02\x06\x12\x04\xb1\x02\x04\x11\n\r\n\x05\x04\x1a\x02\x02\x01\x12\x04\xb1\x02\x12\x1c\n\r\n\x05\x04\x1a\x02\x02\x03\x12\x04\xb1\x02\x1f \n\x0c\n\x04\x04\x1a\x02\x03\x12\x04\xb3\x02\x04&\n\r\n\x05\x04\x1a\x02\x03\x06\x12\x04\xb3\x02\x04\x13\n\r\n\x05\x04\x1a\x02\x03\x01\x12\x04\xb3\x02\x14!\n\r\n\x05\x04\x1a\x02\x03\x03\x12\x04\xb3\x02$%\n\x0c\n\x04\x04\x1a\x02\x04\x12\x04\xb5\x02\x04\x1b\n\r\n\x05\x04\x1a\x02\x04\x06\x12\x04\xb5\x02\x04\r\n\r\n\x05\x04\x1a\x02\x04\x01\x12\x04\xb5\x02\x0e\x16\n\r\n\x05\x04\x1a\x02\x04\x03\x12\x04\xb5\x02\x19\x1a\n\x0c\n\x04\x04\x1a\x02\x05\x12\x04\xb7\x02\x04\x1f\n\r\n\x05\x04\x1a\x02\x05\x06\x12\x04\xb7\x02\x04\x0f\n\r\n\x05\x04\x1a\x02\x05\x01\x12\x04\xb7\x02\x10\x1a\n\r\n\x05\x04\x1a\x02\x05\x03\x12\x04\xb7\x02\x1d\x1e\n\x0c\n\x04\x04\x1a\x02\x06\x12\x04\xb9\x02\x04$\n\r\n\x05\x04\x1a\x02\x06\x06\x12\x04\xb9\x02\x04\x11\n\r\n\x05\x04\x1a\x02\x06\x01\x12\x04\xb9\x02\x12\x1f\n\r\n\x05\x04\x1a\x02\x06\x03\x12\x04\xb9\x02\"#\n\x0c\n\x04\x04\x1a\x02\x07\x12\x04\xbb\x02\x04(\n\r\n\x05\x04\x1a\x02\x07\x06\x12\x04\xbb\x02\x04\x18\n\r\n\x05\x04\x1a\x02\x07\x01\x12\x04\xbb\x02\x19#\n\r\n\x05\x04\x1a\x02\x07\x03\x12\x04\xbb\x02&\'\n\x0c\n\x04\x04\x1a\x02\x08\x12\x04\xbd\x02\x04-\n\r\n\x05\x04\x1a\x02\x08\x06\x12\x04\xbd\x02\x04\x1a\n\r\n\x05\x04\x1a\x02\x08\x01\x12\x04\xbd\x02\x1b(\n\r\n\x05\x04\x1a\x02\x08\x03\x12\x04\xbd\x02+,\n\x0c\n\x04\x04\x1a\x02\t\x12\x04\xbf\x02\x04-\n\r\n\x05\x04\x1a\x02\t\x06\x12\x04\xbf\x02\x04\x15\n\r\n\x05\x04\x1a\x02\t\x01\x12\x04\xbf\x02\x16\'\n\r\n\x05\x04\x1a\x02\t\x03\x12\x04\xbf\x02*,\n\x0c\n\x04\x04\x1a\x02\n\x12\x04\xc1\x02\x04+\n\r\n\x05\x04\x1a\x02\n\x06\x12\x04\xc1\x02\x04\x19\n\r\n\x05\x04\x1a\x02\n\x01\x12\x04\xc1\x02\x1a%\n\r\n\x05\x04\x1a\x02\n\x03\x12\x04\xc1\x02(*\n\x0c\n\x04\x04\x1a\x02\x0b\x12\x04\xc3\x02\x04,\n\r\n\x05\x04\x1a\x02\x0b\x06\x12\x04\xc3\x02\x04\x14\n\r\n\x05\x04\x1a\x02\x0b\x01\x12\x04\xc3\x02\x15&\n\r\n\x05\x04\x1a\x02\x0b\x03\x12\x04\xc3\x02)+\n\x0c\n\x04\x04\x1a\x02\x0c\x12\x04\xc5\x02\x04(\n\r\n\x05\x04\x1a\x02\x0c\x06\x12\x04\xc5\x02\x04\x12\n\r\n\x05\x04\x1a\x02\x0c\x01\x12\x04\xc5\x02\x13\"\n\r\n\x05\x04\x1a\x02\x0c\x03\x12\x04\xc5\x02%\'\n\x0c\n\x02\x04\x1b\x12\x06\xc9\x02\x00\xcc\x02\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\xc9\x02\x08%\nd\n\x04\x04\x1b\x02\x00\x12\x04\xcb\x02\x02&\x1aV In L1 order: replaying them onto the previous epoch\'s stake table gives this epoch\'s\n\n\r\n\x05\x04\x1b\x02\x00\x04\x12\x04\xcb\x02\x02\n\n\r\n\x05\x04\x1b\x02\x00\x06\x12\x04\xcb\x02\x0b\x1a\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\xcb\x02\x1b!\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\xcb\x02$%\n\x0c\n\x02\x04\x1c\x12\x06\xce\x02\x00\xd1\x02\x01\n\x0b\n\x03\x04\x1c\x01\x12\x04\xce\x02\x08\'\n?\n\x04\x04\x1c\x02\x00\x12\x04\xd0\x02\x02\x1c\x1a1 Required, and at least two past the first epoch\n\n\r\n\x05\x04\x1c\x02\x00\x04\x12\x04\xd0\x02\x02\n\n\r\n\x05\x04\x1c\x02\x00\x05\x12\x04\xd0\x02\x0b\x11\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\xd0\x02\x12\x17\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\xd0\x02\x1a\x1b\n\x0c\n\x02\x04\x1d\x12\x06\xd3\x02\x00\xd8\x02\x01\n\x0b\n\x03\x04\x1d\x01\x12\x04\xd3\x02\x08\'\n\x0c\n\x04\x04\x1d\x02\x00\x12\x04\xd4\x02\x02\x16\n\r\n\x05\x04\x1d\x02\x00\x06\x12\x04\xd4\x02\x02\t\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xd4\x02\n\x11\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xd4\x02\x14\x15\nO\n\x04\x04\x1d\x02\x01\x12\x04\xd7\x02\x02\x1b\x1aA What the client recomputes the header\'s payload commitment from\n\n\r\n\x05\x04\x1d\x02\x01\x06\x12\x04\xd7\x02\x02\x0b\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\xd7\x02\x0c\x16\n\r\n\x05\x04\x1d\x02\x01\x03\x12\x04\xd7\x02\x19\x1a\n\x0c\n\x02\x04\x1e\x12\x06\xda\x02\x00\xdd\x02\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\xda\x02\x08)\n\x18\n\x04\x04\x1e\x02\x00\x12\x04\xdc\x02\x02\x1d\x1a\n Required\n\n\r\n\x05\x04\x1e\x02\x00\x04\x12\x04\xdc\x02\x02\n\n\r\n\x05\x04\x1e\x02\x00\x05\x12\x04\xdc\x02\x0b\x11\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\xdc\x02\x12\x18\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\xdc\x02\x1b\x1c\n\x0c\n\x02\x04\x1f\x12\x06\xdf\x02\x00\xe2\x02\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\xdf\x02\x08/\nl\n\x04\x04\x1f\x02\x00\x12\x04\xe1\x02\x02\"\x1a^ Each non-empty, ascending and disjoint, and together bounded by the large-object range limit\n\n\r\n\x05\x04\x1f\x02\x00\x04\x12\x04\xe1\x02\x02\n\n\r\n\x05\x04\x1f\x02\x00\x06\x12\x04\xe1\x02\x0b\x16\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\xe1\x02\x17\x1d\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\xe1\x02 !\n\x0c\n\x02\x04 \x12\x06\xe4\x02\x00\xea\x02\x01\n\x0b\n\x03\x04 \x01\x12\x04\xe4\x02\x08.\nR\n\x04\x04 \x02\x00\x12\x04\xe6\x02\x02\x1b\x1aD Required, the first height in the range (inclusive), below `until`\n\n\r\n\x05\x04 \x02\x00\x04\x12\x04\xe6\x02\x02\n\n\r\n\x05\x04 \x02\x00\x05\x12\x04\xe6\x02\x0b\x11\n\r\n\x05\x04 \x02\x00\x01\x12\x04\xe6\x02\x12\x16\n\r\n\x05\x04 \x02\x00\x03\x12\x04\xe6\x02\x19\x1a\nF\n\x04\x04 \x02\x01\x12\x04\xe9\x02\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04 \x02\x01\x04\x12\x04\xe9\x02\x02\n\n\r\n\x05\x04 \x02\x01\x05\x12\x04\xe9\x02\x0b\x11\n\r\n\x05\x04 \x02\x01\x01\x12\x04\xe9\x02\x12\x17\n\r\n\x05\x04 \x02\x01\x03\x12\x04\xe9\x02\x1a\x1b\n\x0c\n\x02\x04!\x12\x06\xec\x02\x00\xee\x02\x01\n\x0b\n\x03\x04!\x01\x12\x04\xec\x02\x08,\n\x0c\n\x04\x04!\x02\x00\x12\x04\xed\x02\x026\n\r\n\x05\x04!\x02\x00\x04\x12\x04\xed\x02\x02\n\n\r\n\x05\x04!\x02\x00\x06\x12\x04\xed\x02\x0b*\n\r\n\x05\x04!\x02\x00\x01\x12\x04\xed\x02+1\n\r\n\x05\x04!\x02\x00\x03\x12\x04\xed\x0245\n\x0c\n\x02\x04\"\x12\x06\xf0\x02\x00\xf5\x02\x01\n\x0b\n\x03\x04\"\x01\x12\x04\xf0\x02\x08)\n\x0c\n\x04\x04\"\x02\x00\x12\x04\xf1\x02\x02\x14\n\r\n\x05\x04\"\x02\x00\x06\x12\x04\xf1\x02\x02\t\n\r\n\x05\x04\"\x02\x00\x01\x12\x04\xf1\x02\n\x0f\n\r\n\x05\x04\"\x02\x00\x03\x12\x04\xf1\x02\x12\x13\n\\\n\x04\x04\"\x02\x01\x12\x04\xf4\x02\x02\x1b\x1aN What the client checks `proof` against, with the header\'s payload commitment\n\n\r\n\x05\x04\"\x02\x01\x06\x12\x04\xf4\x02\x02\x0b\n\r\n\x05\x04\"\x02\x01\x01\x12\x04\xf4\x02\x0c\x16\n\r\n\x05\x04\"\x02\x01\x03\x12\x04\xf4\x02\x19\x1a\n\x0c\n\x02\x04#\x12\x06\xf7\x02\x00\xfb\x02\x01\n\x0b\n\x03\x04#\x01\x12\x04\xf7\x02\x08)\n~\n\x04\x04#\x02\x00\x12\x04\xfa\x02\x021\x1ap Absent claims the namespace is not in the block, which the client checks against the header\'s\n namespace table\n\n\r\n\x05\x04#\x02\x00\x06\x12\x04\xfa\x02\x02#\n\r\n\x05\x04#\x02\x00\x01\x12\x04\xfa\x02$,\n\r\n\x05\x04#\x02\x00\x03\x12\x04\xfa\x02/0\n\x0c\n\x02\x04$\x12\x06\xfd\x02\x00\x83\x03\x01\n\x0b\n\x03\x04$\x01\x12\x04\xfd\x02\x08+\n\x18\n\x04\x04$\x02\x00\x12\x04\xff\x02\x02\x1d\x1a\n Required\n\n\r\n\x05\x04$\x02\x00\x04\x12\x04\xff\x02\x02\n\n\r\n\x05\x04$\x02\x00\x05\x12\x04\xff\x02\x0b\x11\n\r\n\x05\x04$\x02\x00\x01\x12\x04\xff\x02\x12\x18\n\r\n\x05\x04$\x02\x00\x03\x12\x04\xff\x02\x1b\x1c\n%\n\x04\x04$\x02\x01\x12\x04\x82\x03\x02 \x1a\x17 Required, a 32-bit id\n\n\r\n\x05\x04$\x02\x01\x04\x12\x04\x82\x03\x02\n\n\r\n\x05\x04$\x02\x01\x05\x12\x04\x82\x03\x0b\x11\n\r\n\x05\x04$\x02\x01\x01\x12\x04\x82\x03\x12\x1b\n\r\n\x05\x04$\x02\x01\x03\x12\x04\x82\x03\x1e\x1f\n\x0c\n\x02\x04%\x12\x06\x85\x03\x00\x8e\x03\x01\n\x0b\n\x03\x04%\x01\x12\x04\x85\x03\x080\nR\n\x04\x04%\x02\x00\x12\x04\x87\x03\x02\x1b\x1aD Required, the first height in the range (inclusive), below `until`\n\n\r\n\x05\x04%\x02\x00\x04\x12\x04\x87\x03\x02\n\n\r\n\x05\x04%\x02\x00\x05\x12\x04\x87\x03\x0b\x11\n\r\n\x05\x04%\x02\x00\x01\x12\x04\x87\x03\x12\x16\n\r\n\x05\x04%\x02\x00\x03\x12\x04\x87\x03\x19\x1a\nF\n\x04\x04%\x02\x01\x12\x04\x8a\x03\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04%\x02\x01\x04\x12\x04\x8a\x03\x02\n\n\r\n\x05\x04%\x02\x01\x05\x12\x04\x8a\x03\x0b\x11\n\r\n\x05\x04%\x02\x01\x01\x12\x04\x8a\x03\x12\x17\n\r\n\x05\x04%\x02\x01\x03\x12\x04\x8a\x03\x1a\x1b\n%\n\x04\x04%\x02\x02\x12\x04\x8d\x03\x02 \x1a\x17 Required, a 32-bit id\n\n\r\n\x05\x04%\x02\x02\x04\x12\x04\x8d\x03\x02\n\n\r\n\x05\x04%\x02\x02\x05\x12\x04\x8d\x03\x0b\x11\n\r\n\x05\x04%\x02\x02\x01\x12\x04\x8d\x03\x12\x1b\n\r\n\x05\x04%\x02\x02\x03\x12\x04\x8d\x03\x1e\x1f\n\x0c\n\x02\x04&\x12\x06\x90\x03\x00\x92\x03\x01\n\x0b\n\x03\x04&\x01\x12\x04\x90\x03\x08.\n\x0c\n\x04\x04&\x02\x00\x12\x04\x91\x03\x028\n\r\n\x05\x04&\x02\x00\x04\x12\x04\x91\x03\x02\n\n\r\n\x05\x04&\x02\x00\x06\x12\x04\x91\x03\x0b,\n\r\n\x05\x04&\x02\x00\x01\x12\x04\x91\x03-3\n\r\n\x05\x04&\x02\x00\x03\x12\x04\x91\x0367\n\x0c\n\x02\x04\'\x12\x06\x94\x03\x00\x9d\x03\x01\n\x0b\n\x03\x04\'\x01\x12\x04\x94\x03\x081\nR\n\x04\x04\'\x02\x00\x12\x04\x96\x03\x02\x1b\x1aD Required, the first height in the range (inclusive), below `until`\n\n\r\n\x05\x04\'\x02\x00\x04\x12\x04\x96\x03\x02\n\n\r\n\x05\x04\'\x02\x00\x05\x12\x04\x96\x03\x0b\x11\n\r\n\x05\x04\'\x02\x00\x01\x12\x04\x96\x03\x12\x16\n\r\n\x05\x04\'\x02\x00\x03\x12\x04\x96\x03\x19\x1a\nF\n\x04\x04\'\x02\x01\x12\x04\x99\x03\x02\x1c\x1a8 Height just past the last one in the range (exclusive)\n\n\r\n\x05\x04\'\x02\x01\x04\x12\x04\x99\x03\x02\n\n\r\n\x05\x04\'\x02\x01\x05\x12\x04\x99\x03\x0b\x11\n\r\n\x05\x04\'\x02\x01\x01\x12\x04\x99\x03\x12\x17\n\r\n\x05\x04\'\x02\x01\x03\x12\x04\x99\x03\x1a\x1b\ng\n\x04\x04\'\x02\x02\x12\x04\x9c\x03\x02!\x1aY Namespaces to prove, each a 32-bit id, at most 100 of them after duplicates are dropped\n\n\r\n\x05\x04\'\x02\x02\x04\x12\x04\x9c\x03\x02\n\n\r\n\x05\x04\'\x02\x02\x05\x12\x04\x9c\x03\x0b\x11\n\r\n\x05\x04\'\x02\x02\x01\x12\x04\x9c\x03\x12\x1c\n\r\n\x05\x04\'\x02\x02\x03\x12\x04\x9c\x03\x1f \n\x0c\n\x02\x04(\x12\x06\x9f\x03\x00\xa4\x03\x01\n\x0b\n\x03\x04(\x01\x12\x04\x9f\x03\x08\"\n\xd9\x01\n\x04\x04(\x02\x00\x12\x04\xa3\x03\x02<\x1a\xca\x01 Keyed by namespace, with an entry only for a requested namespace the block\'s namespace table\n holds. A missing one claims the namespace is not in the block, which the client checks\n against that table\n\n\r\n\x05\x04(\x02\x00\x06\x12\x04\xa3\x03\x020\n\r\n\x05\x04(\x02\x00\x01\x12\x04\xa3\x0317\n\r\n\x05\x04(\x02\x00\x03\x12\x04\xa3\x03:;\n\x0c\n\x02\x04)\x12\x06\xa6\x03\x00\xa9\x03\x01\n\x0b\n\x03\x04)\x01\x12\x04\xa6\x03\x08/\n;\n\x04\x04)\x02\x00\x12\x04\xa8\x03\x021\x1a- One per block in the range, in height order\n\n\r\n\x05\x04)\x02\x00\x04\x12\x04\xa8\x03\x02\n\n\r\n\x05\x04)\x02\x00\x06\x12\x04\xa8\x03\x0b%\n\r\n\x05\x04)\x02\x00\x01\x12\x04\xa8\x03&,\n\r\n\x05\x04)\x02\x00\x03\x12\x04\xa8\x03/0\n\x0c\n\x02\x06\x00\x12\x06\xab\x03\x00\xde\x03\x01\n\x0b\n\x03\x06\x00\x01\x12\x04\xab\x03\x08\x1a\n>\n\x04\x06\x00\x02\x00\x12\x06\xad\x03\x02\xaf\x03\x03\x1a. Get a leaf with a proof that it is finalized\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xad\x03\x06\x1d\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xad\x03\x1e<\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xad\x03Gc\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\xae\x03\x04>\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\xae\x03\x04>\n`\n\x04\x06\x00\x02\x01\x12\x06\xb2\x03\x02\xb4\x03\x03\x1aP Get a header with a proof of membership under a trusted block merkle tree root\n\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xb2\x03\x06\x1f\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xb2\x03 @\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xb2\x03Ki\n\r\n\x05\x06\x00\x02\x01\x04\x12\x04\xb3\x03\x04@\n\x11\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x04\xb3\x03\x04@\ni\n\x04\x06\x00\x02\x02\x12\x06\xb7\x03\x02\xb9\x03\x03\x1aY Get the stake table events that turn the previous epoch\'s stake table into this epoch\'s\n\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xb7\x03\x06\x1e\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xb7\x03\x1f>\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xb7\x03If\n\r\n\x05\x06\x00\x02\x02\x04\x12\x04\xb8\x03\x04E\n\x11\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x04\xb8\x03\x04E\nR\n\x04\x06\x00\x02\x03\x12\x06\xbc\x03\x02\xbe\x03\x03\x1aB Get a block payload with the data to check it against its header\n\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\xbc\x03\x06 \n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\xbc\x03!B\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\xbc\x03Ml\n\r\n\x05\x06\x00\x02\x03\x04\x12\x04\xbd\x03\x04A\n\x11\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x04\xbd\x03\x04A\n:\n\x04\x06\x00\x02\x04\x12\x06\xc1\x03\x02\xc3\x03\x03\x1a* Get payload proofs for a range of blocks\n\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\xc1\x03\x06%\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\xc1\x03&L\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\xc1\x03W{\n\r\n\x05\x06\x00\x02\x04\x04\x12\x04\xc2\x03\x04G\n\x11\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x04\xc2\x03\x04G\nP\n\x04\x06\x00\x02\x05\x12\x06\xc6\x03\x02\xcb\x03\x03\x1a@ Get payload proofs for several ranges of blocks in one request\n\n\r\n\x05\x06\x00\x02\x05\x01\x12\x04\xc6\x03\x06&\n\r\n\x05\x06\x00\x02\x05\x02\x12\x04\xc6\x03\'N\n\r\n\x05\x06\x00\x02\x05\x03\x12\x04\xc6\x03Y}\n\x0f\n\x05\x06\x00\x02\x05\x04\x12\x06\xc7\x03\x04\xca\x03\x06\n\x13\n\t\x06\x00\x02\x05\x04\xb0\xca\xbc\"\x12\x06\xc7\x03\x04\xca\x03\x06\nd\n\x04\x06\x00\x02\x06\x12\x06\xce\x03\x02\xd0\x03\x03\x1aT Get a proof of one namespace\'s transactions in a block, checked against its header\n\n\r\n\x05\x06\x00\x02\x06\x01\x12\x04\xce\x03\x06\"\n\r\n\x05\x06\x00\x02\x06\x02\x12\x04\xce\x03#F\n\r\n\x05\x06\x00\x02\x06\x03\x12\x04\xce\x03Qr\n\r\n\x05\x06\x00\x02\x06\x04\x12\x04\xcf\x03\x04C\n\x11\n\t\x06\x00\x02\x06\x04\xb0\xca\xbc\"\x12\x04\xcf\x03\x04C\nB\n\x04\x06\x00\x02\x07\x12\x06\xd3\x03\x02\xd5\x03\x03\x1a2 Get one namespace\'s proofs for a range of blocks\n\n\r\n\x05\x06\x00\x02\x07\x01\x12\x04\xd3\x03\x06\'\n\r\n\x05\x06\x00\x02\x07\x02\x12\x04\xd3\x03(P\n\x0e\n\x05\x06\x00\x02\x07\x03\x12\x05\xd3\x03[\x81\x01\n\r\n\x05\x06\x00\x02\x07\x04\x12\x04\xd4\x03\x04I\n\x11\n\t\x06\x00\x02\x07\x04\xb0\xca\xbc\"\x12\x04\xd4\x03\x04I\nF\n\x04\x06\x00\x02\x08\x12\x06\xd8\x03\x02\xdd\x03\x03\x1a6 Get several namespaces\' proofs for a range of blocks\n\n\r\n\x05\x06\x00\x02\x08\x01\x12\x04\xd8\x03\x06(\n\r\n\x05\x06\x00\x02\x08\x02\x12\x04\xd8\x03)R\n\x0e\n\x05\x06\x00\x02\x08\x03\x12\x05\xd8\x03]\x84\x01\n\x0f\n\x05\x06\x00\x02\x08\x04\x12\x06\xd9\x03\x04\xdc\x03\x06\n\x13\n\t\x06\x00\x02\x08\x04\xb0\xca\xbc\"\x12\x06\xd9\x03\x04\xdc\x03\x06b\x06proto3\n\xd6\x0e\n\x18v2/state_signature.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\"B\n\x18GetStateSignatureRequest\x12\x1b\n\x06height\x18\x01 \x01(\x04H\x00R\x06height\x88\x01\x01B\t\n\x07_height\"\xf8\x01\n\x16StateSignatureResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x12light_client_state\x18\x02 \x01(\tR\x10lightClientState\x123\n\x16next_stake_table_state\x18\x03 \x01(\tR\x13nextStakeTableState\x12\x1b\n\tauth_root\x18\x04 \x01(\tR\x08authRoot\x12%\n\x0elcv3_signature\x18\x05 \x01(\tR\rlcv3Signature\x12%\n\x0elcv2_signature\x18\x06 \x01(\tR\rlcv2Signature2\xa4\x01\n\x15StateSignatureService\x12\x8a\x01\n\x11GetStateSignature\x12).espresso.api.v2.GetStateSignatureRequest\x1a\'.espresso.api.v2.StateSignatureResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/v2/state-signature/blockJ\x9c\n\n\x06\x12\x04\x00\x00\'\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\n\n\x02\x04\x00\x12\x04\x06\x00\t\x01\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08 \n:\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\x1d\x1a- Block height the signature covers. Required\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x08\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x0b\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x12\x18\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\x1b\x1c\n\xc6\x01\n\x02\x04\x01\x12\x04\r\x00 \x01\x1a\xb9\x01 This node\'s signature over the light client state at one block, in the form the state relay\n server receives it. A node keeps these only for recent blocks, so an older height is a 404\n\n\n\n\x03\x04\x01\x01\x12\x03\r\x08\x1e\nH\n\x04\x04\x01\x02\x00\x12\x03\x0f\x02\x11\x1a; Schnorr verification key, TaggedBase64 `SCHNORR_VER_KEY~`\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x0f\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0f\t\x0c\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0f\x0f\x10\n1\n\x04\x04\x01\x02\x01\x12\x03\x12\x02 \x1a$ TaggedBase64 `LIGHT_CLIENT_STATE~`\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x12\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x12\t\x1b\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x12\x1e\x1f\nT\n\x04\x04\x01\x02\x02\x12\x03\x15\x02$\x1aG Stake table backing the next block, TaggedBase64 `STAKE_TABLE_STATE~`\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x15\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x15\t\x1f\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x15\"#\n(\n\x04\x04\x01\x02\x03\x12\x03\x18\x02\x17\x1a\x1b 32 bytes, 0x-prefixed hex\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x18\t\x12\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x18\x15\x16\n\x92\x01\n\x04\x04\x01\x02\x04\x12\x03\x1c\x02\x1c\x1a\x84\x01 Signature for the LCV3 light-client contract, over the state, the next stake table and the\n auth root, TaggedBase64 `SCHNORR_SIG~`\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03\x1c\x02\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\x1c\t\x17\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x1c\x1a\x1b\nX\n\x04\x04\x01\x02\x05\x12\x03\x1f\x02\x1c\x1aK Signature for the LCV2 light-client contract, TaggedBase64 `SCHNORR_SIG~`\n\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03\x1f\x02\x08\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03\x1f\t\x17\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03\x1f\x1a\x1b\n\n\n\x02\x06\x00\x12\x04\"\x00\'\x01\n\n\n\x03\x06\x00\x01\x12\x03\"\x08\x1d\nH\n\x04\x06\x00\x02\x00\x12\x04$\x02&\x03\x1a: Get this node\'s light client state signature for a block\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03$\x06\x17\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03$\x180\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03$;Q\n\x0c\n\x05\x06\x00\x02\x00\x04\x12\x03%\x04B\n\x10\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x03%\x04Bb\x06proto3\n\xc9\x17\n\x0fv2/status.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x0fv2/common.proto\"\x17\n\x15GetBlockHeightRequest\"-\n\x13BlockHeightResponse\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"\x17\n\x15GetSuccessRateRequest\")\n\x13SuccessRateResponse\x12\x12\n\x04rate\x18\x01 \x01(\x01R\x04rate\"\x1f\n\x1dGetTimeSinceLastDecideRequest\"7\n\x1bTimeSinceLastDecideResponse\x12\x18\n\x07seconds\x18\x01 \x01(\x04R\x07seconds\"\x14\n\x12GetNodeKeysRequest\"\xb3\x02\n\x10NodeKeysResponse\x12$\n\x0beth_account\x18\x01 \x01(\tH\x00R\nethAccount\x88\x01\x01\x12B\n\rconsensus_key\x18\x02 \x01(\x0b2\x1d.espresso.api.v2.BLSPublicKeyR\x0cconsensusKey\x12E\n\rstate_ver_key\x18\x03 \x01(\x0b2!.espresso.api.v2.SchnorrPublicKeyR\x0bstateVerKey\x12\"\n\nx25519_key\x18\x04 \x01(\tH\x01R\tx25519Key\x88\x01\x01\x12\x1e\n\x08p2p_addr\x18\x05 \x01(\tH\x02R\x07p2pAddr\x88\x01\x01B\x0e\n\x0c_eth_accountB\r\n\x0b_x25519_keyB\x0b\n\t_p2p_addr2\xa5\x04\n\rStatusService\x12\x7f\n\x0eGetBlockHeight\x12&.espresso.api.v2.GetBlockHeightRequest\x1a$.espresso.api.v2.BlockHeightResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2/status/block-height\x12\x7f\n\x0eGetSuccessRate\x12&.espresso.api.v2.GetSuccessRateRequest\x1a$.espresso.api.v2.SuccessRateResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/v2/status/success-rate\x12\xa1\x01\n\x16GetTimeSinceLastDecide\x12..espresso.api.v2.GetTimeSinceLastDecideRequest\x1a,.espresso.api.v2.TimeSinceLastDecideResponse\")\x82\xd3\xe4\x93\x02#\x12!/v2/status/time-since-last-decide\x12n\n\x0bGetNodeKeys\x12#.espresso.api.v2.GetNodeKeysRequest\x1a!.espresso.api.v2.NodeKeysResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/v2/status/keysJ\x93\x0e\n\x06\x12\x04\x00\x00C\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x03\x01\x12\x03\x05\x00\x19\n\t\n\x02\x04\x00\x12\x03\x07\x00 \n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x1d\n\n\n\x02\x04\x01\x12\x04\t\x00\x0c\x01\n\n\n\x03\x04\x01\x01\x12\x03\t\x08\x1b\n1\n\x04\x04\x01\x02\x00\x12\x03\x0b\x02\x14\x1a$ Height of the latest decided block\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x0b\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0b\t\x0f\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0b\x12\x13\n\t\n\x02\x04\x02\x12\x03\x0e\x00 \n\n\n\x03\x04\x02\x01\x12\x03\x0e\x08\x1d\n\n\n\x02\x04\x03\x12\x04\x10\x00\x15\x01\n\n\n\x03\x04\x03\x01\x12\x03\x10\x08\x1b\n\xcf\x01\n\x04\x04\x03\x02\x00\x12\x03\x14\x02\x12\x1a\xc1\x01 Fraction of views in which this node decided a block. Node-local, not a network measure.\n Zero before the node has seen any view, so a fresh node reports zero rather than an\n undefined ratio.\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x14\t\r\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x14\x10\x11\n\t\n\x02\x04\x04\x12\x03\x17\x00(\n\n\n\x03\x04\x04\x01\x12\x03\x17\x08%\n\n\n\x02\x04\x05\x12\x04\x19\x00\x1c\x01\n\n\n\x03\x04\x05\x01\x12\x03\x19\x08#\nC\n\x04\x04\x05\x02\x00\x12\x03\x1b\x02\x15\x1a6 Seconds elapsed since this node last decided a block\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03\x1b\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03\x1b\t\x10\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03\x1b\x13\x14\n\t\n\x02\x04\x06\x12\x03\x1e\x00\x1d\n\n\n\x03\x04\x06\x01\x12\x03\x1e\x08\x1a\n\n\n\x02\x04\x07\x12\x04 \x00-\x01\n\n\n\x03\x04\x07\x01\x12\x03 \x08\x18\nJ\n\x04\x04\x07\x02\x00\x12\x03\"\x02\"\x1a= Ethereum account associated with this node, 0x-prefixed hex\n\n\x0c\n\x05\x04\x07\x02\x00\x04\x12\x03\"\x02\n\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03\"\x0b\x11\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03\"\x12\x1d\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03\" !\n\x0b\n\x04\x04\x07\x02\x01\x12\x03$\x02!\n\x0c\n\x05\x04\x07\x02\x01\x06\x12\x03$\x02\x0e\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03$\x0f\x1c\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03$\x1f \n\x0b\n\x04\x04\x07\x02\x02\x12\x03&\x02%\n\x0c\n\x05\x04\x07\x02\x02\x06\x12\x03&\x02\x12\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03&\x13 \n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03&#$\n<\n\x04\x04\x07\x02\x03\x12\x03)\x02!\x1a/ X25519 public key for cliquenet, TaggedBase64\n\n\x0c\n\x05\x04\x07\x02\x03\x04\x12\x03)\x02\n\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x03)\x0b\x11\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03)\x12\x1c\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03)\x1f \nw\n\x04\x04\x07\x02\x04\x12\x03,\x02\x1f\x1aj Cliquenet address peers dial, host:port: the configured advertise address, unset when none is configured\n\n\x0c\n\x05\x04\x07\x02\x04\x04\x12\x03,\x02\n\n\x0c\n\x05\x04\x07\x02\x04\x05\x12\x03,\x0b\x11\n\x0c\n\x05\x04\x07\x02\x04\x01\x12\x03,\x12\x1a\n\x0c\n\x05\x04\x07\x02\x04\x03\x12\x03,\x1d\x1e\n\n\n\x02\x06\x00\x12\x04/\x00C\x01\n\n\n\x03\x06\x00\x01\x12\x03/\x08\x15\n:\n\x04\x06\x00\x02\x00\x12\x041\x023\x03\x1a, Get the height of the latest decided block\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x031\x06\x14\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x031\x15*\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x0315H\n\x0c\n\x05\x06\x00\x02\x00\x04\x12\x032\x04@\n\x10\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x032\x04@\nL\n\x04\x06\x00\x02\x01\x12\x046\x028\x03\x1a> Get the fraction of views in which this node decided a block\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x036\x06\x14\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x036\x15*\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x0365H\n\x0c\n\x05\x06\x00\x02\x01\x04\x12\x037\x04@\n\x10\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x037\x04@\nL\n\x04\x06\x00\x02\x02\x12\x04;\x02=\x03\x1a> Get the seconds elapsed since this node last decided a block\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03;\x06\x1c\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03;\x1d:\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03;E`\n\x0c\n\x05\x06\x00\x02\x02\x04\x12\x03<\x04J\n\x10\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x03<\x04J\n*\n\x04\x06\x00\x02\x03\x12\x04@\x02B\x03\x1a\x1c Get the node\'s public keys\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03@\x06\x11\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03@\x12$\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03@/?\n\x0c\n\x05\x06\x00\x02\x03\x04\x12\x03A\x048\n\x10\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x03A\x048b\x06proto3\n\x95\x08\n\x0fv2/submit.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\"v\n\x18SubmitTransactionRequest\x12!\n\tnamespace\x18\x01 \x01(\x04H\x00R\tnamespace\x88\x01\x01\x12\x1d\n\x07payload\x18\x02 \x01(\x0cH\x01R\x07payload\x88\x01\x01B\x0c\n\n_namespaceB\n\n\x08_payload\"/\n\x19SubmitTransactionResponse\x12\x12\n\x04hash\x18\x01 \x01(\tR\x04hash2\x9f\x01\n\rSubmitService\x12\x8d\x01\n\x11SubmitTransaction\x12).espresso.api.v2.SubmitTransactionRequest\x1a*.espresso.api.v2.SubmitTransactionResponse\"!\x82\xd3\xe4\x93\x02\x1b\"\x16/v2/submit/transaction:\x01*J\xff\x04\n\x06\x12\x04\x00\x00\x1b\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\n\n\x02\x04\x00\x12\x04\x06\x00\x0c\x01\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08 \nX\n\x04\x04\x00\x02\x00\x12\x03\x08\x02 \x1aK Namespace the transaction is sequenced in. Required, and at most u32::MAX\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x08\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x0b\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x12\x1b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\x1e\x1f\nN\n\x04\x04\x00\x02\x01\x12\x03\x0b\x02\x1d\x1aA Transaction payload, base64 in JSON. Required, and may be empty\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\x0b\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0b\x0b\x10\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0b\x11\x18\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0b\x1b\x1c\n\n\n\x02\x04\x01\x12\x04\x0e\x00\x11\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0e\x08!\nI\n\x04\x04\x01\x02\x00\x12\x03\x10\x02\x12\x1a< Commitment to the accepted transaction, TaggedBase64 `TX~`\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x10\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x10\t\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x10\x10\x11\n\n\n\x02\x06\x00\x12\x04\x13\x00\x1b\x01\n\n\n\x03\x06\x00\x01\x12\x03\x13\x08\x15\n3\n\x04\x06\x00\x02\x00\x12\x04\x15\x02\x1a\x03\x1a% Submit a transaction for sequencing\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x15\x06\x17\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x15\x180\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x15;T\n\r\n\x05\x06\x00\x02\x00\x04\x12\x04\x16\x04\x19\x06\n\x11\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x04\x16\x04\x19\x06b\x06proto3\n\xa0\x1a\n\x0ev2/token.proto\x12\x0fespresso.api.v2\x1a\x1cgoogle/api/annotations.proto\"\x1d\n\x1bGetTotalMintedSupplyRequest\"3\n\x19TotalMintedSupplyResponse\x12\x16\n\x06amount\x18\x01 \x01(\tR\x06amount\"\x1d\n\x1bGetCirculatingSupplyRequest\"3\n\x19CirculatingSupplyResponse\x12\x16\n\x06amount\x18\x01 \x01(\tR\x06amount\"%\n#GetCirculatingSupplyEthereumRequest\";\n!CirculatingSupplyEthereumResponse\x12\x16\n\x06amount\x18\x01 \x01(\tR\x06amount\"\x1d\n\x1bGetTotalIssuedSupplyRequest\"3\n\x19TotalIssuedSupplyResponse\x12\x16\n\x06amount\x18\x01 \x01(\tR\x06amount\"\"\n GetTotalRewardDistributedRequest\"8\n\x1eTotalRewardDistributedResponse\x12\x16\n\x06amount\x18\x01 \x01(\tR\x06amount2\xc3\x06\n\x0cTokenService\x12\x97\x01\n\x14GetTotalMintedSupply\x12,.espresso.api.v2.GetTotalMintedSupplyRequest\x1a*.espresso.api.v2.TotalMintedSupplyResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v2/token/total-minted-supply\x12\x96\x01\n\x14GetCirculatingSupply\x12,.espresso.api.v2.GetCirculatingSupplyRequest\x1a*.espresso.api.v2.CirculatingSupplyResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v2/token/circulating-supply\x12\xb7\x01\n\x1cGetCirculatingSupplyEthereum\x124.espresso.api.v2.GetCirculatingSupplyEthereumRequest\x1a2.espresso.api.v2.CirculatingSupplyEthereumResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/v2/token/circulating-supply-ethereum\x12\x97\x01\n\x14GetTotalIssuedSupply\x12,.espresso.api.v2.GetTotalIssuedSupplyRequest\x1a*.espresso.api.v2.TotalIssuedSupplyResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/v2/token/total-issued-supply\x12\xab\x01\n\x19GetTotalRewardDistributed\x121.espresso.api.v2.GetTotalRewardDistributedRequest\x1a/.espresso.api.v2.TotalRewardDistributedResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/v2/token/total-reward-distributedJ\xd2\x0f\n\x06\x12\x04\x00\x00G\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\t\n\x02\x03\x00\x12\x03\x04\x00&\n\t\n\x02\x04\x00\x12\x03\x06\x00&\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08#\n\n\n\x02\x04\x01\x12\x04\x08\x00\x0c\x01\n\n\n\x03\x04\x01\x01\x12\x03\x08\x08!\nu\n\x04\x04\x01\x02\x00\x12\x03\x0b\x02\x14\x1ah Total supply of the ESP token minted on Ethereum, in ESP (decimal string);\n excludes unclaimed rewards\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x0b\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0b\t\x0f\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0b\x12\x13\n\t\n\x02\x04\x02\x12\x03\x0e\x00&\n\n\n\x03\x04\x02\x01\x12\x03\x0e\x08#\n\n\n\x02\x04\x03\x12\x04\x10\x00\x14\x01\n\n\n\x03\x04\x03\x01\x12\x03\x10\x08!\n\x90\x01\n\x04\x04\x03\x02\x00\x12\x03\x13\x02\x14\x1a\x82\x01 Circulating supply in ESP (decimal string): initial_supply + reward_distributed -\n locked, following the mainnet unlock schedule\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03\x13\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x13\t\x0f\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x13\x12\x13\n\t\n\x02\x04\x04\x12\x03\x16\x00.\n\n\n\x03\x04\x04\x01\x12\x03\x16\x08+\n\n\n\x02\x04\x05\x12\x04\x18\x00\x1c\x01\n\n\n\x03\x04\x05\x01\x12\x03\x18\x08)\nr\n\x04\x04\x05\x02\x00\x12\x03\x1b\x02\x14\x1ae Circulating supply of ESP tokens on Ethereum L1, in ESP (decimal string):\n total_supply_l1 - locked\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03\x1b\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03\x1b\t\x0f\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03\x1b\x12\x13\n\t\n\x02\x04\x06\x12\x03\x1e\x00&\n\n\n\x03\x04\x06\x01\x12\x03\x1e\x08#\n\n\n\x02\x04\x07\x12\x04 \x00$\x01\n\n\n\x03\x04\x07\x01\x12\x03 \x08!\n\x96\x01\n\x04\x04\x07\x02\x00\x12\x03#\x02\x14\x1a\x88\x01 Total issued supply in ESP (decimal string): initial_supply +\n total_reward_distributed, including rewards not yet claimed on Ethereum\n\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03#\x02\x08\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03#\t\x0f\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03#\x12\x13\n\t\n\x02\x04\x08\x12\x03&\x00+\n\n\n\x03\x04\x08\x01\x12\x03&\x08(\n\n\n\x02\x04\t\x12\x04(\x00,\x01\n\n\n\x03\x04\t\x01\x12\x03(\x08&\n~\n\x04\x04\t\x02\x00\x12\x03+\x02\x14\x1aq Total rewards distributed by consensus, in ESP (decimal string), including rewards\n not yet claimed on Ethereum\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03+\x02\x08\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03+\t\x0f\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03+\x12\x13\n\n\n\x02\x06\x00\x12\x04.\x00G\x01\n\n\n\x03\x06\x00\x01\x12\x03.\x08\x14\nd\n\x04\x06\x00\x02\x00\x12\x040\x022\x03\x1aV Get the total supply of the ESP token minted on Ethereum; excludes unclaimed rewards\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x030\x06\x1a\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x030\x1b6\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x030AZ\n\x0c\n\x05\x06\x00\x02\x00\x04\x12\x031\x04F\n\x10\n\t\x06\x00\x02\x00\x04\xb0\xca\xbc\"\x12\x031\x04F\nQ\n\x04\x06\x00\x02\x01\x12\x045\x027\x03\x1aC Get the circulating supply, following the mainnet unlock schedule\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x035\x06\x1a\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x035\x1b6\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x035AZ\n\x0c\n\x05\x06\x00\x02\x01\x04\x12\x036\x04E\n\x10\n\t\x06\x00\x02\x01\x04\xb0\xca\xbc\"\x12\x036\x04E\nG\n\x04\x06\x00\x02\x02\x12\x04:\x02<\x03\x1a9 Get the circulating supply of ESP tokens on Ethereum L1\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03:\x06\"\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03:#F\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03:Qr\n\x0c\n\x05\x06\x00\x02\x02\x04\x12\x03;\x04N\n\x10\n\t\x06\x00\x02\x02\x04\xb0\xca\xbc\"\x12\x03;\x04N\nZ\n\x04\x06\x00\x02\x03\x12\x04?\x02A\x03\x1aL Get the total issued supply, including rewards not yet claimed on Ethereum\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03?\x06\x1a\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03?\x1b6\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03?AZ\n\x0c\n\x05\x06\x00\x02\x03\x04\x12\x03@\x04F\n\x10\n\t\x06\x00\x02\x03\x04\xb0\xca\xbc\"\x12\x03@\x04F\nm\n\x04\x06\x00\x02\x04\x12\x04D\x02F\x03\x1a_ Get the total rewards distributed by consensus, including rewards not yet claimed on Ethereum\n\n\x0c\n\x05\x06\x00\x02\x04\x01\x12\x03D\x06\x1f\n\x0c\n\x05\x06\x00\x02\x04\x02\x12\x03D @\n\x0c\n\x05\x06\x00\x02\x04\x03\x12\x03DKi\n\x0c\n\x05\x06\x00\x02\x04\x04\x12\x03E\x04K\n\x10\n\t\x06\x00\x02\x04\x04\xb0\xca\xbc\"\x12\x03E\x04Kb\x06proto3";Expand description
The compiled proto descriptor set, for gRPC reflection.