pub const FILE_DESCRIPTOR_SET: &[u8] = b"\n\xb8\x12\n\x1bgoogle/protobuf/empty.proto\x12\x0fgoogle.protobuf\"\x07\n\x05EmptyBv\n\x13com.google.protobufB\nEmptyProtoP\x01Z\'github.com/golang/protobuf/ptypes/empty\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xfe\x10\n\x06\x12\x04\x1e\x003\x10\n\xcc\x0c\n\x01\x0c\x12\x03\x1e\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.\n\n\x08\n\x01\x02\x12\x03 \x00\x18\n\x08\n\x01\x08\x12\x03\"\x00;\n\t\n\x02\x08%\x12\x03\"\x00;\n\x08\n\x01\x08\x12\x03#\x00>\n\t\n\x02\x08\x0b\x12\x03#\x00>\n\x08\n\x01\x08\x12\x03$\x00,\n\t\n\x02\x08\x01\x12\x03$\x00,\n\x08\n\x01\x08\x12\x03%\x00+\n\t\n\x02\x08\x08\x12\x03%\x00+\n\x08\n\x01\x08\x12\x03&\x00\"\n\t\n\x02\x08\n\x12\x03&\x00\"\n\x08\n\x01\x08\x12\x03\'\x00!\n\t\n\x02\x08$\x12\x03\'\x00!\n\x08\n\x01\x08\x12\x03(\x00\x1f\n\t\n\x02\x08\x1f\x12\x03(\x00\x1f\n\xfb\x02\n\x02\x04\x00\x12\x033\x00\x10\x1a\xef\x02 A generic empty message that you can re-use to avoid defining duplicated\n empty messages in your APIs. A typical example is to use it as the request\n or the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\n The JSON representation for `Empty` is empty JSON object `{}`.\n\n\n\n\x03\x04\x00\x01\x12\x033\x08\rb\x06proto3\n\x93n\n\x0fproto/rpc.proto\x12\x06rpc.v1\x1a\x1bgoogle/protobuf/empty.proto\"F\n\x18CertificatesBatchRequest\x12*\n\x06hashes\x18\x01 \x03(\x0b2\x12.rpc.v1.CryptoHashR\x06hashes\"T\n\x19CertificatesBatchResponse\x127\n\x0ccertificates\x18\x01 \x03(\x0b2\x13.rpc.v1.CertificateR\x0ccertificates\"P\n\x0cCrateVersion\x12\x14\n\x05major\x18\x01 \x01(\rR\x05major\x12\x14\n\x05minor\x18\x02 \x01(\rR\x05minor\x12\x14\n\x05patch\x18\x03 \x01(\rR\x05patch\"\xdd\x01\n\x0bVersionInfo\x129\n\rcrate_version\x18\x01 \x01(\x0b2\x14.rpc.v1.CrateVersionR\x0ccrateVersion\x12\x1d\n\ngit_commit\x18\x02 \x01(\tR\tgitCommit\x12\x1b\n\tgit_dirty\x18\x03 \x01(\x08R\x08gitDirty\x12\x19\n\x08rpc_hash\x18\x04 \x01(\tR\x07rpcHash\x12!\n\x0cgraphql_hash\x18\x05 \x01(\tR\x0bgraphqlHash\x12\x19\n\x08wit_hash\x18\x06 \x01(\tR\x07witHash\"C\n\x13SubscriptionRequest\x12,\n\tchain_ids\x18\x01 \x03(\x0b2\x0f.rpc.v1.ChainIdR\x08chainIds\"R\n\x0cNotification\x12*\n\x08chain_id\x18\x01 \x01(\x0b2\x0f.rpc.v1.ChainIdR\x07chainId\x12\x16\n\x06reason\x18\x02 \x01(\x0cR\x06reason\"\x7f\n\x0fChainInfoResult\x12K\n\x13chain_info_response\x18\x01 \x01(\x0b2\x19.rpc.v1.ChainInfoResponseH\x00R\x11chainInfoResponse\x12\x16\n\x05error\x18\x02 \x01(\x0cH\x00R\x05errorB\x07\n\x05inner\"\xc1\x01\n\x11CrossChainRequest\x12D\n\x10update_recipient\x18\x01 \x01(\x0b2\x17.rpc.v1.UpdateRecipientH\x00R\x0fupdateRecipient\x12]\n\x19confirm_updated_recipient\x18\x02 \x01(\x0b2\x1f.rpc.v1.ConfirmUpdatedRecipientH\x00R\x17confirmUpdatedRecipientB\x07\n\x05inner\"\x8a\x01\n\x0fUpdateRecipient\x12\'\n\x06sender\x18\x01 \x01(\x0b2\x0f.rpc.v1.ChainIdR\x06sender\x12-\n\trecipient\x18\x02 \x01(\x0b2\x0f.rpc.v1.ChainIdR\trecipient\x12\x1f\n\x0bbundle_vecs\x18\x03 \x01(\x0cR\nbundleVecs\"\x98\x01\n\x17ConfirmUpdatedRecipient\x12\'\n\x06sender\x18\x01 \x01(\x0b2\x0f.rpc.v1.ChainIdR\x06sender\x12-\n\trecipient\x18\x02 \x01(\x0b2\x0f.rpc.v1.ChainIdR\trecipient\x12%\n\x0elatest_heights\x18\x03 \x01(\x0cR\rlatestHeights\"\xa1\x06\n\x0eChainInfoQuery\x12*\n\x08chain_id\x18\x01 \x01(\x0b2\x0f.rpc.v1.ChainIdR\x07chainId\x12M\n\x16test_next_block_height\x18\x02 \x01(\x0b2\x13.rpc.v1.BlockHeightH\x00R\x13testNextBlockHeight\x88\x01\x01\x12-\n\x12request_committees\x18\x03 \x01(\x08R\x11requestCommittees\x12E\n\x1frequest_pending_message_bundles\x18\x04 \x01(\x08R\x1crequestPendingMessageBundles\x12Z\n(request_sent_certificate_hashes_in_range\x18\x05 \x01(\x0cH\x01R#requestSentCertificateHashesInRange\x88\x01\x01\x12V\n&request_received_log_excluding_first_n\x18\x06 \x01(\x04H\x02R!requestReceivedLogExcludingFirstN\x88\x01\x01\x124\n\x16request_manager_values\x18\x07 \x01(\x08R\x14requestManagerValues\x124\n\x16request_leader_timeout\x18\x08 \x01(\x08R\x14requestLeaderTimeout\x12F\n\x15request_owner_balance\x18\n \x01(\x0b2\r.rpc.v1.OwnerH\x03R\x13requestOwnerBalance\x88\x01\x01\x12)\n\x10request_fallback\x18\x0b \x01(\x08R\x0frequestFallbackB\x19\n\x17_test_next_block_heightB+\n)_request_sent_certificate_hashes_in_rangeB)\n\'_request_received_log_excluding_first_nB\x18\n\x16_request_owner_balance\"\xa6\x02\n\rBlockProposal\x12*\n\x08chain_id\x18\x01 \x01(\x0b2\x0f.rpc.v1.ChainIdR\x07chainId\x12\x18\n\x07content\x18\x02 \x01(\x0cR\x07content\x12#\n\x05owner\x18\x03 \x01(\x0b2\r.rpc.v1.OwnerR\x05owner\x12/\n\tsignature\x18\x04 \x01(\x0b2\x11.rpc.v1.SignatureR\tsignature\x12C\n\x1bvalidated_block_certificate\x18\x06 \x01(\x0cH\x00R\x19validatedBlockCertificate\x88\x01\x01\x12\x14\n\x05blobs\x18\x07 \x01(\x0cR\x05blobsB\x1e\n\x1c_validated_block_certificate\"\xc4\x01\n\x0fLiteCertificate\x12*\n\x08chain_id\x18\x01 \x01(\x0b2\x0f.rpc.v1.ChainIdR\x07chainId\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\x12\x14\n\x05round\x18\x03 \x01(\x0cR\x05round\x12\x1e\n\nsignatures\x18\x04 \x01(\x0cR\nsignatures\x12;\n\x1await_for_outgoing_messages\x18\x05 \x01(\x08R\x17waitForOutgoingMessages\"\xd0\x01\n\x18HandleCertificateRequest\x12*\n\x08chain_id\x18\x01 \x01(\x0b2\x0f.rpc.v1.ChainIdR\x07chainId\x12;\n\x1await_for_outgoing_messages\x18\x06 \x01(\x08R\x17waitForOutgoingMessages\x12\x14\n\x05blobs\x18\x07 \x01(\x0cR\x05blobs\x125\n\x0bcertificate\x18\x08 \x01(\x0b2\x13.rpc.v1.CertificateR\x0bcertificate\"Y\n\x0bCertificate\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\x12\x14\n\x05round\x18\x02 \x01(\x0cR\x05round\x12\x1e\n\nsignatures\x18\x03 \x01(\x0cR\nsignatures\"(\n\x10CertificateValue\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"\x1f\n\x07ChainId\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"!\n\tPublicKey\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"\"\n\nCryptoHash\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"\x1d\n\x05Owner\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"!\n\tSignature\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"\x1e\n\x06BlobId\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"#\n\x0bBlobContent\x12\x14\n\x05bytes\x18\x01 \x01(\x0cR\x05bytes\"v\n\x11ChainInfoResponse\x12\x1d\n\nchain_info\x18\x01 \x01(\x0cR\tchainInfo\x124\n\tsignature\x18\x02 \x01(\x0b2\x11.rpc.v1.SignatureH\x00R\tsignature\x88\x01\x01B\x0c\n\n_signature\"%\n\x0bBlockHeight\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height2I\n\x0fNotifierService\x126\n\x06Notify\x12\x14.rpc.v1.Notification\x1a\x16.google.protobuf.Empty2\x8a\x03\n\x0fValidatorWorker\x12E\n\x13HandleBlockProposal\x12\x15.rpc.v1.BlockProposal\x1a\x17.rpc.v1.ChainInfoResult\x12I\n\x15HandleLiteCertificate\x12\x17.rpc.v1.LiteCertificate\x1a\x17.rpc.v1.ChainInfoResult\x12N\n\x11HandleCertificate\x12 .rpc.v1.HandleCertificateRequest\x1a\x17.rpc.v1.ChainInfoResult\x12G\n\x14HandleChainInfoQuery\x12\x16.rpc.v1.ChainInfoQuery\x1a\x17.rpc.v1.ChainInfoResult\x12L\n\x17HandleCrossChainRequest\x12\x19.rpc.v1.CrossChainRequest\x1a\x16.google.protobuf.Empty2\xd8\x06\n\rValidatorNode\x12E\n\x13HandleBlockProposal\x12\x15.rpc.v1.BlockProposal\x1a\x17.rpc.v1.ChainInfoResult\x12I\n\x15HandleLiteCertificate\x12\x17.rpc.v1.LiteCertificate\x1a\x17.rpc.v1.ChainInfoResult\x12N\n\x11HandleCertificate\x12 .rpc.v1.HandleCertificateRequest\x1a\x17.rpc.v1.ChainInfoResult\x12G\n\x14HandleChainInfoQuery\x12\x16.rpc.v1.ChainInfoQuery\x1a\x17.rpc.v1.ChainInfoResult\x12@\n\tSubscribe\x12\x1b.rpc.v1.SubscriptionRequest\x1a\x14.rpc.v1.Notification0\x01\x12=\n\x0eGetVersionInfo\x12\x16.google.protobuf.Empty\x1a\x13.rpc.v1.VersionInfo\x12B\n\x14GetGenesisConfigHash\x12\x16.google.protobuf.Empty\x1a\x12.rpc.v1.CryptoHash\x12:\n\x13DownloadBlobContent\x12\x0e.rpc.v1.BlobId\x1a\x13.rpc.v1.BlobContent\x12H\n\x18DownloadCertificateValue\x12\x12.rpc.v1.CryptoHash\x1a\x18.rpc.v1.CertificateValue\x12>\n\x13DownloadCertificate\x12\x12.rpc.v1.CryptoHash\x1a\x13.rpc.v1.Certificate\x12[\n\x14DownloadCertificates\x12 .rpc.v1.CertificatesBatchRequest\x1a!.rpc.v1.CertificatesBatchResponse\x124\n\x0eBlobLastUsedBy\x12\x0e.rpc.v1.BlobId\x1a\x12.rpc.v1.CryptoHashJ\xcfI\n\x07\x12\x05\x00\x00\xa2\x02\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x0f\n\t\n\x02\x03\x00\x12\x03\x03\x00%\nx\n\x02\x06\x00\x12\x04\x07\x00\n\x01\x1al A service run by the Proxy which listens for incoming connections\n from workers and then notifies clients.\n\n\n\n\x03\x06\x00\x01\x12\x03\x07\x08\x17\nM\n\x04\x06\x00\x02\x00\x12\x03\t\x02;\x1a@ Notify a client that there has been an update for a `ChainId`.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\t\x06\x0c\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\t\r\x19\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\t$9\n\xeb\x02\n\x02\x06\x01\x12\x04\x11\x00 \x01\x1a\xde\x02 Interface provided by each physical shard (aka \"worker\") of a validator or a local node.\n * All commands return either the current chain info or an error.\n * Repeating commands produces no changes and returns no error.\n * Some handlers may return cross-chain requests, that is, messages\n to be communicated to other workers of the same validator.\n\n\n\n\x03\x06\x01\x01\x12\x03\x11\x08\x17\n#\n\x04\x06\x01\x02\x00\x12\x03\x13\x02C\x1a\x16 Propose a new block.\n\n\x0c\n\x05\x06\x01\x02\x00\x01\x12\x03\x13\x06\x19\n\x0c\n\x05\x06\x01\x02\x00\x02\x12\x03\x13\x1a\'\n\x0c\n\x05\x06\x01\x02\x00\x03\x12\x03\x132A\n3\n\x04\x06\x01\x02\x01\x12\x03\x16\x02G\x1a& Process a certificate without value.\n\n\x0c\n\x05\x06\x01\x02\x01\x01\x12\x03\x16\x06\x1b\n\x0c\n\x05\x06\x01\x02\x01\x02\x12\x03\x16\x1c+\n\x0c\n\x05\x06\x01\x02\x01\x03\x12\x03\x166E\n%\n\x04\x06\x01\x02\x02\x12\x03\x19\x02L\x1a\x18 Process a certificate.\n\n\x0c\n\x05\x06\x01\x02\x02\x01\x12\x03\x19\x06\x17\n\x0c\n\x05\x06\x01\x02\x02\x02\x12\x03\x19\x180\n\x0c\n\x05\x06\x01\x02\x02\x03\x12\x03\x19;J\n9\n\x04\x06\x01\x02\x03\x12\x03\x1c\x02E\x1a, Handle information queries for this chain.\n\n\x0c\n\x05\x06\x01\x02\x03\x01\x12\x03\x1c\x06\x1a\n\x0c\n\x05\x06\x01\x02\x03\x02\x12\x03\x1c\x1b)\n\x0c\n\x05\x06\x01\x02\x03\x03\x12\x03\x1c4C\n7\n\x04\x06\x01\x02\x04\x12\x03\x1f\x02Q\x1a* Handle a (trusted!) cross-chain request.\n\n\x0c\n\x05\x06\x01\x02\x04\x01\x12\x03\x1f\x06\x1d\n\x0c\n\x05\x06\x01\x02\x04\x02\x12\x03\x1f\x1e/\n\x0c\n\x05\x06\x01\x02\x04\x03\x12\x03\x1f:O\nB\n\x02\x06\x02\x12\x04#\x00G\x01\x1a6 How to communicate with a validator or a local node.\n\n\n\n\x03\x06\x02\x01\x12\x03#\x08\x15\n#\n\x04\x06\x02\x02\x00\x12\x03%\x02C\x1a\x16 Propose a new block.\n\n\x0c\n\x05\x06\x02\x02\x00\x01\x12\x03%\x06\x19\n\x0c\n\x05\x06\x02\x02\x00\x02\x12\x03%\x1a\'\n\x0c\n\x05\x06\x02\x02\x00\x03\x12\x03%2A\n3\n\x04\x06\x02\x02\x01\x12\x03(\x02G\x1a& Process a certificate without value.\n\n\x0c\n\x05\x06\x02\x02\x01\x01\x12\x03(\x06\x1b\n\x0c\n\x05\x06\x02\x02\x01\x02\x12\x03(\x1c+\n\x0c\n\x05\x06\x02\x02\x01\x03\x12\x03(6E\n%\n\x04\x06\x02\x02\x02\x12\x03+\x02L\x1a\x18 Process a certificate.\n\n\x0c\n\x05\x06\x02\x02\x02\x01\x12\x03+\x06\x17\n\x0c\n\x05\x06\x02\x02\x02\x02\x12\x03+\x180\n\x0c\n\x05\x06\x02\x02\x02\x03\x12\x03+;J\n9\n\x04\x06\x02\x02\x03\x12\x03.\x02E\x1a, Handle information queries for this chain.\n\n\x0c\n\x05\x06\x02\x02\x03\x01\x12\x03.\x06\x1a\n\x0c\n\x05\x06\x02\x02\x03\x02\x12\x03.\x1b)\n\x0c\n\x05\x06\x02\x02\x03\x03\x12\x03.4C\nA\n\x04\x06\x02\x02\x04\x12\x031\x02C\x1a4 Subscribe to notifications for a set of Chain Ids.\n\n\x0c\n\x05\x06\x02\x02\x04\x01\x12\x031\x06\x0f\n\x0c\n\x05\x06\x02\x02\x04\x02\x12\x031\x10#\n\x0c\n\x05\x06\x02\x02\x04\x06\x12\x031.4\n\x0c\n\x05\x06\x02\x02\x04\x03\x12\x0315A\n/\n\x04\x06\x02\x02\x05\x12\x034\x02B\x1a\" Request the node\'s version info.\n\n\x0c\n\x05\x06\x02\x02\x05\x01\x12\x034\x06\x14\n\x0c\n\x05\x06\x02\x02\x05\x02\x12\x034\x15*\n\x0c\n\x05\x06\x02\x02\x05\x03\x12\x0345@\nZ\n\x04\x06\x02\x02\x06\x12\x037\x02G\x1aM Request the genesis configuration hash of the network this node is part of.\n\n\x0c\n\x05\x06\x02\x02\x06\x01\x12\x037\x06\x1a\n\x0c\n\x05\x06\x02\x02\x06\x02\x12\x037\x1b0\n\x0c\n\x05\x06\x02\x02\x06\x03\x12\x037;E\n(\n\x04\x06\x02\x02\x07\x12\x03:\x028\x1a\x1b Downloads a blob content.\n\n\x0c\n\x05\x06\x02\x02\x07\x01\x12\x03:\x06\x19\n\x0c\n\x05\x06\x02\x02\x07\x02\x12\x03:\x1a \n\x0c\n\x05\x06\x02\x02\x07\x03\x12\x03:+6\n-\n\x04\x06\x02\x02\x08\x12\x03=\x02F\x1a Downloads a certificate value.\n\n\x0c\n\x05\x06\x02\x02\x08\x01\x12\x03=\x06\x1e\n\x0c\n\x05\x06\x02\x02\x08\x02\x12\x03=\x1f)\n\x0c\n\x05\x06\x02\x02\x08\x03\x12\x03=4D\n\'\n\x04\x06\x02\x02\t\x12\x03@\x02<\x1a\x1a Downloads a certificate.\n\n\x0c\n\x05\x06\x02\x02\t\x01\x12\x03@\x06\x19\n\x0c\n\x05\x06\x02\x02\t\x02\x12\x03@\x1a$\n\x0c\n\x05\x06\x02\x02\t\x03\x12\x03@/:\n1\n\x04\x06\x02\x02\n\x12\x03C\x02Y\x1a$ Downloads a batch of certificates.\n\n\x0c\n\x05\x06\x02\x02\n\x01\x12\x03C\x06\x1a\n\x0c\n\x05\x06\x02\x02\n\x02\x12\x03C\x1b3\n\x0c\n\x05\x06\x02\x02\n\x03\x12\x03C>W\nK\n\x04\x06\x02\x02\x0b\x12\x03F\x022\x1a> Returns the hash of the `Certificate` that last used a blob.\n\n\x0c\n\x05\x06\x02\x02\x0b\x01\x12\x03F\x06\x14\n\x0c\n\x05\x06\x02\x02\x0b\x02\x12\x03F\x15\x1b\n\x0c\n\x05\x06\x02\x02\x0b\x03\x12\x03F&0\n4\n\x02\x04\x00\x12\x04J\x00L\x01\x1a( A request for a batch of certificates.\n\n\n\n\x03\x04\x00\x01\x12\x03J\x08 \n\x0b\n\x04\x04\x00\x02\x00\x12\x03K\x02!\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03K\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03K\x0b\x15\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03K\x16\x1c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03K\x1f \n&\n\x02\x04\x01\x12\x04O\x00Q\x01\x1a\x1a A batch of certificates.\n\n\n\n\x03\x04\x01\x01\x12\x03O\x08!\n\x0b\n\x04\x04\x01\x02\x00\x12\x03P\x02(\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03P\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03P\x0b\x16\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03P\x17#\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03P&\'\nQ\n\x02\x04\x02\x12\x04T\x00X\x01\x1aE Information about the Linera crate version the validator is running\n\n\n\n\x03\x04\x02\x01\x12\x03T\x08\x14\n\x0b\n\x04\x04\x02\x02\x00\x12\x03U\x04\x15\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03U\x04\n\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03U\x0b\x10\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03U\x13\x14\n\x0b\n\x04\x04\x02\x02\x01\x12\x03V\x04\x15\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03V\x04\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03V\x0b\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03V\x13\x14\n\x0b\n\x04\x04\x02\x02\x02\x12\x03W\x04\x15\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03W\x04\n\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03W\x0b\x10\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03W\x13\x14\nN\n\x02\x04\x03\x12\x04[\x00b\x01\x1aB Information about the version of Linera the validator is running\n\n\n\n\x03\x04\x03\x01\x12\x03[\x08\x13\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\\\x04#\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03\\\x04\x10\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\\\x11\x1e\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\\!\"\n\x0b\n\x04\x04\x03\x02\x01\x12\x03]\x04\x1a\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03]\x04\n\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03]\x0b\x15\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03]\x18\x19\n\x0b\n\x04\x04\x03\x02\x02\x12\x03^\x04\x17\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03^\x04\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03^\t\x12\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03^\x15\x16\n\x0b\n\x04\x04\x03\x02\x03\x12\x03_\x04\x18\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x03_\x04\n\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03_\x0b\x13\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03_\x16\x17\n\x0b\n\x04\x04\x03\x02\x04\x12\x03`\x04\x1c\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03`\x04\n\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03`\x0b\x17\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03`\x1a\x1b\n\x0b\n\x04\x04\x03\x02\x05\x12\x03a\x04\x18\n\x0c\n\x05\x04\x03\x02\x05\x05\x12\x03a\x04\n\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03a\x0b\x13\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03a\x16\x17\nV\n\x02\x04\x04\x12\x04e\x00g\x01\x1aJ A request for client to subscribe to notifications for a given `ChainId`\n\n\n\n\x03\x04\x04\x01\x12\x03e\x08\x1b\n\x0b\n\x04\x04\x04\x02\x00\x12\x03f\x02!\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03f\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03f\x0b\x12\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03f\x13\x1c\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03f\x1f \nM\n\x02\x04\x05\x12\x04j\x00m\x01\x1aA Notify that a chain has a new certified block or a new message.\n\n\n\n\x03\x04\x05\x01\x12\x03j\x08\x14\n\x0b\n\x04\x04\x05\x02\x00\x12\x03k\x02\x17\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03k\x02\t\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03k\n\x12\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03k\x15\x16\n\x0b\n\x04\x04\x05\x02\x01\x12\x03l\x02\x13\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03l\x02\x07\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03l\x08\x0e\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03l\x11\x12\nZ\n\x02\x04\x06\x12\x04p\x00v\x01\x1aN A wrapper around ChainInfoResponse which contains a serialized error variant\n\n\n\n\x03\x04\x06\x01\x12\x03p\x08\x17\n\x0c\n\x04\x04\x06\x08\x00\x12\x04q\x02u\x03\n\x0c\n\x05\x04\x06\x08\x00\x01\x12\x03q\x08\r\n\x0b\n\x04\x04\x06\x02\x00\x12\x03r\x04.\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03r\x04\x15\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03r\x16)\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03r,-\n3\n\x04\x04\x06\x02\x01\x12\x03t\x04\x14\x1a& a bincode wrapper around `NodeError`\n\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03t\x04\t\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03t\n\x0f\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03t\x12\x13\nD\n\x02\x04\x07\x12\x04y\x00~\x01\x1a8 An internal request between chains within a validator.\n\n\n\n\x03\x04\x07\x01\x12\x03y\x08\x19\n\x0c\n\x04\x04\x07\x08\x00\x12\x04z\x02}\x03\n\x0c\n\x05\x04\x07\x08\x00\x01\x12\x03z\x08\r\n\x0b\n\x04\x04\x07\x02\x00\x12\x03{\x04)\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03{\x04\x13\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03{\x14$\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03{\'(\n\x0b\n\x04\x04\x07\x02\x01\x12\x03|\x04:\n\x0c\n\x05\x04\x07\x02\x01\x06\x12\x03|\x04\x1b\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03|\x1c5\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03|89\n\x86\x01\n\x02\x04\x08\x12\x06\x82\x01\x00\x86\x01\x01\x1ax Communicate a number of messages from the sender to the recipient.\n Messages must be given by increasing block height.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\x82\x01\x08\x17\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\x83\x01\x02\x15\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\x83\x01\x02\t\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x83\x01\n\x10\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x83\x01\x13\x14\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\x84\x01\x02\x18\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\x84\x01\x02\t\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x84\x01\n\x13\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x84\x01\x16\x17\n\x0c\n\x04\x04\x08\x02\x02\x12\x04\x85\x01\x02\x18\n\r\n\x05\x04\x08\x02\x02\x05\x12\x04\x85\x01\x02\x07\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\x85\x01\x08\x13\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\x85\x01\x16\x17\nk\n\x02\x04\t\x12\x06\x89\x01\x00\x8d\x01\x01\x1a] Acknowledge the height of the highest confirmed blocks communicated with `UpdateRecipient`.\n\n\x0b\n\x03\x04\t\x01\x12\x04\x89\x01\x08\x1f\n\x0c\n\x04\x04\t\x02\x00\x12\x04\x8a\x01\x02\x15\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\x8a\x01\x02\t\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x8a\x01\n\x10\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x8a\x01\x13\x14\n\x0c\n\x04\x04\t\x02\x01\x12\x04\x8b\x01\x02\x18\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\x8b\x01\x02\t\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x8b\x01\n\x13\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x8b\x01\x16\x17\n\x0c\n\x04\x04\t\x02\x02\x12\x04\x8c\x01\x02\x1b\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\x8c\x01\x02\x07\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\x8c\x01\x08\x16\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\x8c\x01\x19\x1a\n/\n\x02\x04\n\x12\x06\x90\x01\x00\xae\x01\x01\x1a! Request information on a chain.\n\n\x0b\n\x03\x04\n\x01\x12\x04\x90\x01\x08\x16\n\x1c\n\x04\x04\n\x02\x00\x12\x04\x92\x01\x02\x17\x1a\x0e The chain ID\n\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\x92\x01\x02\t\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x92\x01\n\x12\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x92\x01\x15\x16\nD\n\x04\x04\n\x02\x01\x12\x04\x95\x01\x022\x1a6 Optionally test that the block height is as expected\n\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\x95\x01\x02\n\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\x95\x01\x0b\x16\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\x95\x01\x17-\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\x95\x0101\n,\n\x04\x04\n\x02\x02\x12\x04\x98\x01\x02\x1e\x1a\x1e Query the current committees\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\x98\x01\x02\x06\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\x98\x01\x07\x19\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\x98\x01\x1c\x1d\nY\n\x04\x04\n\x02\x03\x12\x04\x9b\x01\x02+\x1aK Query the received messages that are waiting be picked in the next block.\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\x9b\x01\x02\x06\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\x9b\x01\x07&\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\x9b\x01)*\nI\n\x04\x04\n\x02\x04\x12\x04\x9e\x01\x02>\x1a; Query a range of certificates hashes sent from the chain.\n\n\r\n\x05\x04\n\x02\x04\x04\x12\x04\x9e\x01\x02\n\n\r\n\x05\x04\n\x02\x04\x05\x12\x04\x9e\x01\x0b\x10\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\x9e\x01\x119\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\x9e\x01<=\n=\n\x04\x04\n\x02\x05\x12\x04\xa1\x01\x02=\x1a/ Query new certificate removed from the chain.\n\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\xa1\x01\x02\n\n\r\n\x05\x04\n\x02\x05\x05\x12\x04\xa1\x01\x0b\x11\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xa1\x01\x128\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xa1\x01;<\nD\n\x04\x04\n\x02\x06\x12\x04\xa4\x01\x02\"\x1a6 Query values from the chain manager, not just votes.\n\n\r\n\x05\x04\n\x02\x06\x05\x12\x04\xa4\x01\x02\x06\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\xa4\x01\x07\x1d\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xa4\x01 !\n;\n\x04\x04\n\x02\x07\x12\x04\xa7\x01\x02\"\x1a- Request a signed vote for a leader timeout.\n\n\r\n\x05\x04\n\x02\x07\x05\x12\x04\xa7\x01\x02\x06\n\r\n\x05\x04\n\x02\x07\x01\x12\x04\xa7\x01\x07\x1d\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\xa7\x01 !\n3\n\x04\x04\n\x02\x08\x12\x04\xaa\x01\x02,\x1a% Query the balance of a given owner.\n\n\r\n\x05\x04\n\x02\x08\x04\x12\x04\xaa\x01\x02\n\n\r\n\x05\x04\n\x02\x08\x06\x12\x04\xaa\x01\x0b\x10\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\xaa\x01\x11&\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\xaa\x01)+\n8\n\x04\x04\n\x02\t\x12\x04\xad\x01\x02\x1d\x1a* Request a signed vote for fallback mode.\n\n\r\n\x05\x04\n\x02\t\x05\x12\x04\xad\x01\x02\x06\n\r\n\x05\x04\n\x02\t\x01\x12\x04\xad\x01\x07\x17\n\r\n\x05\x04\n\x02\t\x03\x12\x04\xad\x01\x1a\x1c\n:\n\x02\x04\x0b\x12\x06\xb1\x01\x00\xc3\x01\x01\x1a, An authenticated proposal for a new block.\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\xb1\x01\x08\x15\n7\n\x04\x04\x0b\x02\x00\x12\x04\xb3\x01\x02\x17\x1a) The ID of the chain (used for routing).\n\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\xb3\x01\x02\t\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xb3\x01\n\x12\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xb3\x01\x15\x16\n\'\n\x04\x04\x0b\x02\x01\x12\x04\xb6\x01\x02\x14\x1a\x19 bincode-encoded content\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xb6\x01\x02\x07\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xb6\x01\x08\x0f\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xb6\x01\x12\x13\n\'\n\x04\x04\x0b\x02\x02\x12\x04\xb9\x01\x02\x12\x1a\x19 Byte-encoded public key\n\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\xb9\x01\x02\x07\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xb9\x01\x08\r\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xb9\x01\x10\x11\n\x1f\n\x04\x04\x0b\x02\x03\x12\x04\xbc\x01\x02\x1a\x1a\x11 Signature value\n\n\r\n\x05\x04\x0b\x02\x03\x06\x12\x04\xbc\x01\x02\x0b\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xbc\x01\x0c\x15\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\xbc\x01\x18\x19\nc\n\x04\x04\x0b\x02\x04\x12\x04\xbf\x01\x021\x1aU A lite certificate for a validated block that justifies the proposal in this round.\n\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\xbf\x01\x02\n\n\r\n\x05\x04\x0b\x02\x04\x05\x12\x04\xbf\x01\x0b\x10\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\xbf\x01\x11,\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\xbf\x01/0\n\x1d\n\x04\x04\x0b\x02\x05\x12\x04\xc2\x01\x02\x12\x1a\x0f Required blob\n\n\r\n\x05\x04\x0b\x02\x05\x05\x12\x04\xc2\x01\x02\x07\n\r\n\x05\x04\x0b\x02\x05\x01\x12\x04\xc2\x01\x08\r\n\r\n\x05\x04\x0b\x02\x05\x03\x12\x04\xc2\x01\x10\x11\nL\n\x02\x04\x0c\x12\x06\xc6\x01\x00\xd6\x01\x01\x1a> A certified statement from the committee, without the value.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xc6\x01\x08\x17\n9\n\x04\x04\x0c\x02\x00\x12\x04\xc8\x01\x02\x17\x1a+ The ID of the chain the value belongs to.\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xc8\x01\x02\t\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xc8\x01\n\x12\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xc8\x01\x15\x16\n*\n\x04\x04\x0c\x02\x01\x12\x04\xcb\x01\x02\x11\x1a\x1c The certified value\'s hash\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\xcb\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xcb\x01\x08\x0c\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xcb\x01\x0f\x10\n;\n\x04\x04\x0c\x02\x02\x12\x04\xce\x01\x02\x12\x1a- The round in which the value was certified.\n\n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\xce\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\xce\x01\x08\r\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xce\x01\x10\x11\n6\n\x04\x04\x0c\x02\x03\x12\x04\xd1\x01\x02\x17\x1a( Signatures on the value hash and round\n\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\xd1\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xd1\x01\x08\x12\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xd1\x01\x15\x16\n|\n\x04\x04\x0c\x02\x04\x12\x04\xd5\x01\x02&\x1an Wait until all outgoing cross-chain messages from this certificate have\n been received by the target chains.\n\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\xd5\x01\x02\x06\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xd5\x01\x07!\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xd5\x01$%\ns\n\x02\x04\r\x12\x06\xda\x01\x00\xe7\x01\x01\x1ae A certified statement from the committee, together with other certificates\n required for execution.\n\n\x0b\n\x03\x04\r\x01\x12\x04\xda\x01\x08 \n7\n\x04\x04\r\x02\x00\x12\x04\xdc\x01\x02\x17\x1a) The ID of the chain (used for routing).\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xdc\x01\x02\t\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xdc\x01\n\x12\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xdc\x01\x15\x16\n|\n\x04\x04\r\x02\x01\x12\x04\xe0\x01\x02&\x1an Wait until all outgoing cross-chain messages from this certificate have\n been received by the target chains.\n\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xe0\x01\x02\x06\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xe0\x01\x07!\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xe0\x01$%\n2\n\x04\x04\r\x02\x02\x12\x04\xe3\x01\x02\x12\x1a$ Blobs required by this certificate\n\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xe3\x01\x02\x07\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xe3\x01\x08\r\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\xe3\x01\x10\x11\n9\n\x04\x04\r\x02\x03\x12\x04\xe6\x01\x02\x1e\x1a+ A certified statement from the committee.\n\n\r\n\x05\x04\r\x02\x03\x06\x12\x04\xe6\x01\x02\r\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\xe6\x01\x0e\x19\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\xe6\x01\x1c\x1d\n9\n\x02\x04\x0e\x12\x06\xea\x01\x00\xf3\x01\x01\x1a+ A certified statement from the committee.\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xea\x01\x08\x13\n#\n\x04\x04\x0e\x02\x00\x12\x04\xec\x01\x02\x12\x1a\x15 The certified value\n\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\xec\x01\x02\x07\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xec\x01\x08\r\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xec\x01\x10\x11\n;\n\x04\x04\x0e\x02\x01\x12\x04\xef\x01\x02\x12\x1a- The round in which the value was certified.\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xef\x01\x02\x07\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xef\x01\x08\r\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xef\x01\x10\x11\n6\n\x04\x04\x0e\x02\x02\x12\x04\xf2\x01\x02\x17\x1a( Signatures on the value hash and round\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xf2\x01\x02\x07\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xf2\x01\x08\x12\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xf2\x01\x15\x16\n\x0c\n\x02\x04\x0f\x12\x06\xf5\x01\x00\xf7\x01\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xf5\x01\x08\x18\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\xf6\x01\x02\x12\n\r\n\x05\x04\x0f\x02\x00\x05\x12\x04\xf6\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xf6\x01\x08\r\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xf6\x01\x10\x11\n\x0c\n\x02\x04\x10\x12\x06\xf9\x01\x00\xfb\x01\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xf9\x01\x08\x0f\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xfa\x01\x02\x12\n\r\n\x05\x04\x10\x02\x00\x05\x12\x04\xfa\x01\x02\x07\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xfa\x01\x08\r\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xfa\x01\x10\x11\n\x0c\n\x02\x04\x11\x12\x06\xfd\x01\x00\xff\x01\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xfd\x01\x08\x11\n\x0c\n\x04\x04\x11\x02\x00\x12\x04\xfe\x01\x02\x12\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xfe\x01\x02\x07\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xfe\x01\x08\r\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xfe\x01\x10\x11\n\x0c\n\x02\x04\x12\x12\x06\x81\x02\x00\x83\x02\x01\n\x0b\n\x03\x04\x12\x01\x12\x04\x81\x02\x08\x12\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\x82\x02\x02\x12\n\r\n\x05\x04\x12\x02\x00\x05\x12\x04\x82\x02\x02\x07\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\x82\x02\x08\r\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\x82\x02\x10\x11\n\x0c\n\x02\x04\x13\x12\x06\x85\x02\x00\x87\x02\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\x85\x02\x08\r\n\x0c\n\x04\x04\x13\x02\x00\x12\x04\x86\x02\x02\x12\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\x86\x02\x02\x07\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\x86\x02\x08\r\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\x86\x02\x10\x11\n\x0c\n\x02\x04\x14\x12\x06\x89\x02\x00\x8b\x02\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\x89\x02\x08\x11\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\x8a\x02\x02\x12\n\r\n\x05\x04\x14\x02\x00\x05\x12\x04\x8a\x02\x02\x07\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\x8a\x02\x08\r\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\x8a\x02\x10\x11\nO\n\x02\x04\x15\x12\x06\x8e\x02\x00\x90\x02\x01\x1aA A content-addressed blob ID i.e. the hash of the `BlobContent`.\n\n\x0b\n\x03\x04\x15\x01\x12\x04\x8e\x02\x08\x0e\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\x8f\x02\x02\x12\n\r\n\x05\x04\x15\x02\x00\x05\x12\x04\x8f\x02\x02\x07\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\x8f\x02\x08\r\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\x8f\x02\x10\x11\n&\n\x02\x04\x16\x12\x06\x93\x02\x00\x95\x02\x01\x1a\x18 A blob of binary data.\n\n\x0b\n\x03\x04\x16\x01\x12\x04\x93\x02\x08\x13\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\x94\x02\x02\x12\n\r\n\x05\x04\x16\x02\x00\x05\x12\x04\x94\x02\x02\x07\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\x94\x02\x08\r\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\x94\x02\x10\x11\n,\n\x02\x04\x17\x12\x06\x98\x02\x00\x9e\x02\x01\x1a\x1e Response to `ChainInfoQuery`\n\n\x0b\n\x03\x04\x17\x01\x12\x04\x98\x02\x08\x19\n*\n\x04\x04\x17\x02\x00\x12\x04\x9a\x02\x02\x17\x1a\x1c bincode-encoded chain info\n\n\r\n\x05\x04\x17\x02\x00\x05\x12\x04\x9a\x02\x02\x07\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\x9a\x02\x08\x12\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\x9a\x02\x15\x16\n4\n\x04\x04\x17\x02\x01\x12\x04\x9d\x02\x02#\x1a& Optional signature for the response.\n\n\r\n\x05\x04\x17\x02\x01\x04\x12\x04\x9d\x02\x02\n\n\r\n\x05\x04\x17\x02\x01\x06\x12\x04\x9d\x02\x0b\x14\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\x9d\x02\x15\x1e\n\r\n\x05\x04\x17\x02\x01\x03\x12\x04\x9d\x02!\"\n\x0c\n\x02\x04\x18\x12\x06\xa0\x02\x00\xa2\x02\x01\n\x0b\n\x03\x04\x18\x01\x12\x04\xa0\x02\x08\x13\n\x0c\n\x04\x04\x18\x02\x00\x12\x04\xa1\x02\x02\x14\n\r\n\x05\x04\x18\x02\x00\x05\x12\x04\xa1\x02\x02\x08\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\xa1\x02\t\x0f\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\xa1\x02\x12\x13b\x06proto3";