Constant penumbra_proto::FILE_DESCRIPTOR_SET

source ·
pub const FILE_DESCRIPTOR_SET: &[u8] = b"\n\xc4.\n\x19google/protobuf/any.proto\x12\x0fgoogle.protobuf\"6\n\x03Any\x12\x19\n\x08type_url\x18\x01 \x01(\tR\x07typeUrl\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05valueBv\n\x13com.google.protobufB\x08AnyProtoP\x01Z,google.golang.org/protobuf/types/known/anypb\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xdd,\n\x07\x12\x05\x1e\x00\xa1\x01\x01\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\"\x00C\n\t\n\x02\x08\x0b\x12\x03\"\x00C\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;\n\t\n\x02\x08%\x12\x03\'\x00;\n\xfc\x11\n\x02\x04\x00\x12\x05\x7f\x00\xa1\x01\x01\x1a\xee\x11 `Any` contains an arbitrary serialized protocol buffer message along with a\n URL that describes the type of the serialized message.\n\n Protobuf library provides support to pack/unpack Any values in the form\n of utility functions or additional generated methods of the Any type.\n\n Example 1: Pack and unpack a message in C++.\n\n     Foo foo = ...;\n     Any any;\n     any.PackFrom(foo);\n     ...\n     if (any.UnpackTo(&foo)) {\n       ...\n     }\n\n Example 2: Pack and unpack a message in Java.\n\n     Foo foo = ...;\n     Any any = Any.pack(foo);\n     ...\n     if (any.is(Foo.class)) {\n       foo = any.unpack(Foo.class);\n     }\n     // or ...\n     if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n       foo = any.unpack(Foo.getDefaultInstance());\n     }\n\n  Example 3: Pack and unpack a message in Python.\n\n     foo = Foo(...)\n     any = Any()\n     any.Pack(foo)\n     ...\n     if any.Is(Foo.DESCRIPTOR):\n       any.Unpack(foo)\n       ...\n\n  Example 4: Pack and unpack a message in Go\n\n      foo := &pb.Foo{...}\n      any, err := anypb.New(foo)\n      if err != nil {\n        ...\n      }\n      ...\n      foo := &pb.Foo{}\n      if err := any.UnmarshalTo(foo); err != nil {\n        ...\n      }\n\n The pack methods provided by protobuf library will by default use\n \'type.googleapis.com/full.type.name\' as the type URL and the unpack\n methods only use the fully qualified type name after the last \'/\'\n in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n name \"y.z\".\n\n JSON\n ====\n The JSON representation of an `Any` value uses the regular\n representation of the deserialized, embedded message, with an\n additional field `@type` which contains the type URL. Example:\n\n     package google.profile;\n     message Person {\n       string first_name = 1;\n       string last_name = 2;\n     }\n\n     {\n       \"@type\": \"type.googleapis.com/google.profile.Person\",\n       \"firstName\": <string>,\n       \"lastName\": <string>\n     }\n\n If the embedded message type is well-known and has a custom JSON\n representation, that representation will be embedded adding a field\n `value` which holds the custom JSON in addition to the `@type`\n field. Example (for message [google.protobuf.Duration][]):\n\n     {\n       \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n       \"value\": \"1.212s\"\n     }\n\n\n\n\n\x03\x04\x00\x01\x12\x03\x7f\x08\x0b\n\xbc\x0b\n\x04\x04\x00\x02\x00\x12\x04\x9d\x01\x02\x16\x1a\xad\x0b A URL/resource name that uniquely identifies the type of the serialized\n protocol buffer message. This string must contain at least\n one \"/\" character. The last segment of the URL\'s path must represent\n the fully qualified name of the type (as in\n `path/google.protobuf.Duration`). The name should be in a canonical form\n (e.g., leading \".\" is not accepted).\n\n In practice, teams usually precompile into the binary all types that they\n expect it to use in the context of Any. However, for URLs which use the\n scheme `http`, `https`, or no scheme, one can optionally set up a type\n server that maps type URLs to message definitions as follows:\n\n * If no scheme is provided, `https` is assumed.\n * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n   value in binary format, or produce an error.\n * Applications are allowed to cache lookup results based on the\n   URL, or have them precompiled into a binary to avoid any\n   lookup. Therefore, binary compatibility needs to be preserved\n   on changes to types. (Use versioned type names to manage\n   breaking changes.)\n\n Note: this functionality is not currently available in the official\n protobuf release, and it is not used for type URLs beginning with\n type.googleapis.com. As of May 2023, there are no widely used type server\n implementations and no plans to implement one.\n\n Schemes other than `http`, `https` (or the empty scheme) might be\n used with implementation specific semantics.\n\n\n\r\n\x05\x04\x00\x02\x00\x05\x12\x04\x9d\x01\x02\x08\n\r\n\x05\x04\x00\x02\x00\x01\x12\x04\x9d\x01\t\x11\n\r\n\x05\x04\x00\x02\x00\x03\x12\x04\x9d\x01\x14\x15\nW\n\x04\x04\x00\x02\x01\x12\x04\xa0\x01\x02\x12\x1aI Must be a valid serialized protocol buffer of the above specified type.\n\n\r\n\x05\x04\x00\x02\x01\x05\x12\x04\xa0\x01\x02\x07\n\r\n\x05\x04\x00\x02\x01\x01\x12\x04\xa0\x01\x08\r\n\r\n\x05\x04\x00\x02\x01\x03\x12\x04\xa0\x01\x10\x11b\x06proto3\n\xeb\x04\n\x1epenumbra/core/num/v1/num.proto\x12\x14penumbra.core.num.v1\"(\n\x06Amount\x12\x0e\n\x02lo\x18\x01 \x01(\x04R\x02lo\x12\x0e\n\x02hi\x18\x02 \x01(\x04R\x02hiJ\x80\x04\n\x06\x12\x04\x00\x00\x0b\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1d\n\xe7\x02\n\x02\x04\x00\x12\x04\x08\x00\x0b\x01\x1a\xda\x02 The quantity of a particular Asset. Represented as a 128-bit unsigned integer,\n split over two fields, `lo` and `hi`, representing the low- and high-order bytes\n of the 128-bit value, respectively. Clients must assemble these bits in their\n implementation into a `uint128` or comparable data structure, in order to model\n the Amount accurately.\n\n\n\n\x03\x04\x00\x01\x12\x03\x08\x08\x0e\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\t\x02\x10\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\x0b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\t\x0e\x0f\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\n\x02\x10\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\n\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\n\t\x0b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\n\x0e\x0fb\x06proto3\n\x9bE\n\"penumbra/core/asset/v1/asset.proto\x12\x16penumbra.core.asset.v1\x1a\x19google/protobuf/any.proto\x1a\x1epenumbra/core/num/v1/num.proto\")\n\x11BalanceCommitment\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"f\n\x07AssetId\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\x12\x1f\n\x0balt_bech32m\x18\x02 \x01(\tR\naltBech32m\x12$\n\x0ealt_base_denom\x18\x03 \x01(\tR\x0caltBaseDenom\"\x1d\n\x05Denom\x12\x14\n\x05denom\x18\x01 \x01(\tR\x05denom\"\xfe\x02\n\x08Metadata\x12 \n\x0bdescription\x18\x01 \x01(\tR\x0bdescription\x12B\n\x0bdenom_units\x18\x02 \x03(\x0b2!.penumbra.core.asset.v1.DenomUnitR\ndenomUnits\x12\x12\n\x04base\x18\x03 \x01(\tR\x04base\x12\x18\n\x07display\x18\x04 \x01(\tR\x07display\x12\x12\n\x04name\x18\x05 \x01(\tR\x04name\x12\x16\n\x06symbol\x18\x06 \x01(\tR\x06symbol\x12L\n\x11penumbra_asset_id\x18\xc0\x0f \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x0fpenumbraAssetId\x12;\n\x06images\x18\xc1\x0f \x03(\x0b2\".penumbra.core.asset.v1.AssetImageR\x06imagesJ\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tR\x03uriR\x03URIR\x08uri_hashR\x07URIHash\"W\n\tDenomUnit\x12\x14\n\x05denom\x18\x01 \x01(\tR\x05denom\x12\x1a\n\x08exponent\x18\x02 \x01(\rR\x08exponent\x12\x18\n\x07aliases\x18\x03 \x03(\tR\x07aliases\"y\n\x05Value\x124\n\x06amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06amount\x12:\n\x08asset_id\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\"\xf2\x04\n\tValueView\x12V\n\x0eknown_asset_id\x18\x01 \x01(\x0b2..penumbra.core.asset.v1.ValueView.KnownAssetIdH\x00R\x0cknownAssetId\x12\\\n\x10unknown_asset_id\x18\x02 \x01(\x0b20.penumbra.core.asset.v1.ValueView.UnknownAssetIdH\x00R\x0eunknownAssetId\x1a\x9b\x02\n\x0cKnownAssetId\x124\n\x06amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06amount\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\x08metadata\x12T\n\x11equivalent_values\x18\x03 \x03(\x0b2\'.penumbra.core.asset.v1.EquivalentValueR\x10equivalentValues\x12A\n\x11extended_metadata\x18\x04 \x01(\x0b2\x14.google.protobuf.AnyR\x10extendedMetadata\x1a\x82\x01\n\x0eUnknownAssetId\x124\n\x06amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06amount\x12:\n\x08asset_id\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetIdB\x0c\n\nvalue_view\"\xda\x01\n\nAssetImage\x12\x10\n\x03png\x18\x01 \x01(\tR\x03png\x12\x10\n\x03svg\x18\x02 \x01(\tR\x03svg\x12>\n\x05theme\x18\x03 \x01(\x0b2(.penumbra.core.asset.v1.AssetImage.ThemeR\x05theme\x1ah\n\x05Theme\x12*\n\x11primary_color_hex\x18\x01 \x01(\tR\x0fprimaryColorHex\x12\x16\n\x06circle\x18\x02 \x01(\x08R\x06circle\x12\x1b\n\tdark_mode\x18\x03 \x01(\x08R\x08darkMode\"\xe3\x01\n\x0eEstimatedPrice\x12B\n\x0cpriced_asset\x18\x01 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x0bpricedAsset\x12=\n\tnumeraire\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\tnumeraire\x12,\n\x12numeraire_per_unit\x18\x03 \x01(\x01R\x10numerairePerUnit\x12 \n\x0cas_of_height\x18\x04 \x01(\x04R\nasOfHeight\"\xbe\x01\n\x0fEquivalentValue\x12I\n\x11equivalent_amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x10equivalentAmount\x12>\n\tnumeraire\x18\x02 \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\tnumeraire\x12 \n\x0cas_of_height\x18\x03 \x01(\x04R\nasOfHeightJ\x994\n\x07\x12\x05\x00\x00\xa3\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1f\n\t\n\x02\x03\x00\x12\x03\x03\x00#\n\t\n\x02\x03\x01\x12\x03\x04\x00(\n\n\n\x02\x04\x00\x12\x04\x06\x00\x08\x01\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08\x19\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x07\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x07\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x07\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x07\x10\x11\n\"\n\x02\x04\x01\x12\x04\x0b\x00\x1f\x01\x1a\x16 A Penumbra asset ID.\n\n\n\n\x03\x04\x01\x01\x12\x03\x0b\x08\x0f\n)\n\x04\x04\x01\x02\x00\x12\x03\r\x02\x12\x1a\x1c The bytes of the asset ID.\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\r\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\r\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\r\x10\x11\n\x83\x03\n\x04\x04\x01\x02\x01\x12\x03\x16\x02\x19\x1a\xf5\x02 Alternatively, a Bech32m-encoded string representation of the `inner`\n bytes.\n\n NOTE: implementations are not required to support parsing this field.\n Implementations should prefer to encode the `inner` bytes in all messages they\n produce. Implementations must not accept messages with both `inner` and\n `alt_bech32m` set.  This field exists for convenience of RPC users.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x16\t\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x16\x17\x18\n\x89\x03\n\x04\x04\x01\x02\x02\x12\x03\x1e\x02\x1c\x1a\xfb\x02 Alternatively, a base denomination string which should be hashed to obtain the asset ID.\n\n NOTE: implementations are not required to support parsing this field.\n Implementations should prefer to encode the bytes in all messages they\n produce. Implementations must not accept messages with both `inner` and\n `alt_base_denom` set.  This field exists for convenience of RPC users.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x1e\t\x17\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1e\x1a\x1b\n\n\n\x02\x04\x02\x12\x04!\x00#\x01\n\n\n\x03\x04\x02\x01\x12\x03!\x08\r\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\"\x02\x13\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\x0e\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\"\x11\x12\n5\n\x02\x04\x03\x12\x04&\x00@\x01\x1a) Describes metadata about a given asset.\n\n\n\n\x03\x04\x03\x01\x12\x03&\x08\x10\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\'\x02\x19\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\x14\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\'\x17\x18\nN\n\x04\x04\x03\x02\x01\x12\x03)\x02%\x1aA denom_units represents the list of DenomUnit\'s for a given coin\n\n\x0c\n\x05\x04\x03\x02\x01\x04\x12\x03)\x02\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03)\x0b\x14\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03)\x15 \n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03)#$\nZ\n\x04\x04\x03\x02\x02\x12\x03+\x02\x12\x1aM base represents the base denom (should be the DenomUnit with exponent = 0).\n\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03+\x02\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03+\t\r\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03+\x10\x11\nZ\n\x04\x04\x03\x02\x03\x12\x03.\x02\x15\x1aM display indicates the suggested denom that should be\n displayed in clients.\n\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x03.\x02\x08\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03.\t\x10\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03.\x13\x14\nC\n\x04\x04\x03\x02\x04\x12\x030\x02\x12\x1a6 name defines the name of the token (eg: Cosmos Atom)\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x030\x02\x08\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x030\t\r\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x030\x10\x11\nv\n\x04\x04\x03\x02\x05\x12\x033\x02\x14\x1ai symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\n be the same as the display.\n\n\x0c\n\x05\x04\x03\x02\x05\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x033\t\x0f\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x033\x12\x13\ny\n\x03\x04\x03\t\x12\x037\x02\r\x1am These are used by the CSDK but we do not use them, and in our opinion\n they should be deprecated there too.\n\n\x0b\n\x04\x04\x03\t\x00\x12\x037\x0b\x0c\n\x0c\n\x05\x04\x03\t\x00\x01\x12\x037\x0b\x0c\n\x0c\n\x05\x04\x03\t\x00\x02\x12\x037\x0b\x0c\n\n\n\x03\x04\x03\n\x12\x038\x02\x18\n\x0b\n\x04\x04\x03\n\x00\x12\x038\x0b\x10\n\x0b\n\x04\x04\x03\n\x01\x12\x038\x12\x17\n\n\n\x03\x04\x03\t\x12\x039\x02\r\n\x0b\n\x04\x04\x03\t\x01\x12\x039\x0b\x0c\n\x0c\n\x05\x04\x03\t\x01\x01\x12\x039\x0b\x0c\n\x0c\n\x05\x04\x03\t\x01\x02\x12\x039\x0b\x0c\n\n\n\x03\x04\x03\n\x12\x03:\x02!\n\x0b\n\x04\x04\x03\n\x02\x12\x03:\x0b\x15\n\x0b\n\x04\x04\x03\n\x03\x12\x03:\x17 \n>\n\x04\x04\x03\x02\x06\x12\x03=\x02#\x1a1 the asset ID on Penumbra for this denomination.\n\n\x0c\n\x05\x04\x03\x02\x06\x06\x12\x03=\x02\t\n\x0c\n\x05\x04\x03\x02\x06\x01\x12\x03=\n\x1b\n\x0c\n\x05\x04\x03\x02\x06\x03\x12\x03=\x1e\"\n\x0b\n\x04\x04\x03\x02\x07\x12\x03?\x02$\n\x0c\n\x05\x04\x03\x02\x07\x04\x12\x03?\x02\n\n\x0c\n\x05\x04\x03\x02\x07\x06\x12\x03?\x0b\x15\n\x0c\n\x05\x04\x03\x02\x07\x01\x12\x03?\x16\x1c\n\x0c\n\x05\x04\x03\x02\x07\x03\x12\x03?\x1f#\nh\n\x02\x04\x04\x12\x04C\x00N\x01\x1a\\ DenomUnit represents a struct that describes a given denomination unit of the basic token.\n\n\n\n\x03\x04\x04\x01\x12\x03C\x08\x11\nT\n\x04\x04\x04\x02\x00\x12\x03E\x02\x13\x1aG denom represents the string name of the given denom unit (e.g uatom).\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03E\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03E\t\x0e\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03E\x11\x12\n\xa7\x02\n\x04\x04\x04\x02\x01\x12\x03K\x02\x16\x1a\x99\x02 exponent represents power of 10 exponent that one must\n raise the base_denom to in order to equal the given DenomUnit\'s denom\n 1 denom = 10^exponent base_denom\n (e.g. with a base_denom of uatom, one can create a DenomUnit of \'atom\' with\n exponent = 6, thus: 1 atom = 10^6 uatom).\n\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03K\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03K\t\x11\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03K\x14\x15\nF\n\x04\x04\x04\x02\x02\x12\x03M\x02\x1e\x1a9 aliases is a list of string aliases for the given denom\n\n\x0c\n\x05\x04\x04\x02\x02\x04\x12\x03M\x02\n\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03M\x0b\x11\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03M\x12\x19\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03M\x1c\x1d\n\n\n\x02\x04\x05\x12\x04P\x00S\x01\n\n\n\x03\x04\x05\x01\x12\x03P\x08\r\n\x0b\n\x04\x04\x05\x02\x00\x12\x03Q\x02 \n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03Q\x02\x14\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03Q\x15\x1b\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03Q\x1e\x1f\n\x0b\n\x04\x04\x05\x02\x01\x12\x03R\x02\x17\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03R\x02\t\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03R\n\x12\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03R\x15\x16\nD\n\x02\x04\x06\x12\x04V\x00v\x01\x1a8 Represents a value of a known or unknown denomination.\n\n\n\n\x03\x04\x06\x01\x12\x03V\x08\x11\nA\n\x04\x04\x06\x03\x00\x12\x04X\x02l\x03\x1a3 A value whose asset ID is known and has metadata.\n\n\x0c\n\x05\x04\x06\x03\x00\x01\x12\x03X\n\x16\n)\n\x06\x04\x06\x03\x00\x02\x00\x12\x03Z\x04\"\x1a\x1a The amount of the value.\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x06\x12\x03Z\x04\x16\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x03Z\x17\x1d\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x03Z !\nF\n\x06\x04\x06\x03\x00\x02\x01\x12\x03]\x04\x1a\x1a7 The asset metadata describing the asset of the value.\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x06\x12\x03]\x04\x0c\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x03]\r\x15\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x03]\x18\x19\nM\n\x06\x04\x06\x03\x00\x02\x02\x12\x03`\x043\x1a> Optionally, a list of equivalent values in other numeraires.\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x04\x12\x03`\x04\x0c\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x06\x12\x03`\r\x1c\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x01\x12\x03`\x1d.\n\x0e\n\x07\x04\x06\x03\x00\x02\x02\x03\x12\x03`12\n\x8e\x04\n\x06\x04\x06\x03\x00\x02\x03\x12\x03k\x04.\x1a\xfe\x03 Optionally, extended, dynamically-typed metadata about the object this\n token represents.\n\n This is left flexible to allow future extensions. For instance, a view\n server could augment an LPNFT with a message describing the current state\n of the position and its reserves, allowing a frontend to render LPNFTs\n with their position information (trading pair, etc). However, because\n this is in an extension, a frontend that does not have special handling\n logic would fall back on the ordinary asset metadata.\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x03\x06\x12\x03k\x04\x17\n\x0e\n\x07\x04\x06\x03\x00\x02\x03\x01\x12\x03k\x18)\n\x0e\n\x07\x04\x06\x03\x00\x02\x03\x03\x12\x03k,-\nD\n\x04\x04\x06\x03\x01\x12\x04n\x02q\x03\x1a6 A value whose asset ID is unknown, with no metadata.\n\n\x0c\n\x05\x04\x06\x03\x01\x01\x12\x03n\n\x18\n\r\n\x06\x04\x06\x03\x01\x02\x00\x12\x03o\x04\"\n\x0e\n\x07\x04\x06\x03\x01\x02\x00\x06\x12\x03o\x04\x16\n\x0e\n\x07\x04\x06\x03\x01\x02\x00\x01\x12\x03o\x17\x1d\n\x0e\n\x07\x04\x06\x03\x01\x02\x00\x03\x12\x03o !\n\r\n\x06\x04\x06\x03\x01\x02\x01\x12\x03p\x04\x19\n\x0e\n\x07\x04\x06\x03\x01\x02\x01\x06\x12\x03p\x04\x0b\n\x0e\n\x07\x04\x06\x03\x01\x02\x01\x01\x12\x03p\x0c\x14\n\x0e\n\x07\x04\x06\x03\x01\x02\x01\x03\x12\x03p\x17\x18\n\x0c\n\x04\x04\x06\x08\x00\x12\x04r\x02u\x03\n\x0c\n\x05\x04\x06\x08\x00\x01\x12\x03r\x08\x12\n\x0b\n\x04\x04\x06\x02\x00\x12\x03s\x04$\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03s\x04\x10\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03s\x11\x1f\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03s\"#\n\x0b\n\x04\x04\x06\x02\x01\x12\x03t\x04(\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03t\x04\x12\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03t\x13#\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03t&\'\n,\n\x02\x04\x07\x12\x05y\x00\x86\x01\x01\x1a\x1f An image related to an asset.\n\n\n\n\x03\x04\x07\x01\x12\x03y\x08\x12\n2\n\x04\x04\x07\x02\x00\x12\x03{\x02\x11\x1a% The URI of the image in PNG format.\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\x0c\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03{\x0f\x10\n2\n\x04\x04\x07\x02\x01\x12\x03}\x02\x11\x1a% The URI of the image in SVG format.\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03}\x02\x08\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03}\t\x0c\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03}\x0f\x10\n\r\n\x04\x04\x07\x03\x00\x12\x05\x7f\x02\x84\x01\x03\n\x0c\n\x05\x04\x07\x03\x00\x01\x12\x03\x7f\n\x0f\n?\n\x06\x04\x07\x03\x00\x02\x00\x12\x04\x81\x01\x04!\x1a/ Should be in hex format, `^#[0-9a-fA-F]{6}$`.\n\n\x0f\n\x07\x04\x07\x03\x00\x02\x00\x05\x12\x04\x81\x01\x04\n\n\x0f\n\x07\x04\x07\x03\x00\x02\x00\x01\x12\x04\x81\x01\x0b\x1c\n\x0f\n\x07\x04\x07\x03\x00\x02\x00\x03\x12\x04\x81\x01\x1f \n\x0e\n\x06\x04\x07\x03\x00\x02\x01\x12\x04\x82\x01\x04\x14\n\x0f\n\x07\x04\x07\x03\x00\x02\x01\x05\x12\x04\x82\x01\x04\x08\n\x0f\n\x07\x04\x07\x03\x00\x02\x01\x01\x12\x04\x82\x01\t\x0f\n\x0f\n\x07\x04\x07\x03\x00\x02\x01\x03\x12\x04\x82\x01\x12\x13\n\x0e\n\x06\x04\x07\x03\x00\x02\x02\x12\x04\x83\x01\x04\x17\n\x0f\n\x07\x04\x07\x03\x00\x02\x02\x05\x12\x04\x83\x01\x04\x08\n\x0f\n\x07\x04\x07\x03\x00\x02\x02\x01\x12\x04\x83\x01\t\x12\n\x0f\n\x07\x04\x07\x03\x00\x02\x02\x03\x12\x04\x83\x01\x15\x16\n\x0c\n\x04\x04\x07\x02\x02\x12\x04\x85\x01\x02\x12\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\x85\x01\x02\x07\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\x85\x01\x08\r\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\x85\x01\x10\x11\n\x8a\x01\n\x02\x04\x08\x12\x06\x8b\x01\x00\x94\x01\x01\x1a| The estimated price of one asset in terms of a numeraire.\n\n This is used for generating \"equivalent values\" in ValueViews.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\x8b\x01\x08\x16\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\x8c\x01\x02$\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\x8c\x01\x02\x12\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\x8c\x01\x13\x1f\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\x8c\x01\"#\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\x8d\x01\x02!\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\x8d\x01\x02\x12\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\x8d\x01\x13\x1c\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\x8d\x01\x1f \n\xa6\x01\n\x04\x04\x08\x02\x02\x12\x04\x91\x01\x02 \x1a\x97\x01 Multiply units of the priced asset by this value to get the value in the numeraire.\n\n This is a floating-point number since the price is approximate.\n\n\r\n\x05\x04\x08\x02\x02\x05\x12\x04\x91\x01\x02\x08\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\x91\x01\t\x1b\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\x91\x01\x1e\x1f\nH\n\x04\x04\x08\x02\x03\x12\x04\x93\x01\x02\x1a\x1a: If set, gives some idea of when the price was estimated.\n\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\x93\x01\x02\x08\n\r\n\x05\x04\x08\x02\x03\x01\x12\x04\x93\x01\t\x15\n\r\n\x05\x04\x08\x02\x03\x03\x12\x04\x93\x01\x18\x19\n\xdc\x02\n\x02\x04\t\x12\x06\x9c\x01\x00\xa3\x01\x01\x1a\xcd\x02 An \"equivalent\" value to a given value, in terms of a numeraire.\n\n For instance, this can provide a USD-equivalent value relative to a\n stablecoin, or an amount of the staking token, etc.  A view server can\n optionally include this information to assist a frontend in displaying\n information about the value in a user-friendly way.\n\n\x0b\n\x03\x04\t\x01\x12\x04\x9c\x01\x08\x17\nT\n\x04\x04\t\x02\x00\x12\x04\x9e\x01\x02+\x1aF The equivalent amount of the parent Value in terms of the numeraire.\n\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\x9e\x01\x02\x14\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x9e\x01\x15&\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x9e\x01)*\n2\n\x04\x04\t\x02\x01\x12\x04\xa0\x01\x02\x19\x1a$ Metadata describing the numeraire.\n\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\xa0\x01\x02\n\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xa0\x01\x0b\x14\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xa0\x01\x17\x18\nT\n\x04\x04\t\x02\x02\x12\x04\xa2\x01\x02\x1a\x1aF If set, gives some idea of when the price/equivalence was estimated.\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\xa2\x01\x02\x08\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xa2\x01\t\x15\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xa2\x01\x18\x19b\x06proto3\n\xbd\r\n>penumbra/core/component/community_pool/v1/community_pool.proto\x12)penumbra.core.component.community_pool.v1\x1a\"penumbra/core/asset/v1/asset.proto\"m\n\x17CommunityPoolParameters\x12R\n&community_pool_spend_proposals_enabled\x18\x01 \x01(\x08R\"communityPoolSpendProposalsEnabled\"\x88\x01\n\x0eGenesisContent\x12v\n\x15community_pool_params\x18\x01 \x01(\x0b2B.penumbra.core.component.community_pool.v1.CommunityPoolParametersR\x13communityPoolParams\"a\n!CommunityPoolAssetBalancesRequest\x12<\n\tasset_ids\x18\x02 \x03(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x08assetIds\"]\n\"CommunityPoolAssetBalancesResponse\x127\n\x07balance\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x07balance2\xcc\x01\n\x0cQueryService\x12\xbb\x01\n\x1aCommunityPoolAssetBalances\x12L.penumbra.core.component.community_pool.v1.CommunityPoolAssetBalancesRequest\x1aM.penumbra.core.component.community_pool.v1.CommunityPoolAssetBalancesResponse0\x01J\x98\x07\n\x06\x12\x04\x00\x00 \x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x002\n\t\n\x02\x03\x00\x12\x03\x03\x00,\n+\n\x02\x04\x00\x12\x04\x06\x00\t\x01\x1a\x1f CommunityPool parameter data.\n\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08\x1f\nB\n\x04\x04\x00\x02\x00\x12\x03\x08\x022\x1a5 Whether Community Pool spend proposals are enabled.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x06\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x07-\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0801\n*\n\x02\x04\x01\x12\x04\x0c\x00\x0f\x01\x1a\x1e CommunityPool genesis state.\n\n\n\n\x03\x04\x01\x01\x12\x03\x0c\x08\x16\n(\n\x04\x04\x01\x02\x00\x12\x03\x0e\x024\x1a\x1b CommunityPool parameters.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x0e\x02\x19\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0e\x1a/\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0e23\n@\n\x02\x06\x00\x12\x04\x12\x00\x14\x01\x1a4 Query operations for the community_pool component.\n\n\n\n\x03\x06\x00\x01\x12\x03\x12\x08\x14\n\x0b\n\x04\x06\x00\x02\x00\x12\x03\x13\x02x\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x13\x06 \n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x13!B\n\x0c\n\x05\x06\x00\x02\x00\x06\x12\x03\x13MS\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x13Tv\nY\n\x02\x04\x02\x12\x04\x17\x00\x1a\x01\x1aM Requests the list of all asset balances associated with the Community Pool.\n\n\n\n\x03\x04\x02\x01\x12\x03\x17\x08)\ne\n\x04\x04\x02\x02\x00\x12\x03\x19\x02*\x1aX (Optional): The specific asset balances to retrieve, if excluded all will be returned.\n\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x19\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x19\x0b\x1b\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x19\x1c%\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x19()\n=\n\x02\x04\x03\x12\x04\x1d\x00 \x01\x1a1 The Community Pool\'s balance of a single asset.\n\n\n\n\x03\x04\x03\x01\x12\x03\x1d\x08*\n.\n\x04\x04\x03\x02\x00\x12\x03\x1f\x02\"\x1a! The balance for a single asset.\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03\x1f\x02\x15\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x1f\x16\x1d\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x1f !b\x06proto3\n\x94\x19\n(penumbra/core/component/fee/v1/fee.proto\x12\x1epenumbra.core.component.fee.v1\x1a\"penumbra/core/asset/v1/asset.proto\x1a\x1epenumbra/core/num/v1/num.proto\"w\n\x03Fee\x124\n\x06amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06amount\x12:\n\x08asset_id\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\"\xca\x01\n\tGasPrices\x12*\n\x11block_space_price\x18\x01 \x01(\x04R\x0fblockSpacePrice\x129\n\x19compact_block_space_price\x18\x02 \x01(\x04R\x16compactBlockSpacePrice\x12-\n\x12verification_price\x18\x03 \x01(\x04R\x11verificationPrice\x12\'\n\x0fexecution_price\x18\x04 \x01(\x04R\x0eexecutionPrice\"\x9e\x01\n\x07FeeTier\x12G\n\x08fee_tier\x18\x01 \x01(\x0e2,.penumbra.core.component.fee.v1.FeeTier.TierR\x07feeTier\"J\n\x04Tier\x12\x14\n\x10TIER_UNSPECIFIED\x10\x00\x12\x0c\n\x08TIER_LOW\x10\x01\x12\x0f\n\x0bTIER_MEDIUM\x10\x02\x12\r\n\tTIER_HIGH\x10\x03\"d\n\rFeeParameters\x12S\n\x10fixed_gas_prices\x18\x01 \x01(\x0b2).penumbra.core.component.fee.v1.GasPricesR\x0efixedGasPrices\"^\n\x0eGenesisContent\x12L\n\nfee_params\x18\x01 \x01(\x0b2-.penumbra.core.component.fee.v1.FeeParametersR\tfeeParams\"\x19\n\x17CurrentGasPricesRequest\"d\n\x18CurrentGasPricesResponse\x12H\n\ngas_prices\x18\x01 \x01(\x0b2).penumbra.core.component.fee.v1.GasPricesR\tgasPrices2\x96\x01\n\x0cQueryService\x12\x85\x01\n\x10CurrentGasPrices\x127.penumbra.core.component.fee.v1.CurrentGasPricesRequest\x1a8.penumbra.core.component.fee.v1.CurrentGasPricesResponseJ\xb4\x10\n\x06\x12\x04\x00\x00@\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\'\n\t\n\x02\x03\x00\x12\x03\x03\x00,\n\t\n\x02\x03\x01\x12\x03\x04\x00(\n3\n\x02\x04\x00\x12\x04\x07\x00\r\x01\x1a\' Specifies fees paid by a transaction.\n\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x0b\n8\n\x04\x04\x00\x02\x00\x12\x03\t\x02\x1b\x1a+ The amount of the token used to pay fees.\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\t\x02\x0f\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\t\x10\x16\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\t\x19\x1a\nz\n\x04\x04\x00\x02\x01\x12\x03\x0c\x02 \x1am If present, the asset ID of the token used to pay fees.\n If absent, specifies the staking token implicitly.\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0c\x02\x12\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0c\x13\x1b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0c\x1e\x1f\n\n\n\x02\x04\x01\x12\x04\x0f\x00\x18\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0f\x08\x11\np\n\x04\x04\x01\x02\x00\x12\x03\x11\x02\x1f\x1ac The price per unit block space in terms of the staking token, with an implicit 1,000 denominator.\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x11\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x11\t\x1a\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x11\x1d\x1e\nx\n\x04\x04\x01\x02\x01\x12\x03\x13\x02\'\x1ak The price per unit compact block space in terms of the staking token, with an implicit 1,000 denominator.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x13\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x13\t\"\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x13%&\nv\n\x04\x04\x01\x02\x02\x12\x03\x15\x02 \x1ai The price per unit verification cost in terms of the staking token, with an implicit 1,000 denominator.\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\x1b\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x15\x1e\x1f\ns\n\x04\x04\x01\x02\x03\x12\x03\x17\x02\x1d\x1af The price per unit execution cost in terms of the staking token, with an implicit 1,000 denominator.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x17\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x17\t\x18\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x17\x1b\x1c\n\n\n\x02\x04\x02\x12\x04\x1a\x00%\x01\n\n\n\x03\x04\x02\x01\x12\x03\x1a\x08\x0f\n%\n\x04\x04\x02\x04\x00\x12\x04\x1c\x02!\x03\x1a\x17 The tier for the fee.\n\n\x0c\n\x05\x04\x02\x04\x00\x01\x12\x03\x1c\x07\x0b\n\r\n\x06\x04\x02\x04\x00\x02\x00\x12\x03\x1d\x04\x19\n\x0e\n\x07\x04\x02\x04\x00\x02\x00\x01\x12\x03\x1d\x04\x14\n\x0e\n\x07\x04\x02\x04\x00\x02\x00\x02\x12\x03\x1d\x17\x18\n\r\n\x06\x04\x02\x04\x00\x02\x01\x12\x03\x1e\x04\x11\n\x0e\n\x07\x04\x02\x04\x00\x02\x01\x01\x12\x03\x1e\x04\x0c\n\x0e\n\x07\x04\x02\x04\x00\x02\x01\x02\x12\x03\x1e\x0f\x10\n\r\n\x06\x04\x02\x04\x00\x02\x02\x12\x03\x1f\x04\x14\n\x0e\n\x07\x04\x02\x04\x00\x02\x02\x01\x12\x03\x1f\x04\x0f\n\x0e\n\x07\x04\x02\x04\x00\x02\x02\x02\x12\x03\x1f\x12\x13\n\r\n\x06\x04\x02\x04\x00\x02\x03\x12\x03 \x04\x12\n\x0e\n\x07\x04\x02\x04\x00\x02\x03\x01\x12\x03 \x04\r\n\x0e\n\x07\x04\x02\x04\x00\x02\x03\x02\x12\x03 \x10\x11\n%\n\x04\x04\x02\x02\x00\x12\x03$\x02\x14\x1a\x18 The selected fee tier.\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03$\x02\x06\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03$\x07\x0f\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03$\x12\x13\n/\n\x02\x04\x03\x12\x04(\x00-\x01\x1a# Fee component configuration data.\n\n\n\n\x03\x04\x03\x01\x12\x03(\x08\x15\n\xa7\x01\n\x04\x04\x03\x02\x00\x12\x03,\x02!\x1a\x99\x01 Fixed gas prices used to compute transactions\' base fees.\n\n In the future, this should be removed and replaced with parameters for dynamic gas pricing.\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03,\x02\x0b\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03,\x0c\x1c\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03,\x1f \n+\n\x02\x04\x04\x12\x040\x003\x01\x1a\x1f Fee-specific genesis content.\n\n\n\n\x03\x04\x04\x01\x12\x030\x08\x16\n4\n\x04\x04\x04\x02\x00\x12\x032\x02\x1f\x1a\' The FeeParameters present at genesis.\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x032\x02\x0f\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x032\x10\x1a\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x032\x1d\x1e\n5\n\x02\x06\x00\x12\x046\x009\x01\x1a) Query operations for the fee component.\n\n\n\n\x03\x06\x00\x01\x12\x036\x08\x14\n*\n\x04\x06\x00\x02\x00\x12\x038\x02S\x1a\x1d Get the current gas prices.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x038\x06\x16\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x038\x17.\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x0389Q\n\t\n\x02\x04\x05\x12\x03;\x00\"\n\n\n\x03\x04\x05\x01\x12\x03;\x08\x1f\n\n\n\x02\x04\x06\x12\x04=\x00@\x01\n\n\n\x03\x04\x06\x01\x12\x03=\x08 \n&\n\x04\x04\x06\x02\x00\x12\x03?\x02\x1b\x1a\x19 The current gas prices.\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03?\x02\x0b\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03?\x0c\x16\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03?\x19\x1ab\x06proto3\n\xc3\t\n penumbra/crypto/tct/v1/tct.proto\x12\x16penumbra.crypto.tct.v1\"\'\n\x0fStateCommitment\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\"\n\nMerkleRoot\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\xca\x01\n\x14StateCommitmentProof\x12P\n\x0fnote_commitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0enoteCommitment\x12\x1a\n\x08position\x18\x02 \x01(\x04R\x08position\x12D\n\tauth_path\x18\x03 \x03(\x0b2\'.penumbra.crypto.tct.v1.MerklePathChunkR\x08authPath\"h\n\x0fMerklePathChunk\x12\x1b\n\tsibling_1\x18\x01 \x01(\x0cR\x08sibling1\x12\x1b\n\tsibling_2\x18\x02 \x01(\x0cR\x08sibling2\x12\x1b\n\tsibling_3\x18\x03 \x01(\x0cR\x08sibling3J\xfa\x05\n\x06\x12\x04\x00\x00\x17\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1f\n\n\n\x02\x04\x00\x12\x04\x03\x00\x05\x01\n\n\n\x03\x04\x00\x01\x12\x03\x03\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x04\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x04\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x04\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x04\x10\x11\n\n\n\x02\x04\x01\x12\x04\x07\x00\t\x01\n\n\n\x03\x04\x01\x01\x12\x03\x07\x08\x12\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x08\x02\x12\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x08\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x08\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x08\x10\x11\nf\n\x02\x04\x02\x12\x04\x0c\x00\x10\x01\x1aZ An authentication path from a state commitment to the root of the state commitment tree.\n\n\n\n\x03\x04\x02\x01\x12\x03\x0c\x08\x1c\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\r\x02&\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\r\x02\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\r\x12!\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\r$%\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x0e\x02\x16\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x0e\t\x11\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x0e\x14\x15\n\x1f\n\x04\x04\x02\x02\x02\x12\x03\x0f\x02)\"\x12 always length 24\n\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03\x0f\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03\x0f\x0b\x1a\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x0f\x1b$\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x0f\'(\nR\n\x02\x04\x03\x12\x04\x13\x00\x17\x01\x1aF A set of 3 sibling hashes in the auth path for some note commitment.\n\n\n\n\x03\x04\x03\x01\x12\x03\x13\x08\x17\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\x14\x02\x16\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03\x14\x02\x07\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x14\x08\x11\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x14\x14\x15\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x15\x02\x16\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03\x15\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\x15\x08\x11\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x15\x14\x15\n\x0b\n\x04\x04\x03\x02\x02\x12\x03\x16\x02\x16\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03\x16\x02\x07\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03\x16\x08\x11\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03\x16\x14\x15b\x06proto3\n\xfb.\n(penumbra/core/component/sct/v1/sct.proto\x12\x1epenumbra.core.component.sct.v1\x1a penumbra/crypto/tct/v1/tct.proto\"6\n\rSctParameters\x12%\n\x0eepoch_duration\x18\x01 \x01(\x04R\repochDuration\"^\n\x0eGenesisContent\x12L\n\nsct_params\x18\x01 \x01(\x0b2-.penumbra.core.component.sct.v1.SctParametersR\tsctParams\"@\n\x05Epoch\x12\x14\n\x05index\x18\x01 \x01(\x04R\x05index\x12!\n\x0cstart_height\x18\x02 \x01(\x04R\x0bstartHeight\"\x96\x06\n\x10CommitmentSource\x12`\n\x0btransaction\x18\x01 \x01(\x0b2<.penumbra.core.component.sct.v1.CommitmentSource.TransactionH\x00R\x0btransaction\x12h\n\x0fics_20_transfer\x18\x02 \x01(\x0b2>.penumbra.core.component.sct.v1.CommitmentSource.Ics20TransferH\x00R\rics20Transfer\x12z\n\x15funding_stream_reward\x18\x14 \x01(\x0b2D.penumbra.core.component.sct.v1.CommitmentSource.FundingStreamRewardH\x00R\x13fundingStreamReward\x12z\n\x15community_pool_output\x18\x1e \x01(\x0b2D.penumbra.core.component.sct.v1.CommitmentSource.CommunityPoolOutputH\x00R\x13communityPoolOutput\x12T\n\x07genesis\x18( \x01(\x0b28.penumbra.core.component.sct.v1.CommitmentSource.GenesisH\x00R\x07genesis\x1a\t\n\x07Genesis\x1a\x1d\n\x0bTransaction\x12\x0e\n\x02id\x18\x01 \x01(\x0cR\x02id\x1a6\n\x13FundingStreamReward\x12\x1f\n\x0bepoch_index\x18\x01 \x01(\x04R\nepochIndex\x1a\x15\n\x13CommunityPoolOutput\x1ae\n\rIcs20Transfer\x12\x1d\n\npacket_seq\x18\x01 \x01(\x04R\tpacketSeq\x12\x1d\n\nchannel_id\x18\x02 \x01(\tR\tchannelId\x12\x16\n\x06sender\x18\x03 \x01(\tR\x06senderB\x08\n\x06source\"!\n\tNullifier\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"F\n\x11NullificationInfo\x12\x0e\n\x02id\x18\x01 \x01(\x0cR\x02id\x12!\n\x0cspend_height\x18\x02 \x01(\x04R\x0bspendHeight\"\xc0\x01\n\x0fEventCommitment\x12G\n\ncommitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\ncommitment\x12\x1a\n\x08position\x18\x02 \x01(\x04R\x08position\x12H\n\x06source\x18\x03 \x01(\x0b20.penumbra.core.component.sct.v1.CommitmentSourceR\x06source\"a\n\x0bEventAnchor\x12:\n\x06anchor\x18\x01 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\x06anchor\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\"^\n\x0eEventEpochRoot\x126\n\x04root\x18\x01 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\x04root\x12\x14\n\x05index\x18\x02 \x01(\x04R\x05index\"`\n\x0eEventBlockRoot\x126\n\x04root\x18\x01 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\x04root\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\".\n\x14EpochByHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"T\n\x15EpochByHeightResponse\x12;\n\x05epoch\x18\x01 \x01(\x0b2%.penumbra.core.component.sct.v1.EpochR\x05epoch2\x8c\x01\n\x0cQueryService\x12|\n\rEpochByHeight\x124.penumbra.core.component.sct.v1.EpochByHeightRequest\x1a5.penumbra.core.component.sct.v1.EpochByHeightResponseJ\xa9\x1f\n\x06\x12\x04\x00\x00r\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\'\n\t\n\x02\x03\x00\x12\x03\x03\x00*\n7\n\x02\x04\x00\x12\x04\x06\x00\t\x01\x1a+ Configuration data for the SCT component.\n\n\n\n\x03\x04\x00\x01\x12\x03\x06\x08\x15\nG\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\x1c\x1a: The default duration of each epoch, in number of blocks.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\t\x17\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\x1a\x1b\n+\n\x02\x04\x01\x12\x04\x0c\x00\x0f\x01\x1a\x1f Sct-specific genesis content.\n\n\n\n\x03\x04\x01\x01\x12\x03\x0c\x08\x16\n4\n\x04\x04\x01\x02\x00\x12\x03\x0e\x02\x1f\x1a\' The SctParameters present at genesis.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x0e\x02\x0f\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0e\x10\x1a\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0e\x1d\x1e\nR\n\x02\x04\x02\x12\x04\x12\x00\x17\x01\x1aF An epoch is a sequentially numbered collection of contiguous blocks.\n\n\n\n\x03\x04\x02\x01\x12\x03\x12\x08\r\n-\n\x04\x04\x02\x02\x00\x12\x03\x14\x02\x13\x1a  The unique index of the epoch.\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\x0e\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x14\x11\x12\n1\n\x04\x04\x02\x02\x01\x12\x03\x16\x02\x1a\x1a$ The starting height for the epoch.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x16\t\x15\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x16\x18\x19\n\xd9\x01\n\x02\x04\x03\x12\x04\x1d\x00C\x01\x1a\xcc\x01 Metadata describing the source of a commitment in the state commitment tree.\n\n This message allows clients to track provenance of state commitments, and to\n decide whether or not to download block data.\n\n\n\n\x03\x04\x03\x01\x12\x03\x1d\x08\x18\nF\n\x04\x04\x03\x03\x00\x12\x03\x1f\x02\x14\x1a9 The state commitment was included in the genesis state.\n\n\x0c\n\x05\x04\x03\x03\x00\x01\x12\x03\x1f\n\x11\n\xdc\x02\n\x04\x04\x03\x03\x01\x12\x04%\x02+\x03\x1a\xcd\x02 The commitment was created by a transaction.\n\n When included in a `CompactBlock` via a `StatePayload`, the transaction source is \"dehydrated\"\n by stripping the `id` field and putting empty bytes in its place.  When clients perform extended\n transaction fetch, they should match up transaction hashes to \"rehydrate\" the source info.\n\n\x0c\n\x05\x04\x03\x03\x01\x01\x12\x03%\n\x15\n\xe1\x01\n\x06\x04\x03\x03\x01\x02\x00\x12\x03*\x04\x11\x1a\xd1\x01 The transaction ID, if specified.\n\n This field may be omitted to save space, and should not be required to be present.\n If the bytes are missing, the message should be interpreted as \"Transaction (Unknown)\".\n\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x05\x12\x03*\x04\t\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x01\x12\x03*\n\x0c\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x03\x12\x03*\x0f\x10\nP\n\x04\x04\x03\x03\x02\x12\x04-\x020\x03\x1aB The commitment was created through a validator\'s funding stream.\n\n\x0c\n\x05\x04\x03\x03\x02\x01\x12\x03-\n\x1d\n<\n\x06\x04\x03\x03\x02\x02\x00\x12\x03/\x04\x1b\x1a- The epoch index the rewards were issued in.\n\n\x0e\n\x07\x04\x03\x03\x02\x02\x00\x05\x12\x03/\x04\n\n\x0e\n\x07\x04\x03\x03\x02\x02\x00\x01\x12\x03/\x0b\x16\n\x0e\n\x07\x04\x03\x03\x02\x02\x00\x03\x12\x03/\x19\x1a\no\n\x04\x04\x03\x03\x03\x12\x032\x02 \x1ab The commitment was created through a `CommunityPoolOutput` in a governance-initated transaction.\n\n\x0c\n\x05\x04\x03\x03\x03\x01\x12\x032\n\x1d\nH\n\x04\x04\x03\x03\x04\x12\x044\x02;\x03\x1a: The commitment was created by an inbound ICS20 transfer.\n\n\x0c\n\x05\x04\x03\x03\x04\x01\x12\x034\n\x17\nN\n\x06\x04\x03\x03\x04\x02\x00\x12\x036\x04\x1a\x1a? The sequence number of the packet that triggered the transfer\n\n\x0e\n\x07\x04\x03\x03\x04\x02\x00\x05\x12\x036\x04\n\n\x0e\n\x07\x04\x03\x03\x04\x02\x00\x01\x12\x036\x0b\x15\n\x0e\n\x07\x04\x03\x03\x04\x02\x00\x03\x12\x036\x18\x19\n8\n\x06\x04\x03\x03\x04\x02\x01\x12\x038\x04\x1a\x1a) The channel id the transfer happened on\n\n\x0e\n\x07\x04\x03\x03\x04\x02\x01\x05\x12\x038\x04\n\n\x0e\n\x07\x04\x03\x03\x04\x02\x01\x01\x12\x038\x0b\x15\n\x0e\n\x07\x04\x03\x03\x04\x02\x01\x03\x12\x038\x18\x19\n=\n\x06\x04\x03\x03\x04\x02\x02\x12\x03:\x04\x16\x1a. The sender address on the counterparty chain\n\n\x0e\n\x07\x04\x03\x03\x04\x02\x02\x05\x12\x03:\x04\n\n\x0e\n\x07\x04\x03\x03\x04\x02\x02\x01\x12\x03:\x0b\x11\n\x0e\n\x07\x04\x03\x03\x04\x02\x02\x03\x12\x03:\x14\x15\n\x0c\n\x04\x04\x03\x08\x00\x12\x04<\x02B\x03\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x03<\x08\x0e\n\x0b\n\x04\x04\x03\x02\x00\x12\x03=\x04 \n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03=\x04\x0f\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03=\x10\x1b\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03=\x1e\x1f\n\x0b\n\x04\x04\x03\x02\x01\x12\x03>\x04&\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03>\x04\x11\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03>\x12!\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03>$%\n\x0b\n\x04\x04\x03\x02\x02\x12\x03?\x043\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03?\x04\x17\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03?\x18-\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03?02\n\x0b\n\x04\x04\x03\x02\x03\x12\x03@\x043\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03@\x04\x17\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03@\x18-\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03@02\n\x0b\n\x04\x04\x03\x02\x04\x12\x03A\x04\x19\n\x0c\n\x05\x04\x03\x02\x04\x06\x12\x03A\x04\x0b\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03A\x0c\x13\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03A\x16\x18\n\n\n\x02\x04\x04\x12\x04E\x00G\x01\n\n\n\x03\x04\x04\x01\x12\x03E\x08\x11\n\x0b\n\x04\x04\x04\x02\x00\x12\x03F\x02\x12\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03F\x02\x07\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03F\x08\r\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03F\x10\x11\nK\n\x02\x04\x05\x12\x04J\x00M\x01\x1a? Records information about what transaction spent a nullifier.\n\n\n\n\x03\x04\x05\x01\x12\x03J\x08\x19\n\x0b\n\x04\x04\x05\x02\x00\x12\x03K\x02\x0f\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03K\x02\x07\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03K\x08\n\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03K\r\x0e\n\x0b\n\x04\x04\x05\x02\x01\x12\x03L\x02\x1a\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03L\x02\x08\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03L\t\x15\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03L\x18\x19\n@\n\x02\x04\x06\x12\x04P\x00T\x01\x1a4 Event recording a new commitment added to the SCT.\n\n\n\n\x03\x04\x06\x01\x12\x03P\x08\x17\n\x0b\n\x04\x04\x06\x02\x00\x12\x03Q\x02/\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03Q\x02\x1f\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03Q *\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03Q-.\n\x0b\n\x04\x04\x06\x02\x01\x12\x03R\x02\x16\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03R\x02\x08\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03R\t\x11\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03R\x14\x15\n\x0b\n\x04\x04\x06\x02\x02\x12\x03S\x02\x1e\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03S\x02\x12\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03S\x13\x19\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03S\x1c\x1d\n:\n\x02\x04\x07\x12\x04W\x00Z\x01\x1a. Event recording an SCT anchor (global root).\n\n\n\n\x03\x04\x07\x01\x12\x03W\x08\x13\n\x0b\n\x04\x04\x07\x02\x00\x12\x03X\x02&\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03X\x02\x1a\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03X\x1b!\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03X$%\n\x0b\n\x04\x04\x07\x02\x01\x12\x03Y\x02\x14\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03Y\x02\x08\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03Y\t\x0f\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03Y\x12\x13\n0\n\x02\x04\x08\x12\x04]\x00`\x01\x1a$ Event recording an SCT epoch root.\n\n\n\n\x03\x04\x08\x01\x12\x03]\x08\x16\n\x0b\n\x04\x04\x08\x02\x00\x12\x03^\x02$\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03^\x02\x1a\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03^\x1b\x1f\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03^\"#\n\x0b\n\x04\x04\x08\x02\x01\x12\x03_\x02\x13\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03_\x02\x08\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03_\t\x0e\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03_\x11\x12\n0\n\x02\x04\t\x12\x04c\x00f\x01\x1a$ Event recording an SCT block root.\n\n\n\n\x03\x04\t\x01\x12\x03c\x08\x16\n\x0b\n\x04\x04\t\x02\x00\x12\x03d\x02$\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03d\x02\x1a\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03d\x1b\x1f\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03d\"#\n\x0b\n\x04\x04\t\x02\x01\x12\x03e\x02\x14\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\x04g\x00i\x01\n\n\n\x03\x04\n\x01\x12\x03g\x08\x1c\n\x0b\n\x04\x04\n\x02\x00\x12\x03h\x02\x14\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03h\x02\x08\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03h\t\x0f\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03h\x12\x13\n\n\n\x02\x04\x0b\x12\x04k\x00m\x01\n\n\n\x03\x04\x0b\x01\x12\x03k\x08\x1d\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03l\x02\x12\n\x0c\n\x05\x04\x0b\x02\x00\x06\x12\x03l\x02\x07\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03l\x08\r\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03l\x10\x11\n5\n\x02\x06\x00\x12\x04p\x00r\x01\x1a) Query operations for the SCT component.\n\n\n\n\x03\x06\x00\x01\x12\x03p\x08\x14\n\x0b\n\x04\x06\x00\x02\x00\x12\x03q\x02J\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03q\x06\x13\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03q\x14(\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03q3Hb\x06proto3\n\x9c\x19\n penumbra/core/keys/v1/keys.proto\x12\x15penumbra.core.keys.v1\"@\n\x07Address\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\x12\x1f\n\x0balt_bech32m\x18\x02 \x01(\tR\naltBech32m\"\xad\x03\n\x0bAddressView\x12F\n\x07decoded\x18\x01 \x01(\x0b2*.penumbra.core.keys.v1.AddressView.DecodedH\x00R\x07decoded\x12C\n\x06opaque\x18\x02 \x01(\x0b2).penumbra.core.keys.v1.AddressView.OpaqueH\x00R\x06opaque\x1a\xbc\x01\n\x07Decoded\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\x129\n\x05index\x18\x02 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x05index\x12<\n\twallet_id\x18\x03 \x01(\x0b2\x1f.penumbra.core.keys.v1.WalletIdR\x08walletId\x1aB\n\x06Opaque\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07addressB\x0e\n\x0caddress_view\"\"\n\nPayloadKey\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\" \n\x08SpendKey\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"&\n\x0eFullViewingKey\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\" \n\x08WalletId\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"#\n\x0bDiversifier\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"H\n\x0cAddressIndex\x12\x18\n\x07account\x18\x02 \x01(\rR\x07account\x12\x1e\n\nrandomizer\x18\x03 \x01(\x0cR\nrandomizer\"\x1d\n\x0bIdentityKey\x12\x0e\n\x02ik\x18\x01 \x01(\x0cR\x02ik\"\x1f\n\rGovernanceKey\x12\x0e\n\x02gk\x18\x01 \x01(\x0cR\x02gk\"$\n\x0cConsensusKey\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05innerJ\x81\x12\n\x06\x12\x04\x00\x00J\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1e\n\x8a\x01\n\x02\x04\x00\x12\x04\x05\x00\x12\x01\x1a~ A Penumbra address. An address in Penumbra is a Bech32m-encoded\n string, with the human-readable prefix (HRP) `penumbrav2t`.\n\n\n\n\x03\x04\x00\x01\x12\x03\x05\x08\x0f\n\x90\x01\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\x12\x1a\x82\x01 The bytes of the address. Must be represented as a series of\n `uint8` (i.e. values 0 through 255), with a length of 80 elements.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\x10\x11\n\xca\x02\n\x04\x04\x00\x02\x01\x12\x03\x11\x02\x19\x1a\xbc\x02 Alternatively, a Bech32m-encoded string representation of the `inner`\n bytes.\n\n NOTE: implementations are not required to support parsing this field.\n Implementations should prefer to encode the bytes in all messages they\n produce. Implementations must not accept messages with both `inner` and\n `alt_bech32m` set.\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x11\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x11\t\x14\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x11\x17\x18\n\n\n\x02\x04\x01\x12\x04\x14\x00#\x01\n\n\n\x03\x04\x01\x01\x12\x03\x14\x08\x13\nb\n\x04\x04\x01\x03\x00\x12\x04\x16\x02\x1a\x03\x1aT A decoded address, with information about the address index and wallet ID visible.\n\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x03\x16\n\x11\n\r\n\x06\x04\x01\x03\x00\x02\x00\x12\x03\x17\x04\x18\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x06\x12\x03\x17\x04\x0b\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x03\x17\x0c\x13\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x03\x17\x16\x17\n\r\n\x06\x04\x01\x03\x00\x02\x01\x12\x03\x18\x04\x1b\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x06\x12\x03\x18\x04\x10\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x03\x18\x11\x16\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x03\x18\x19\x1a\n\r\n\x06\x04\x01\x03\x00\x02\x02\x12\x03\x19\x04\x1b\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x06\x12\x03\x19\x04\x0c\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x01\x12\x03\x19\r\x16\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x03\x12\x03\x19\x19\x1a\nd\n\x04\x04\x01\x03\x01\x12\x04\x1c\x02\x1e\x03\x1aV An opaque address, with no information about the address index or wallet ID visible.\n\n\x0c\n\x05\x04\x01\x03\x01\x01\x12\x03\x1c\n\x10\n\r\n\x06\x04\x01\x03\x01\x02\x00\x12\x03\x1d\x04\x18\n\x0e\n\x07\x04\x01\x03\x01\x02\x00\x06\x12\x03\x1d\x04\x0b\n\x0e\n\x07\x04\x01\x03\x01\x02\x00\x01\x12\x03\x1d\x0c\x13\n\x0e\n\x07\x04\x01\x03\x01\x02\x00\x03\x12\x03\x1d\x16\x17\n\x0c\n\x04\x04\x01\x08\x00\x12\x04\x1f\x02\"\x03\n\x0c\n\x05\x04\x01\x08\x00\x01\x12\x03\x1f\x08\x14\n\x0b\n\x04\x04\x01\x02\x00\x12\x03 \x04\x18\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03 \x04\x0b\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03 \x0c\x13\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03 \x16\x17\n\x0b\n\x04\x04\x01\x02\x01\x12\x03!\x04\x16\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03!\x04\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03!\x0b\x11\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03!\x14\x15\n\n\n\x02\x04\x02\x12\x04%\x00\'\x01\n\n\n\x03\x04\x02\x01\x12\x03%\x08\x12\n\x0b\n\x04\x04\x02\x02\x00\x12\x03&\x02\x12\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03&\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03&\x08\r\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03&\x10\x11\n\n\n\x02\x04\x03\x12\x04)\x00+\x01\n\n\n\x03\x04\x03\x01\x12\x03)\x08\x10\n\x0b\n\x04\x04\x03\x02\x00\x12\x03*\x02\x12\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\r\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03*\x10\x11\n\n\n\x02\x04\x04\x12\x04-\x00/\x01\n\n\n\x03\x04\x04\x01\x12\x03-\x08\x16\n\x0b\n\x04\x04\x04\x02\x00\x12\x03.\x02\x12\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\r\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03.\x10\x11\n\n\n\x02\x04\x05\x12\x041\x003\x01\n\n\n\x03\x04\x05\x01\x12\x031\x08\x10\n\x0b\n\x04\x04\x05\x02\x00\x12\x032\x02\x12\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x032\x02\x07\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x032\x08\r\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x032\x10\x11\n\n\n\x02\x04\x06\x12\x045\x007\x01\n\n\n\x03\x04\x06\x01\x12\x035\x08\x13\n\x0b\n\x04\x04\x06\x02\x00\x12\x036\x02\x12\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x036\x02\x07\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x036\x08\r\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x036\x10\x11\n\n\n\x02\x04\x07\x12\x049\x00<\x01\n\n\n\x03\x04\x07\x01\x12\x039\x08\x14\n\x0b\n\x04\x04\x07\x02\x00\x12\x03:\x02\x15\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\x10\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03:\x13\x14\n\x0b\n\x04\x04\x07\x02\x01\x12\x03;\x02\x17\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03;\x02\x07\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03;\x08\x12\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03;\x15\x16\nT\n\x02\x04\x08\x12\x04?\x00A\x01\x1aH A validator\'s identity key (decaf377-rdsa spendauth verification key).\n\n\n\n\x03\x04\x08\x01\x12\x03?\x08\x13\n\x0b\n\x04\x04\x08\x02\x00\x12\x03@\x02\x0f\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03@\x02\x07\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03@\x08\n\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03@\r\x0e\nV\n\x02\x04\t\x12\x04D\x00F\x01\x1aJ A validator\'s governance key (decaf377-rdsa spendauth verification key).\n\n\n\n\x03\x04\t\x01\x12\x03D\x08\x15\n\x0b\n\x04\x04\t\x02\x00\x12\x03E\x02\x0f\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03E\x02\x07\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03E\x08\n\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03E\r\x0e\n\n\n\x02\x04\n\x12\x04H\x00J\x01\n\n\n\x03\x04\n\x01\x12\x03H\x08\x14\n\x0b\n\x04\x04\n\x02\x00\x12\x03I\x02\x12\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03I\x02\x07\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03I\x08\r\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03I\x10\x11b\x06proto3\n\xf0\x03\n4penumbra/crypto/decaf377_rdsa/v1/decaf377_rdsa.proto\x12 penumbra.crypto.decaf377_rdsa.v1\"*\n\x12SpendAuthSignature\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"(\n\x10BindingSignature\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\",\n\x14SpendVerificationKey\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05innerJ\x89\x02\n\x06\x12\x04\x00\x00\r\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00)\n\n\n\x02\x04\x00\x12\x04\x03\x00\x05\x01\n\n\n\x03\x04\x00\x01\x12\x03\x03\x08\x1a\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x04\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x04\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x04\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x04\x10\x11\n\n\n\x02\x04\x01\x12\x04\x07\x00\t\x01\n\n\n\x03\x04\x01\x01\x12\x03\x07\x08\x18\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x08\x02\x12\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x08\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x08\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x08\x10\x11\n\n\n\x02\x04\x02\x12\x04\x0b\x00\r\x01\n\n\n\x03\x04\x02\x01\x12\x03\x0b\x08\x1c\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x0c\x02\x12\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x0c\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x0c\x08\r\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x0c\x10\x11b\x06proto3\n\xaf\\\n<penumbra/core/component/shielded_pool/v1/shielded_pool.proto\x12(penumbra.core.component.shielded_pool.v1\x1a\"penumbra/core/asset/v1/asset.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a penumbra/core/keys/v1/keys.proto\x1a\x1epenumbra/core/num/v1/num.proto\x1a4penumbra/crypto/decaf377_rdsa/v1/decaf377_rdsa.proto\x1a penumbra/crypto/tct/v1/tct.proto\"{\n\x16ShieldedPoolParameters\x12a\n\x10fixed_fmd_params\x18\x01 \x01(\x0b27.penumbra.core.component.shielded_pool.v1.FmdParametersR\x0efixedFmdParams\"\x80\x03\n\x0eGenesisContent\x12r\n\x14shielded_pool_params\x18\x01 \x01(\x0b2@.penumbra.core.component.shielded_pool.v1.ShieldedPoolParametersR\x12shieldedPoolParams\x12e\n\x0ballocations\x18\x03 \x03(\x0b2C.penumbra.core.component.shielded_pool.v1.GenesisContent.AllocationR\x0ballocations\x1a\x92\x01\n\nAllocation\x124\n\x06amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06amount\x12\x14\n\x05denom\x18\x02 \x01(\tR\x05denom\x128\n\x07address\x18\x03 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\"c\n\rFmdParameters\x12%\n\x0eprecision_bits\x18\x01 \x01(\rR\rprecisionBits\x12+\n\x12as_of_block_height\x18\x02 \x01(\x04R\x0fasOfBlockHeight\"\x8b\x01\n\x04Note\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\x12\x14\n\x05rseed\x18\x02 \x01(\x0cR\x05rseed\x128\n\x07address\x18\x03 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\"\x97\x01\n\x08NoteView\x127\n\x05value\x18\x01 \x01(\x0b2!.penumbra.core.asset.v1.ValueViewR\x05value\x12\x14\n\x05rseed\x18\x02 \x01(\x0cR\x05rseed\x12<\n\x07address\x18\x03 \x01(\x0b2\".penumbra.core.keys.v1.AddressViewR\x07address\"&\n\x0eNoteCiphertext\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\xe5\x01\n\x0bNotePayload\x12P\n\x0fnote_commitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0enoteCommitment\x12#\n\rephemeral_key\x18\x02 \x01(\x0cR\x0cephemeralKey\x12_\n\x0eencrypted_note\x18\x03 \x01(\x0b28.penumbra.core.component.shielded_pool.v1.NoteCiphertextR\rencryptedNote\"%\n\rZKOutputProof\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"$\n\x0cZKSpendProof\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"2\n\x1aZKNullifierDerivationProof\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\xef\x01\n\x05Spend\x12G\n\x04body\x18\x01 \x01(\x0b23.penumbra.core.component.shielded_pool.v1.SpendBodyR\x04body\x12O\n\x08auth_sig\x18\x02 \x01(\x0b24.penumbra.crypto.decaf377_rdsa.v1.SpendAuthSignatureR\x07authSig\x12L\n\x05proof\x18\x03 \x01(\x0b26.penumbra.core.component.shielded_pool.v1.ZKSpendProofR\x05proof\"U\n\nEventSpend\x12G\n\tnullifier\x18\x01 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\"_\n\x0bEventOutput\x12P\n\x0fnote_commitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0enoteCommitment\"\xf6\x01\n\tSpendBody\x12X\n\x12balance_commitment\x18\x01 \x01(\x0b2).penumbra.core.asset.v1.BalanceCommitmentR\x11balanceCommitment\x12G\n\tnullifier\x18\x06 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x12F\n\x02rk\x18\x04 \x01(\x0b26.penumbra.crypto.decaf377_rdsa.v1.SpendVerificationKeyR\x02rk\"\xb4\x03\n\tSpendView\x12W\n\x07visible\x18\x01 \x01(\x0b2;.penumbra.core.component.shielded_pool.v1.SpendView.VisibleH\x00R\x07visible\x12T\n\x06opaque\x18\x02 \x01(\x0b2:.penumbra.core.component.shielded_pool.v1.SpendView.OpaqueH\x00R\x06opaque\x1a\x98\x01\n\x07Visible\x12E\n\x05spend\x18\x01 \x01(\x0b2/.penumbra.core.component.shielded_pool.v1.SpendR\x05spend\x12F\n\x04note\x18\x02 \x01(\x0b22.penumbra.core.component.shielded_pool.v1.NoteViewR\x04note\x1aO\n\x06Opaque\x12E\n\x05spend\x18\x01 \x01(\x0b2/.penumbra.core.component.shielded_pool.v1.SpendR\x05spendB\x0c\n\nspend_view\"\x86\x02\n\tSpendPlan\x12B\n\x04note\x18\x01 \x01(\x0b2..penumbra.core.component.shielded_pool.v1.NoteR\x04note\x12\x1a\n\x08position\x18\x02 \x01(\x04R\x08position\x12\x1e\n\nrandomizer\x18\x03 \x01(\x0cR\nrandomizer\x12%\n\x0evalue_blinding\x18\x04 \x01(\x0cR\rvalueBlinding\x12(\n\x10proof_blinding_r\x18\x05 \x01(\x0cR\x0eproofBlindingR\x12(\n\x10proof_blinding_s\x18\x06 \x01(\x0cR\x0eproofBlindingS\"\xa1\x01\n\x06Output\x12H\n\x04body\x18\x01 \x01(\x0b24.penumbra.core.component.shielded_pool.v1.OutputBodyR\x04body\x12M\n\x05proof\x18\x02 \x01(\x0b27.penumbra.core.component.shielded_pool.v1.ZKOutputProofR\x05proof\"\x92\x02\n\nOutputBody\x12X\n\x0cnote_payload\x18\x01 \x01(\x0b25.penumbra.core.component.shielded_pool.v1.NotePayloadR\x0bnotePayload\x12X\n\x12balance_commitment\x18\x02 \x01(\x0b2).penumbra.core.asset.v1.BalanceCommitmentR\x11balanceCommitment\x12(\n\x10wrapped_memo_key\x18\x03 \x01(\x0cR\x0ewrappedMemoKey\x12&\n\x0fovk_wrapped_key\x18\x04 \x01(\x0cR\rovkWrappedKey\"\x82\x04\n\nOutputView\x12X\n\x07visible\x18\x01 \x01(\x0b2<.penumbra.core.component.shielded_pool.v1.OutputView.VisibleH\x00R\x07visible\x12U\n\x06opaque\x18\x02 \x01(\x0b2;.penumbra.core.component.shielded_pool.v1.OutputView.OpaqueH\x00R\x06opaque\x1a\xdf\x01\n\x07Visible\x12H\n\x06output\x18\x01 \x01(\x0b20.penumbra.core.component.shielded_pool.v1.OutputR\x06output\x12F\n\x04note\x18\x02 \x01(\x0b22.penumbra.core.component.shielded_pool.v1.NoteViewR\x04note\x12B\n\x0bpayload_key\x18\x03 \x01(\x0b2!.penumbra.core.keys.v1.PayloadKeyR\npayloadKey\x1aR\n\x06Opaque\x12H\n\x06output\x18\x01 \x01(\x0b20.penumbra.core.component.shielded_pool.v1.OutputR\x06outputB\r\n\x0boutput_view\"\x95\x02\n\nOutputPlan\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\x12A\n\x0cdest_address\x18\x02 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x0bdestAddress\x12\x14\n\x05rseed\x18\x03 \x01(\x0cR\x05rseed\x12%\n\x0evalue_blinding\x18\x04 \x01(\x0cR\rvalueBlinding\x12(\n\x10proof_blinding_r\x18\x05 \x01(\x0cR\x0eproofBlindingR\x12(\n\x10proof_blinding_s\x18\x06 \x01(\x0cR\x0eproofBlindingS\"V\n\x18AssetMetadataByIdRequest\x12:\n\x08asset_id\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\"d\n\x19AssetMetadataByIdResponse\x12G\n\x0edenom_metadata\x18\x01 \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\rdenomMetadata2\xad\x01\n\x0cQueryService\x12\x9c\x01\n\x11AssetMetadataById\x12B.penumbra.core.component.shielded_pool.v1.AssetMetadataByIdRequest\x1aC.penumbra.core.component.shielded_pool.v1.AssetMetadataByIdResponseJ\x8f8\n\x07\x12\x05\x00\x00\xd1\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x001\n\t\n\x02\x03\x00\x12\x03\x03\x00,\n\t\n\x02\x03\x01\x12\x03\x04\x002\n\t\n\x02\x03\x02\x12\x03\x05\x00*\n\t\n\x02\x03\x03\x12\x03\x06\x00(\n\t\n\x02\x03\x04\x12\x03\x07\x00>\n\t\n\x02\x03\x05\x12\x03\x08\x00*\nA\n\x02\x04\x00\x12\x04\x0b\x00\r\x01\x1a5 Configuration data for the shielded pool component.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x1e\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0c\x02%\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0c\x02\x0f\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\x10 \n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c#$\n;\n\x02\x04\x01\x12\x04\x10\x00\x1a\x01\x1a/ Genesis data for the shielded pool component.\n\n\n\n\x03\x04\x01\x01\x12\x03\x10\x08\x16\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x11\x022\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x11\x02\x18\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x11\x19-\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1101\n\x0c\n\x04\x04\x01\x03\x00\x12\x04\x12\x02\x16\x03\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x03\x12\n\x14\n\r\n\x06\x04\x01\x03\x00\x02\x00\x12\x03\x13\x04+\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x06\x12\x03\x13\x04\x1f\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x03\x13 &\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x03\x13)*\n\r\n\x06\x04\x01\x03\x00\x02\x01\x12\x03\x14\x04\x15\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x05\x12\x03\x14\x04\n\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x01\x12\x03\x14\x0b\x10\n\x0e\n\x07\x04\x01\x03\x00\x02\x01\x03\x12\x03\x14\x13\x14\n\r\n\x06\x04\x01\x03\x00\x02\x02\x12\x03\x15\x04.\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x06\x12\x03\x15\x04!\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x01\x12\x03\x15\")\n\x0e\n\x07\x04\x01\x03\x00\x02\x02\x03\x12\x03\x15,-\n1\n\x04\x04\x01\x02\x01\x12\x03\x19\x02&\x1a$ The allocations present at genesis\n\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03\x19\x02\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x19\x0b\x15\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x19\x16!\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x19$%\n4\n\x02\x04\x02\x12\x04\x1d\x00 \x01\x1a( Parameters for Fuzzy Message Detection\n\n\n\n\x03\x04\x02\x01\x12\x03\x1d\x08\x15\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1e\x02\x1c\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1e\t\x17\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1e\x1a\x1b\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1f\x02 \n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1f\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1f\t\x1b\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1f\x1e\x1f\n\n\n\x02\x04\x03\x12\x04\"\x00&\x01\n\n\n\x03\x04\x03\x01\x12\x03\"\x08\x0c\n\x0b\n\x04\x04\x03\x02\x00\x12\x03#\x02\x1b\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03#\x02\x10\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03#\x11\x16\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03#\x19\x1a\n\x0b\n\x04\x04\x03\x02\x01\x12\x03$\x02\x12\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03$\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03$\x08\r\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03$\x10\x11\n\x0b\n\x04\x04\x03\x02\x02\x12\x03%\x02\x1e\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03%\x02\x11\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03%\x12\x19\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03%\x1c\x1d\n\n\n\x02\x04\x04\x12\x04(\x00,\x01\n\n\n\x03\x04\x04\x01\x12\x03(\x08\x10\n\x0b\n\x04\x04\x04\x02\x00\x12\x03)\x02\x1f\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03)\x02\x14\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03)\x15\x1a\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03)\x1d\x1e\n\x0b\n\x04\x04\x04\x02\x01\x12\x03*\x02\x12\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03*\x02\x07\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03*\x08\r\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03*\x10\x11\n\x0b\n\x04\x04\x04\x02\x02\x12\x03+\x02\"\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03+\x02\x15\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03+\x16\x1d\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03+ !\nl\n\x02\x04\x05\x12\x040\x002\x01\x1a` An encrypted note.\n 176 = 80(address) + 16(amount) + 32(asset ID) + 32(rseed) + 16(MAC) bytes.\n\n\n\n\x03\x04\x05\x01\x12\x030\x08\x16\n\x0b\n\x04\x04\x05\x02\x00\x12\x031\x02\x12\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x031\x02\x07\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x031\x08\r\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x031\x10\x11\nz\n\x02\x04\x06\x12\x046\x00>\x01\x1an The body of an output description, including only the minimal\n data required to scan and process the output.\n\n\n\n\x03\x04\x06\x01\x12\x036\x08\x13\nA\n\x04\x04\x06\x02\x00\x12\x038\x024\x1a4 The note commitment for the output note. 32 bytes.\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x038\x02\x1f\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x038 /\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03823\nA\n\x04\x04\x06\x02\x01\x12\x03:\x02\x1a\x1a4 The encoding of an ephemeral public key. 32 bytes.\n\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03:\x02\x07\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03:\x08\x15\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03:\x18\x19\n\x83\x01\n\x04\x04\x06\x02\x02\x12\x03=\x02$\x1av An encryption of the newly created note.\n 176 = 80(address) + 16(amount) + 32(asset ID) + 32(rseed) + 16(MAC) bytes.\n\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03=\x02\x10\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03=\x11\x1f\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03=\"#\n)\n\x02\x04\x07\x12\x04A\x00C\x01\x1a\x1d A Penumbra ZK output proof.\n\n\n\n\x03\x04\x07\x01\x12\x03A\x08\x15\n\x0b\n\x04\x04\x07\x02\x00\x12\x03B\x02\x12\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03B\x02\x07\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03B\x08\r\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03B\x10\x11\n(\n\x02\x04\x08\x12\x04F\x00H\x01\x1a\x1c A Penumbra ZK spend proof.\n\n\n\n\x03\x04\x08\x01\x12\x03F\x08\x14\n\x0b\n\x04\x04\x08\x02\x00\x12\x03G\x02\x12\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03G\x02\x07\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03G\x08\r\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03G\x10\x11\n7\n\x02\x04\t\x12\x04K\x00M\x01\x1a+ A Penumbra ZK nullifier derivation proof.\n\n\n\n\x03\x04\t\x01\x12\x03K\x08\"\n\x0b\n\x04\x04\t\x02\x00\x12\x03L\x02\x12\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03L\x02\x07\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03L\x08\r\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03L\x10\x11\n%\n\x02\x04\n\x12\x04P\x00W\x01\x1a\x19 Spends a shielded note.\n\n\n\n\x03\x04\n\x01\x12\x03P\x08\r\n/\n\x04\x04\n\x02\x00\x12\x03R\x02\x15\x1a\" The effecting data of the spend.\n\n\x0c\n\x05\x04\n\x02\x00\x06\x12\x03R\x02\x0b\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03R\x0c\x10\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03R\x13\x14\n7\n\x04\x04\n\x02\x01\x12\x03T\x02:\x1a* The authorizing signature for the spend.\n\n\x0c\n\x05\x04\n\x02\x01\x06\x12\x03T\x02,\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03T-5\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03T89\nK\n\x04\x04\n\x02\x02\x12\x03V\x02\x19\x1a> The proof that the spend is well-formed is authorizing data.\n\n\x0c\n\x05\x04\n\x02\x02\x06\x12\x03V\x02\x0e\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03V\x0f\x14\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03V\x17\x18\n+\n\x02\x04\x0b\x12\x04Z\x00\\\x01\x1a\x1f ABCI Event recording a spend.\n\n\n\n\x03\x04\x0b\x01\x12\x03Z\x08\x12\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03[\x020\n\x0c\n\x05\x04\x0b\x02\x00\x06\x12\x03[\x02!\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03[\"+\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03[./\n-\n\x02\x04\x0c\x12\x04_\x00a\x01\x1a! ABCI Event recording an output.\n\n\n\n\x03\x04\x0c\x01\x12\x03_\x08\x13\n\x0b\n\x04\x04\x0c\x02\x00\x12\x03`\x024\n\x0c\n\x05\x04\x0c\x02\x00\x06\x12\x03`\x02\x1f\n\x0c\n\x05\x04\x0c\x02\x00\x01\x12\x03` /\n\x0c\n\x05\x04\x0c\x02\x00\x03\x12\x03`23\n\xbe\x01\n\x02\x04\r\x12\x04f\x00m\x01\x1a\xb1\x01 The body of a spend description, containing only the effecting data\n describing changes to the ledger, and not the authorizing data that allows\n those changes to be performed.\n\n\n\n\x03\x04\r\x01\x12\x03f\x08\x11\n;\n\x04\x04\r\x02\x00\x12\x03h\x024\x1a. A commitment to the value of the input note.\n\n\x0c\n\x05\x04\r\x02\x00\x06\x12\x03h\x02\x1c\n\x0c\n\x05\x04\r\x02\x00\x01\x12\x03h\x1d/\n\x0c\n\x05\x04\r\x02\x00\x03\x12\x03h23\n/\n\x04\x04\r\x02\x01\x12\x03j\x02!\x1a\" The nullifier of the input note.\n\n\x0c\n\x05\x04\r\x02\x01\x06\x12\x03j\x02\x12\n\x0c\n\x05\x04\r\x02\x01\x01\x12\x03j\x13\x1c\n\x0c\n\x05\x04\r\x02\x01\x03\x12\x03j\x1f \nS\n\x04\x04\r\x02\x02\x12\x03l\x026\x1aF The randomized validating key for the spend authorization signature.\n\n\x0c\n\x05\x04\r\x02\x02\x06\x12\x03l\x02.\n\x0c\n\x05\x04\r\x02\x02\x01\x12\x03l/1\n\x0c\n\x05\x04\r\x02\x02\x03\x12\x03l45\n\n\n\x02\x04\x0e\x12\x04n\x00z\x01\n\n\n\x03\x04\x0e\x01\x12\x03n\x08\x11\n\x0c\n\x04\x04\x0e\x03\x00\x12\x04o\x02r\x03\n\x0c\n\x05\x04\x0e\x03\x00\x01\x12\x03o\n\x11\n\r\n\x06\x04\x0e\x03\x00\x02\x00\x12\x03p\x04\x14\n\x0e\n\x07\x04\x0e\x03\x00\x02\x00\x06\x12\x03p\x04\t\n\x0e\n\x07\x04\x0e\x03\x00\x02\x00\x01\x12\x03p\n\x0f\n\x0e\n\x07\x04\x0e\x03\x00\x02\x00\x03\x12\x03p\x12\x13\n\r\n\x06\x04\x0e\x03\x00\x02\x01\x12\x03q\x04\x16\n\x0e\n\x07\x04\x0e\x03\x00\x02\x01\x06\x12\x03q\x04\x0c\n\x0e\n\x07\x04\x0e\x03\x00\x02\x01\x01\x12\x03q\r\x11\n\x0e\n\x07\x04\x0e\x03\x00\x02\x01\x03\x12\x03q\x14\x15\n\x0c\n\x04\x04\x0e\x03\x01\x12\x04s\x02u\x03\n\x0c\n\x05\x04\x0e\x03\x01\x01\x12\x03s\n\x10\n\r\n\x06\x04\x0e\x03\x01\x02\x00\x12\x03t\x04\x14\n\x0e\n\x07\x04\x0e\x03\x01\x02\x00\x06\x12\x03t\x04\t\n\x0e\n\x07\x04\x0e\x03\x01\x02\x00\x01\x12\x03t\n\x0f\n\x0e\n\x07\x04\x0e\x03\x01\x02\x00\x03\x12\x03t\x12\x13\n\x0c\n\x04\x04\x0e\x08\x00\x12\x04v\x02y\x03\n\x0c\n\x05\x04\x0e\x08\x00\x01\x12\x03v\x08\x12\n\x0b\n\x04\x04\x0e\x02\x00\x12\x03w\x04\x18\n\x0c\n\x05\x04\x0e\x02\x00\x06\x12\x03w\x04\x0b\n\x0c\n\x05\x04\x0e\x02\x00\x01\x12\x03w\x0c\x13\n\x0c\n\x05\x04\x0e\x02\x00\x03\x12\x03w\x16\x17\n\x0b\n\x04\x04\x0e\x02\x01\x12\x03x\x04\x16\n\x0c\n\x05\x04\x0e\x02\x01\x06\x12\x03x\x04\n\n\x0c\n\x05\x04\x0e\x02\x01\x01\x12\x03x\x0b\x11\n\x0c\n\x05\x04\x0e\x02\x01\x03\x12\x03x\x14\x15\n\x0b\n\x02\x04\x0f\x12\x05|\x00\x89\x01\x01\n\n\n\x03\x04\x0f\x01\x12\x03|\x08\x11\n3\n\x04\x04\x0f\x02\x00\x12\x03~\x02\x10\x1a& The plaintext note we plan to spend.\n\n\x0c\n\x05\x04\x0f\x02\x00\x06\x12\x03~\x02\x06\n\x0c\n\x05\x04\x0f\x02\x00\x01\x12\x03~\x07\x0b\n\x0c\n\x05\x04\x0f\x02\x00\x03\x12\x03~\x0e\x0f\n:\n\x04\x04\x0f\x02\x01\x12\x04\x80\x01\x02\x16\x1a, The position of the note we plan to spend.\n\n\r\n\x05\x04\x0f\x02\x01\x05\x12\x04\x80\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\x80\x01\t\x11\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\x80\x01\x14\x15\n4\n\x04\x04\x0f\x02\x02\x12\x04\x82\x01\x02\x17\x1a& The randomizer to use for the spend.\n\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\x82\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\x82\x01\x08\x12\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\x82\x01\x15\x16\nD\n\x04\x04\x0f\x02\x03\x12\x04\x84\x01\x02\x1b\x1a6 The blinding factor to use for the value commitment.\n\n\r\n\x05\x04\x0f\x02\x03\x05\x12\x04\x84\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\x84\x01\x08\x16\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\x84\x01\x19\x1a\nH\n\x04\x04\x0f\x02\x04\x12\x04\x86\x01\x02\x1d\x1a: The first blinding factor to use for the ZK spend proof.\n\n\r\n\x05\x04\x0f\x02\x04\x05\x12\x04\x86\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x04\x01\x12\x04\x86\x01\x08\x18\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\x86\x01\x1b\x1c\nI\n\x04\x04\x0f\x02\x05\x12\x04\x88\x01\x02\x1d\x1a; The second blinding factor to use for the ZK spend proof.\n\n\r\n\x05\x04\x0f\x02\x05\x05\x12\x04\x88\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x05\x01\x12\x04\x88\x01\x08\x18\n\r\n\x05\x04\x0f\x02\x05\x03\x12\x04\x88\x01\x1b\x1c\n,\n\x02\x04\x10\x12\x06\x8c\x01\x00\x91\x01\x01\x1a\x1e Creates a new shielded note.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\x8c\x01\x08\x0e\n2\n\x04\x04\x10\x02\x00\x12\x04\x8e\x01\x02\x16\x1a$ The effecting data for the output.\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\x8e\x01\x02\x0c\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\x8e\x01\r\x11\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\x8e\x01\x14\x15\n5\n\x04\x04\x10\x02\x01\x12\x04\x90\x01\x02\x1a\x1a\' The output proof is authorizing data.\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\x90\x01\x02\x0f\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\x90\x01\x10\x15\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\x90\x01\x18\x19\n\xc2\x01\n\x02\x04\x11\x12\x06\x96\x01\x00\xa0\x01\x01\x1a\xb3\x01 The body of an output description, containing only the effecting data\n describing changes to the ledger, and not the authorizing data that allows\n those changes to be performed.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\x96\x01\x08\x12\nR\n\x04\x04\x11\x02\x00\x12\x04\x98\x01\x02\x1f\x1aD The minimal data required to scan and process the new output note.\n\n\r\n\x05\x04\x11\x02\x00\x06\x12\x04\x98\x01\x02\r\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\x98\x01\x0e\x1a\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\x98\x01\x1d\x1e\nG\n\x04\x04\x11\x02\x01\x12\x04\x9a\x01\x024\x1a9 A commitment to the value of the output note. 32 bytes.\n\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\x9a\x01\x02\x1c\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\x9a\x01\x1d/\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\x9a\x0123\n9\n\x04\x04\x11\x02\x02\x12\x04\x9c\x01\x02\x1d\x1a+ An encrypted key for decrypting the memo.\n\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\x9c\x01\x02\x07\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\x9c\x01\x08\x18\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\x9c\x01\x1b\x1c\n\x81\x01\n\x04\x04\x11\x02\x03\x12\x04\x9f\x01\x02\x1c\x1as The key material used for note encryption, wrapped in encryption to the\n sender\'s outgoing viewing key. 48 bytes.\n\n\r\n\x05\x04\x11\x02\x03\x05\x12\x04\x9f\x01\x02\x07\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\x9f\x01\x08\x17\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\x9f\x01\x1a\x1b\n\x0c\n\x02\x04\x12\x12\x06\xa2\x01\x00\xb0\x01\x01\n\x0b\n\x03\x04\x12\x01\x12\x04\xa2\x01\x08\x12\n\x0e\n\x04\x04\x12\x03\x00\x12\x06\xa3\x01\x02\xa7\x01\x03\n\r\n\x05\x04\x12\x03\x00\x01\x12\x04\xa3\x01\n\x11\n\x0e\n\x06\x04\x12\x03\x00\x02\x00\x12\x04\xa4\x01\x04\x16\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x06\x12\x04\xa4\x01\x04\n\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x01\x12\x04\xa4\x01\x0b\x11\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x03\x12\x04\xa4\x01\x14\x15\n\x0e\n\x06\x04\x12\x03\x00\x02\x01\x12\x04\xa5\x01\x04\x16\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x06\x12\x04\xa5\x01\x04\x0c\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x01\x12\x04\xa5\x01\r\x11\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x03\x12\x04\xa5\x01\x14\x15\n\x0e\n\x06\x04\x12\x03\x00\x02\x02\x12\x04\xa6\x01\x04\'\n\x0f\n\x07\x04\x12\x03\x00\x02\x02\x06\x12\x04\xa6\x01\x04\x16\n\x0f\n\x07\x04\x12\x03\x00\x02\x02\x01\x12\x04\xa6\x01\x17\"\n\x0f\n\x07\x04\x12\x03\x00\x02\x02\x03\x12\x04\xa6\x01%&\n\x0e\n\x04\x04\x12\x03\x01\x12\x06\xa9\x01\x02\xab\x01\x03\n\r\n\x05\x04\x12\x03\x01\x01\x12\x04\xa9\x01\n\x10\n\x0e\n\x06\x04\x12\x03\x01\x02\x00\x12\x04\xaa\x01\x04\x16\n\x0f\n\x07\x04\x12\x03\x01\x02\x00\x06\x12\x04\xaa\x01\x04\n\n\x0f\n\x07\x04\x12\x03\x01\x02\x00\x01\x12\x04\xaa\x01\x0b\x11\n\x0f\n\x07\x04\x12\x03\x01\x02\x00\x03\x12\x04\xaa\x01\x14\x15\n\x0e\n\x04\x04\x12\x08\x00\x12\x06\xac\x01\x02\xaf\x01\x03\n\r\n\x05\x04\x12\x08\x00\x01\x12\x04\xac\x01\x08\x13\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xad\x01\x04\x18\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xad\x01\x04\x0b\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xad\x01\x0c\x13\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xad\x01\x16\x17\n\x0c\n\x04\x04\x12\x02\x01\x12\x04\xae\x01\x04\x16\n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xae\x01\x04\n\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xae\x01\x0b\x11\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xae\x01\x14\x15\n\x0c\n\x02\x04\x13\x12\x06\xb2\x01\x00\xbf\x01\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\xb2\x01\x08\x12\n1\n\x04\x04\x13\x02\x00\x12\x04\xb4\x01\x02\x1b\x1a# The value to send to this output.\n\n\r\n\x05\x04\x13\x02\x00\x06\x12\x04\xb4\x01\x02\x10\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xb4\x01\x11\x16\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xb4\x01\x19\x1a\n6\n\x04\x04\x13\x02\x01\x12\x04\xb6\x01\x02#\x1a( The destination address to send it to.\n\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\xb6\x01\x02\x11\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xb6\x01\x12\x1e\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xb6\x01!\"\n2\n\x04\x04\x13\x02\x02\x12\x04\xb8\x01\x02\x12\x1a$ The rseed to use for the new note.\n\n\r\n\x05\x04\x13\x02\x02\x05\x12\x04\xb8\x01\x02\x07\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xb8\x01\x08\r\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xb8\x01\x10\x11\nD\n\x04\x04\x13\x02\x03\x12\x04\xba\x01\x02\x1b\x1a6 The blinding factor to use for the value commitment.\n\n\r\n\x05\x04\x13\x02\x03\x05\x12\x04\xba\x01\x02\x07\n\r\n\x05\x04\x13\x02\x03\x01\x12\x04\xba\x01\x08\x16\n\r\n\x05\x04\x13\x02\x03\x03\x12\x04\xba\x01\x19\x1a\nI\n\x04\x04\x13\x02\x04\x12\x04\xbc\x01\x02\x1d\x1a; The first blinding factor to use for the ZK output proof.\n\n\r\n\x05\x04\x13\x02\x04\x05\x12\x04\xbc\x01\x02\x07\n\r\n\x05\x04\x13\x02\x04\x01\x12\x04\xbc\x01\x08\x18\n\r\n\x05\x04\x13\x02\x04\x03\x12\x04\xbc\x01\x1b\x1c\nJ\n\x04\x04\x13\x02\x05\x12\x04\xbe\x01\x02\x1d\x1a< The second blinding factor to use for the ZK output proof.\n\n\r\n\x05\x04\x13\x02\x05\x05\x12\x04\xbe\x01\x02\x07\n\r\n\x05\x04\x13\x02\x05\x01\x12\x04\xbe\x01\x08\x18\n\r\n\x05\x04\x13\x02\x05\x03\x12\x04\xbe\x01\x1b\x1c\nA\n\x02\x06\x00\x12\x06\xc2\x01\x00\xc4\x01\x01\x1a3 Query operations for the shielded pool component.\n\n\x0b\n\x03\x06\x00\x01\x12\x04\xc2\x01\x08\x14\n\x0c\n\x04\x06\x00\x02\x00\x12\x04\xc3\x01\x02V\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xc3\x01\x06\x17\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xc3\x01\x180\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xc3\x01;T\n<\n\x02\x04\x14\x12\x06\xc7\x01\x00\xca\x01\x01\x1a. Requests information on an asset by asset id\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xc7\x01\x08 \n7\n\x04\x04\x14\x02\x00\x12\x04\xc9\x01\x02%\x1a) The asset id to request information on.\n\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xc9\x01\x02\x17\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xc9\x01\x18 \n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xc9\x01#$\n\x0c\n\x02\x04\x15\x12\x06\xcc\x01\x00\xd1\x01\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xcc\x01\x08!\n\x85\x01\n\x04\x04\x15\x02\x00\x12\x04\xd0\x01\x02,\x1aw If present, information on the requested asset.\n\n If the requested asset was unknown, this field will not be present.\n\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\xd0\x01\x02\x18\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xd0\x01\x19\'\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xd0\x01*+b\x06proto3\n\xc4\x04\n$penumbra/core/txhash/v1/txhash.proto\x12\x17penumbra.core.txhash.v1\"\"\n\nEffectHash\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"%\n\rTransactionId\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05innerJ\xaf\x03\n\x06\x12\x04\x00\x00\x0e\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00 \n\x83\x01\n\x02\x04\x00\x12\x04\x05\x00\x07\x01\x1aw The hash of a Penumbra transaction\'s _effecting data_, describing the effects\n of the transaction on the chain state.\n\n\n\n\x03\x04\x00\x01\x12\x03\x05\x08\x12\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x06\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x06\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x06\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x06\x10\x11\n\x84\x01\n\x02\x04\x01\x12\x04\x0c\x00\x0e\x01\x1ax A transaction ID, the Sha256 hash of a transaction.\n\n This is the hash of the plain byte encoding, used by Tendermint.\n\n\n\n\x03\x04\x01\x01\x12\x03\x0c\x08\x15\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\r\x02\x12\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\r\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\r\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\r\x10\x11b\x06proto3\n\x99\xd6\x02\n(penumbra/core/component/dex/v1/dex.proto\x12\x1epenumbra.core.component.dex.v1\x1a\"penumbra/core/asset/v1/asset.proto\x1a(penumbra/core/component/fee/v1/fee.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a<penumbra/core/component/shielded_pool/v1/shielded_pool.proto\x1a penumbra/core/keys/v1/keys.proto\x1a\x1epenumbra/core/num/v1/num.proto\x1a$penumbra/core/txhash/v1/txhash.proto\x1a penumbra/crypto/tct/v1/tct.proto\"#\n\x0bZKSwapProof\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"(\n\x10ZKSwapClaimProof\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\x87\x01\n\x04Swap\x12A\n\x05proof\x18\x01 \x01(\x0b2+.penumbra.core.component.dex.v1.ZKSwapProofR\x05proof\x12<\n\x04body\x18\x04 \x01(\x0b2(.penumbra.core.component.dex.v1.SwapBodyR\x04body\"\xbd\x01\n\tSwapClaim\x12F\n\x05proof\x18\x01 \x01(\x0b20.penumbra.core.component.dex.v1.ZKSwapClaimProofR\x05proof\x12A\n\x04body\x18\x02 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapClaimBodyR\x04body\x12%\n\x0eepoch_duration\x18\x07 \x01(\x04R\repochDuration\"\x97\x03\n\rSwapClaimBody\x12G\n\tnullifier\x18\x01 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x125\n\x03fee\x18\x02 \x01(\x0b2#.penumbra.core.component.fee.v1.FeeR\x03fee\x12W\n\x13output_1_commitment\x18\x03 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x11output1Commitment\x12W\n\x13output_2_commitment\x18\x04 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x11output2Commitment\x12T\n\x0boutput_data\x18\x06 \x01(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\noutputData\"\xe7\x02\n\x08SwapBody\x12N\n\x0ctrading_pair\x18\x01 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x128\n\tdelta_1_i\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07delta1I\x128\n\tdelta_2_i\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07delta2I\x12P\n\x0efee_commitment\x18\x04 \x01(\x0b2).penumbra.core.asset.v1.BalanceCommitmentR\rfeeCommitment\x12E\n\x07payload\x18\x05 \x01(\x0b2+.penumbra.core.component.dex.v1.SwapPayloadR\x07payload\"}\n\x0bSwapPayload\x12G\n\ncommitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\ncommitment\x12%\n\x0eencrypted_swap\x18\x02 \x01(\x0cR\rencryptedSwap\"\xf0\x02\n\rSwapPlaintext\x12N\n\x0ctrading_pair\x18\x01 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x128\n\tdelta_1_i\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07delta1I\x128\n\tdelta_2_i\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07delta2I\x12@\n\tclaim_fee\x18\x04 \x01(\x0b2#.penumbra.core.component.fee.v1.FeeR\x08claimFee\x12C\n\rclaim_address\x18\x05 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x0cclaimAddress\x12\x14\n\x05rseed\x18\x06 \x01(\x0cR\x05rseed\"\xd7\x01\n\x08SwapPlan\x12T\n\x0eswap_plaintext\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapPlaintextR\rswapPlaintext\x12!\n\x0cfee_blinding\x18\x02 \x01(\x0cR\x0bfeeBlinding\x12(\n\x10proof_blinding_r\x18\x03 \x01(\x0cR\x0eproofBlindingR\x12(\n\x10proof_blinding_s\x18\x04 \x01(\x0cR\x0eproofBlindingS\"\xd2\x02\n\rSwapClaimPlan\x12T\n\x0eswap_plaintext\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapPlaintextR\rswapPlaintext\x12\x1a\n\x08position\x18\x02 \x01(\x04R\x08position\x12T\n\x0boutput_data\x18\x03 \x01(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\noutputData\x12%\n\x0eepoch_duration\x18\x04 \x01(\x04R\repochDuration\x12(\n\x10proof_blinding_r\x18\x05 \x01(\x0cR\x0eproofBlindingR\x12(\n\x10proof_blinding_s\x18\x06 \x01(\x0cR\x0eproofBlindingS\"\xf3\x06\n\x08SwapView\x12L\n\x07visible\x18\x01 \x01(\x0b20.penumbra.core.component.dex.v1.SwapView.VisibleH\x00R\x07visible\x12I\n\x06opaque\x18\x02 \x01(\x0b2/.penumbra.core.component.dex.v1.SwapView.OpaqueH\x00R\x06opaque\x1a\xfc\x04\n\x07Visible\x128\n\x04swap\x18\x01 \x01(\x0b2$.penumbra.core.component.dex.v1.SwapR\x04swap\x12T\n\x0eswap_plaintext\x18\x03 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapPlaintextR\rswapPlaintext\x12A\n\x08claim_tx\x18\x04 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\x07claimTx\x12h\n\x16batch_swap_output_data\x18\x14 \x01(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\x13batchSwapOutputData\x12M\n\x08output_1\x18\x1e \x01(\x0b22.penumbra.core.component.shielded_pool.v1.NoteViewR\x07output1\x12M\n\x08output_2\x18\x1f \x01(\x0b22.penumbra.core.component.shielded_pool.v1.NoteViewR\x07output2\x12J\n\x10asset_1_metadata\x18( \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\x0easset1Metadata\x12J\n\x10asset_2_metadata\x18) \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\x0easset2Metadata\x1aB\n\x06Opaque\x128\n\x04swap\x18\x01 \x01(\x0b2$.penumbra.core.component.dex.v1.SwapR\x04swapB\x0b\n\tswap_view\"\xce\x04\n\rSwapClaimView\x12Q\n\x07visible\x18\x01 \x01(\x0b25.penumbra.core.component.dex.v1.SwapClaimView.VisibleH\x00R\x07visible\x12N\n\x06opaque\x18\x02 \x01(\x0b24.penumbra.core.component.dex.v1.SwapClaimView.OpaqueH\x00R\x06opaque\x1a\xb2\x02\n\x07Visible\x12H\n\nswap_claim\x18\x01 \x01(\x0b2).penumbra.core.component.dex.v1.SwapClaimR\tswapClaim\x12M\n\x08output_1\x18\x02 \x01(\x0b22.penumbra.core.component.shielded_pool.v1.NoteViewR\x07output1\x12M\n\x08output_2\x18\x03 \x01(\x0b22.penumbra.core.component.shielded_pool.v1.NoteViewR\x07output2\x12?\n\x07swap_tx\x18\x04 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\x06swapTx\x1aR\n\x06Opaque\x12H\n\nswap_claim\x18\x01 \x01(\x0b2).penumbra.core.component.dex.v1.SwapClaimR\tswapClaimB\x11\n\x0fswap_claim_view\"\x81\x01\n\x0bTradingPair\x128\n\x07asset_1\x18\x01 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x06asset1\x128\n\x07asset_2\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x06asset2\"\x7f\n\x13DirectedTradingPair\x125\n\x05start\x18\x01 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x05start\x121\n\x03end\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x03end\"\x8b\x04\n\x13BatchSwapOutputData\x125\n\x07delta_1\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06delta1\x125\n\x07delta_2\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06delta2\x127\n\x08lambda_1\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07lambda1\x127\n\x08lambda_2\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07lambda2\x12;\n\nunfilled_1\x18\x05 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\tunfilled1\x12;\n\nunfilled_2\x18\x06 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\tunfilled2\x12\x16\n\x06height\x18\x07 \x01(\x04R\x06height\x12N\n\x0ctrading_pair\x18\x08 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x122\n\x15epoch_starting_height\x18\t \x01(\x04R\x13epochStartingHeight\"\xa5\x01\n\x0fTradingFunction\x12Q\n\tcomponent\x18\x01 \x01(\x0b23.penumbra.core.component.dex.v1.BareTradingFunctionR\tcomponent\x12?\n\x04pair\x18\x02 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x04pair\"\x7f\n\x13BareTradingFunction\x12\x10\n\x03fee\x18\x01 \x01(\rR\x03fee\x12*\n\x01p\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x01p\x12*\n\x01q\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x01q\"f\n\x08Reserves\x12,\n\x02r1\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x02r1\x12,\n\x02r2\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x02r2\"\x92\x02\n\x08Position\x12A\n\x03phi\x18\x01 \x01(\x0b2/.penumbra.core.component.dex.v1.TradingFunctionR\x03phi\x12\x14\n\x05nonce\x18\x02 \x01(\x0cR\x05nonce\x12C\n\x05state\x18\x03 \x01(\x0b2-.penumbra.core.component.dex.v1.PositionStateR\x05state\x12D\n\x08reserves\x18\x04 \x01(\x0b2(.penumbra.core.component.dex.v1.ReservesR\x08reserves\x12\"\n\rclose_on_fill\x18\x05 \x01(\x08R\x0bcloseOnFill\"C\n\nPositionId\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\x12\x1f\n\x0balt_bech32m\x18\x02 \x01(\tR\naltBech32m\"\xc5\x02\n\rPositionState\x12U\n\x05state\x18\x01 \x01(\x0e2?.penumbra.core.component.dex.v1.PositionState.PositionStateEnumR\x05state\x12\x1a\n\x08sequence\x18\x02 \x01(\x04R\x08sequence\"\xc0\x01\n\x11PositionStateEnum\x12#\n\x1fPOSITION_STATE_ENUM_UNSPECIFIED\x10\x00\x12\x1e\n\x1aPOSITION_STATE_ENUM_OPENED\x10\x01\x12\x1e\n\x1aPOSITION_STATE_ENUM_CLOSED\x10\x02\x12!\n\x1dPOSITION_STATE_ENUM_WITHDRAWN\x10\x03\x12#\n\x1bPOSITION_STATE_ENUM_CLAIMED\x10\x04\x1a\x02\x08\x01\"\x99\x01\n\x05LpNft\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12C\n\x05state\x18\x02 \x01(\x0b2-.penumbra.core.component.dex.v1.PositionStateR\x05state\"T\n\x0cPositionOpen\x12D\n\x08position\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x08position\"\\\n\rPositionClose\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\"\xd7\x01\n\x10PositionWithdraw\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12Z\n\x13reserves_commitment\x18\x02 \x01(\x0b2).penumbra.core.asset.v1.BalanceCommitmentR\x12reservesCommitment\x12\x1a\n\x08sequence\x18\x03 \x01(\x04R\x08sequence\"\xbc\x01\n\x13PositionRewardClaim\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12X\n\x12rewards_commitment\x18\x02 \x01(\x0b2).penumbra.core.asset.v1.BalanceCommitmentR\x11rewardsCommitment\"\x86\x02\n\rSwapExecution\x12K\n\x06traces\x18\x01 \x03(\x0b23.penumbra.core.component.dex.v1.SwapExecution.TraceR\x06traces\x123\n\x05input\x18\x02 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05input\x125\n\x06output\x18\x03 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x06output\x1a<\n\x05Trace\x123\n\x05value\x18\x01 \x03(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\"\xbf\x02\n\x14PositionWithdrawPlan\x12D\n\x08reserves\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.ReservesR\x08reserves\x12K\n\x0bposition_id\x18\x02 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12?\n\x04pair\x18\x03 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x04pair\x12\x1a\n\x08sequence\x18\x04 \x01(\x04R\x08sequence\x127\n\x07rewards\x18\x05 \x03(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x07rewards\"_\n\x17PositionRewardClaimPlan\x12D\n\x08reserves\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.ReservesR\x08reserves\"\x84\x01\n\x1aBatchSwapOutputDataRequest\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12N\n\x0ctrading_pair\x18\x03 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\"f\n\x1bBatchSwapOutputDataResponse\x12G\n\x04data\x18\x01 \x01(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\x04data\"\x86\x01\n\x14SwapExecutionRequest\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12V\n\x0ctrading_pair\x18\x03 \x01(\x0b23.penumbra.core.component.dex.v1.DirectedTradingPairR\x0btradingPair\"m\n\x15SwapExecutionResponse\x12T\n\x0eswap_execution\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\rswapExecution\"-\n\x13ArbExecutionRequest\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\"\x84\x01\n\x14ArbExecutionResponse\x12T\n\x0eswap_execution\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\rswapExecution\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\"\xb1\x01\n\x15SwapExecutionsRequest\x12!\n\x0cstart_height\x18\x02 \x01(\x04R\x0bstartHeight\x12\x1d\n\nend_height\x18\x03 \x01(\x04R\tendHeight\x12V\n\x0ctrading_pair\x18\x04 \x01(\x0b23.penumbra.core.component.dex.v1.DirectedTradingPairR\x0btradingPair\"\xde\x01\n\x16SwapExecutionsResponse\x12T\n\x0eswap_execution\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\rswapExecution\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12V\n\x0ctrading_pair\x18\x03 \x01(\x0b23.penumbra.core.component.dex.v1.DirectedTradingPairR\x0btradingPair\"X\n\x14ArbExecutionsRequest\x12!\n\x0cstart_height\x18\x02 \x01(\x04R\x0bstartHeight\x12\x1d\n\nend_height\x18\x03 \x01(\x04R\tendHeight\"\x85\x01\n\x15ArbExecutionsResponse\x12T\n\x0eswap_execution\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\rswapExecution\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\"B\n\x19LiquidityPositionsRequest\x12%\n\x0einclude_closed\x18\x04 \x01(\x08R\rincludeClosed\"Z\n\x1aLiquidityPositionsResponse\x12<\n\x04data\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x04data\"k\n\x1cLiquidityPositionByIdRequest\x12K\n\x0bposition_id\x18\x02 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\"]\n\x1dLiquidityPositionByIdResponse\x12<\n\x04data\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x04data\"l\n\x1dLiquidityPositionsByIdRequest\x12K\n\x0bposition_id\x18\x02 \x03(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\"^\n\x1eLiquidityPositionsByIdResponse\x12<\n\x04data\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x04data\"\x90\x01\n LiquidityPositionsByPriceRequest\x12V\n\x0ctrading_pair\x18\x02 \x01(\x0b23.penumbra.core.component.dex.v1.DirectedTradingPairR\x0btradingPair\x12\x14\n\x05limit\x18\x05 \x01(\x04R\x05limit\"a\n!LiquidityPositionsByPriceResponse\x12<\n\x04data\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x04data\"_\n\rSpreadRequest\x12N\n\x0ctrading_pair\x18\x02 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\"\xc6\x02\n\x0eSpreadResponse\x12X\n\x14best_1_to_2_position\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x10best1To2Position\x12X\n\x14best_2_to_1_position\x18\x02 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x10best2To1Position\x12?\n\x1dapprox_effective_price_1_to_2\x18\x03 \x01(\x01R\x18approxEffectivePrice1To2\x12?\n\x1dapprox_effective_price_2_to_1\x18\x04 \x01(\x01R\x18approxEffectivePrice2To1\"\xd6\x03\n\x14SimulateTradeRequest\x123\n\x05input\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05input\x127\n\x06output\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x06output\x12V\n\x07routing\x18\x03 \x01(\x0b2<.penumbra.core.component.dex.v1.SimulateTradeRequest.RoutingR\x07routing\x1a\xf7\x01\n\x07Routing\x12`\n\x07default\x18\x01 \x01(\x0b2D.penumbra.core.component.dex.v1.SimulateTradeRequest.Routing.DefaultH\x00R\x07default\x12g\n\nsingle_hop\x18\x02 \x01(\x0b2F.penumbra.core.component.dex.v1.SimulateTradeRequest.Routing.SingleHopH\x00R\tsingleHop\x1a\x0b\n\tSingleHop\x1a\t\n\x07DefaultB\t\n\x07setting\"\x99\x01\n\x15SimulateTradeResponse\x12E\n\x06output\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\x06output\x129\n\x08unfilled\x18\x02 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x08unfilled\"\xa1\x02\n\tEventSwap\x12N\n\x0ctrading_pair\x18\x01 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x128\n\tdelta_1_i\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07delta1I\x128\n\tdelta_2_i\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07delta2I\x12P\n\x0fswap_commitment\x18\x04 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0eswapCommitment\"\xdb\x02\n\x0eEventSwapClaim\x12N\n\x0ctrading_pair\x18\x01 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x12W\n\x13output_1_commitment\x18\x02 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x11output1Commitment\x12W\n\x13output_2_commitment\x18\x03 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x11output2Commitment\x12G\n\tnullifier\x18\x04 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\"\xcb\x02\n\x11EventPositionOpen\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12N\n\x0ctrading_pair\x18\x02 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x12;\n\nreserves_1\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\treserves1\x12;\n\nreserves_2\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\treserves2\x12\x1f\n\x0btrading_fee\x18\x05 \x01(\rR\ntradingFee\"a\n\x12EventPositionClose\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\"\xca\x02\n\x15EventPositionWithdraw\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12N\n\x0ctrading_pair\x18\x02 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x12;\n\nreserves_1\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\treserves1\x12;\n\nreserves_2\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\treserves2\x12\x1a\n\x08sequence\x18\x05 \x01(\x04R\x08sequence\"\x8a\x04\n\x16EventPositionExecution\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12N\n\x0ctrading_pair\x18\x02 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\x12;\n\nreserves_1\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\treserves1\x12;\n\nreserves_2\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\treserves2\x12D\n\x0fprev_reserves_1\x18\x05 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\rprevReserves1\x12D\n\x0fprev_reserves_2\x18\x06 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\rprevReserves2\x12M\n\x07context\x18\x07 \x01(\x0b23.penumbra.core.component.dex.v1.DirectedTradingPairR\x07context\"\xc0\x02\n\x0eEventBatchSwap\x12h\n\x16batch_swap_output_data\x18\x01 \x01(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\x13batchSwapOutputData\x12a\n\x16swap_execution_1_for_2\x18\x02 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\x12swapExecution1For2\x12a\n\x16swap_execution_2_for_1\x18\x03 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\x12swapExecution2For1\"\x81\x01\n\x11EventArbExecution\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12T\n\x0eswap_execution\x18\x02 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapExecutionR\rswapExecution\"\xe4\x01\n\x1eEventValueCircuitBreakerCredit\x12:\n\x08asset_id\x18\x01 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\x12G\n\x10previous_balance\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0fpreviousBalance\x12=\n\x0bnew_balance\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\nnewBalance\"\xe3\x01\n\x1dEventValueCircuitBreakerDebit\x12:\n\x08asset_id\x18\x01 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\x12G\n\x10previous_balance\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0fpreviousBalance\x12=\n\x0bnew_balance\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\nnewBalance\"\xca\x01\n\rDexParameters\x12\x1d\n\nis_enabled\x18\x01 \x01(\x08R\tisEnabled\x12J\n\x10fixed_candidates\x18\x02 \x03(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x0ffixedCandidates\x12\x19\n\x08max_hops\x18\x03 \x01(\rR\x07maxHops\x123\n\x16max_positions_per_pair\x18\x04 \x01(\rR\x13maxPositionsPerPair\"^\n\x0eGenesisContent\x12L\n\ndex_params\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.DexParametersR\tdexParams2\xed\n\n\x0cQueryService\x12\x8e\x01\n\x13BatchSwapOutputData\x12:.penumbra.core.component.dex.v1.BatchSwapOutputDataRequest\x1a;.penumbra.core.component.dex.v1.BatchSwapOutputDataResponse\x12|\n\rSwapExecution\x124.penumbra.core.component.dex.v1.SwapExecutionRequest\x1a5.penumbra.core.component.dex.v1.SwapExecutionResponse\x12y\n\x0cArbExecution\x123.penumbra.core.component.dex.v1.ArbExecutionRequest\x1a4.penumbra.core.component.dex.v1.ArbExecutionResponse\x12\x81\x01\n\x0eSwapExecutions\x125.penumbra.core.component.dex.v1.SwapExecutionsRequest\x1a6.penumbra.core.component.dex.v1.SwapExecutionsResponse0\x01\x12~\n\rArbExecutions\x124.penumbra.core.component.dex.v1.ArbExecutionsRequest\x1a5.penumbra.core.component.dex.v1.ArbExecutionsResponse0\x01\x12\x8d\x01\n\x12LiquidityPositions\x129.penumbra.core.component.dex.v1.LiquidityPositionsRequest\x1a:.penumbra.core.component.dex.v1.LiquidityPositionsResponse0\x01\x12\x94\x01\n\x15LiquidityPositionById\x12<.penumbra.core.component.dex.v1.LiquidityPositionByIdRequest\x1a=.penumbra.core.component.dex.v1.LiquidityPositionByIdResponse\x12\x99\x01\n\x16LiquidityPositionsById\x12=.penumbra.core.component.dex.v1.LiquidityPositionsByIdRequest\x1a>.penumbra.core.component.dex.v1.LiquidityPositionsByIdResponse0\x01\x12\xa2\x01\n\x19LiquidityPositionsByPrice\x12@.penumbra.core.component.dex.v1.LiquidityPositionsByPriceRequest\x1aA.penumbra.core.component.dex.v1.LiquidityPositionsByPriceResponse0\x01\x12g\n\x06Spread\x12-.penumbra.core.component.dex.v1.SpreadRequest\x1a..penumbra.core.component.dex.v1.SpreadResponse2\x91\x01\n\x11SimulationService\x12|\n\rSimulateTrade\x124.penumbra.core.component.dex.v1.SimulateTradeRequest\x1a5.penumbra.core.component.dex.v1.SimulateTradeResponseJ\xee\xde\x01\n\x07\x12\x05\x00\x00\xc9\x05\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\'\n\t\n\x02\x03\x00\x12\x03\x03\x00,\n\t\n\x02\x03\x01\x12\x03\x04\x002\n\t\n\x02\x03\x02\x12\x03\x05\x002\n\t\n\x02\x03\x03\x12\x03\x06\x00F\n\t\n\x02\x03\x04\x12\x03\x07\x00*\n\t\n\x02\x03\x05\x12\x03\x08\x00(\n\t\n\x02\x03\x06\x12\x03\t\x00.\n\t\n\x02\x03\x07\x12\x03\n\x00*\n\'\n\x02\x04\x00\x12\x04\r\x00\x0f\x01\x1a\x1b A Penumbra ZK swap proof.\n\n\n\n\x03\x04\x00\x01\x12\x03\r\x08\x13\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0e\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\x10\x11\n-\n\x02\x04\x01\x12\x04\x12\x00\x14\x01\x1a! A Penumbra ZK swap claim proof.\n\n\n\n\x03\x04\x01\x01\x12\x03\x12\x08\x18\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x13\x02\x12\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x13\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x13\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x13\x10\x11\nB\n\x02\x04\x02\x12\x04\x17\x00\x1c\x01\x1a6 A transaction action that submits a swap to the dex.\n\n\n\n\x03\x04\x02\x01\x12\x03\x17\x08\x0c\n\'\n\x04\x04\x02\x02\x00\x12\x03\x19\x02\x18\x1a\x1a Contains the Swap proof.\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x19\x02\r\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x19\x0e\x13\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x19\x16\x17\nV\n\x04\x04\x02\x02\x01\x12\x03\x1b\x02\x14\x1aI Encapsulates the authorized fields of the Swap action, used in signing.\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\x1b\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1b\x0b\x0f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1b\x12\x13\n\xdd\x01\n\x02\x04\x03\x12\x04\"\x00)\x01\x1a\xd0\x01 A transaction action that obtains assets previously confirmed\n via a Swap transaction. Does not include a spend authorization\n signature, as it is only capable of consuming the NFT from a\n Swap transaction.\n\n\n\n\x03\x04\x03\x01\x12\x03\"\x08\x11\n,\n\x04\x04\x03\x02\x00\x12\x03$\x02\x1d\x1a\x1f Contains the SwapClaim proof.\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03$\x02\x12\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03$\x13\x18\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03$\x1b\x1c\n[\n\x04\x04\x03\x02\x01\x12\x03&\x02\x19\x1aN Encapsulates the authorized fields of the SwapClaim action, used in signing.\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03&\x02\x0f\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03&\x10\x14\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03&\x17\x18\nN\n\x04\x04\x03\x02\x02\x12\x03(\x02\x1c\x1aA The epoch duration of the chain when the swap claim took place.\n\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03(\x02\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03(\t\x17\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03(\x1a\x1b\nZ\n\x02\x04\x04\x12\x04,\x007\x01\x1aN Encapsulates the authorized fields of the SwapClaim action, used in signing.\n\n\n\n\x03\x04\x04\x01\x12\x03,\x08\x15\nD\n\x04\x04\x04\x02\x00\x12\x03.\x02+\x1a7 The nullifier for the Swap commitment to be consumed.\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03.\x02\x1c\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03.\x1d&\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03.)*\nH\n\x04\x04\x04\x02\x01\x12\x030\x02\x1f\x1a; The fee allows `SwapClaim` without an additional `Spend`.\n\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x030\x02\x16\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x030\x17\x1a\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x030\x1d\x1e\n\'\n\x04\x04\x04\x02\x02\x12\x032\x028\x1a\x1a Note output for asset 1.\n\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x032\x02\x1f\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x032 3\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03267\n\'\n\x04\x04\x04\x02\x03\x12\x034\x028\x1a\x1a Note output for asset 2.\n\n\x0c\n\x05\x04\x04\x02\x03\x06\x12\x034\x02\x1f\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x034 3\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03467\nR\n\x04\x04\x04\x02\x04\x12\x036\x02&\x1aE Input and output amounts, and asset IDs for the assets in the swap.\n\n\x0c\n\x05\x04\x04\x02\x04\x06\x12\x036\x02\x15\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x036\x16!\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x036$%\n8\n\x02\x04\x05\x12\x04:\x00H\x01\x1a, The authorized data of a Swap transaction.\n\n\n\n\x03\x04\x05\x01\x12\x03:\x08\x10\n(\n\x04\x04\x05\x02\x00\x12\x03<\x02\x1f\x1a\x1b The trading pair to swap.\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03<\x02\r\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03<\x0e\x1a\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03<\x1d\x1e\n&\n\x04\x04\x05\x02\x01\x12\x03>\x02\x1e\x1a\x19 The amount for asset 1.\n\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03>\x02\x0f\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03>\x10\x19\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03>\x1c\x1d\n&\n\x04\x04\x05\x02\x02\x12\x03@\x02\x1e\x1a\x19 The amount for asset 2.\n\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03@\x02\x0f\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03@\x10\x19\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03@\x1c\x1d\n\x88\x02\n\x04\x04\x05\x02\x03\x12\x03E\x020\x1a\xfa\x01 A commitment to a prepaid fee for the future SwapClaim.\n This is recorded separately from delta_j_i because it\'s shielded;\n in the future we\'ll want separate commitments to each delta_j_i\n anyways in order to prove consistency with flow encryption.\n\n\x0c\n\x05\x04\x05\x02\x03\x06\x12\x03E\x02\x1c\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03E\x1d+\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03E./\nC\n\x04\x04\x05\x02\x04\x12\x03G\x02\x1a\x1a6 The swap commitment and encryption of the swap data.\n\n\x0c\n\x05\x04\x05\x02\x04\x06\x12\x03G\x02\r\n\x0c\n\x05\x04\x05\x02\x04\x01\x12\x03G\x0e\x15\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x03G\x18\x19\n\n\n\x02\x04\x06\x12\x04J\x00M\x01\n\n\n\x03\x04\x06\x01\x12\x03J\x08\x13\n\x0b\n\x04\x04\x06\x02\x00\x12\x03K\x02/\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03K\x02\x1f\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03K *\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03K-.\n\x0b\n\x04\x04\x06\x02\x01\x12\x03L\x02\x1b\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03L\x02\x07\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03L\x08\x16\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03L\x19\x1a\n\n\n\x02\x04\x07\x12\x04O\x00\\\x01\n\n\n\x03\x04\x07\x01\x12\x03O\x08\x15\n(\n\x04\x04\x07\x02\x00\x12\x03Q\x02\x1f\x1a\x1b The trading pair to swap.\n\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03Q\x02\r\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03Q\x0e\x1a\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03Q\x1d\x1e\n&\n\x04\x04\x07\x02\x01\x12\x03S\x02\x1e\x1a\x19 Input amount of asset 1\n\n\x0c\n\x05\x04\x07\x02\x01\x06\x12\x03S\x02\x0f\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03S\x10\x19\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03S\x1c\x1d\n&\n\x04\x04\x07\x02\x02\x12\x03U\x02\x1e\x1a\x19 Input amount of asset 2\n\n\x0c\n\x05\x04\x07\x02\x02\x06\x12\x03U\x02\x0f\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03U\x10\x19\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03U\x1c\x1d\n-\n\x04\x04\x07\x02\x03\x12\x03W\x02\x1b\x1a  Pre-paid fee to claim the swap\n\n\x0c\n\x05\x04\x07\x02\x03\x06\x12\x03W\x02\x0c\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03W\r\x16\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03W\x19\x1a\nF\n\x04\x04\x07\x02\x04\x12\x03Y\x02$\x1a9 Address that will claim the swap outputs via SwapClaim.\n\n\x0c\n\x05\x04\x07\x02\x04\x06\x12\x03Y\x02\x11\n\x0c\n\x05\x04\x07\x02\x04\x01\x12\x03Y\x12\x1f\n\x0c\n\x05\x04\x07\x02\x04\x03\x12\x03Y\"#\nB\n\x04\x04\x07\x02\x05\x12\x03[\x02\x12\x1a5 Swap rseed (blinding factors are derived from this)\n\n\x0c\n\x05\x04\x07\x02\x05\x05\x12\x03[\x02\x07\n\x0c\n\x05\x04\x07\x02\x05\x01\x12\x03[\x08\r\n\x0c\n\x05\x04\x07\x02\x05\x03\x12\x03[\x10\x11\n\n\n\x02\x04\x08\x12\x04^\x00g\x01\n\n\n\x03\x04\x08\x01\x12\x03^\x08\x10\nA\n\x04\x04\x08\x02\x00\x12\x03`\x02*\x1a4 The plaintext version of the swap to be performed.\n\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03`\x02\x16\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03`\x17%\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03`()\n\x88\x01\n\x04\x04\x08\x02\x01\x12\x03b\x02\x19\x1a{ The blinding factor for the fee commitment. The fee in the SwapPlan is private to prevent linkability with the SwapClaim.\n\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03b\x02\x07\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03b\x08\x14\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03b\x17\x18\nF\n\x04\x04\x08\x02\x02\x12\x03d\x02\x1d\x1a9 The first blinding factor to use for the ZK swap proof.\n\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03d\x02\x07\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03d\x08\x18\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03d\x1b\x1c\nG\n\x04\x04\x08\x02\x03\x12\x03f\x02\x1d\x1a: The second blinding factor to use for the ZK swap proof.\n\n\x0c\n\x05\x04\x08\x02\x03\x05\x12\x03f\x02\x07\n\x0c\n\x05\x04\x08\x02\x03\x01\x12\x03f\x08\x18\n\x0c\n\x05\x04\x08\x02\x03\x03\x12\x03f\x1b\x1c\n\n\n\x02\x04\t\x12\x04i\x00v\x01\n\n\n\x03\x04\t\x01\x12\x03i\x08\x15\nA\n\x04\x04\t\x02\x00\x12\x03k\x02*\x1a4 The plaintext version of the swap to be performed.\n\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03k\x02\x16\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03k\x17%\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03k()\n3\n\x04\x04\t\x02\x01\x12\x03m\x02\x16\x1a& The position of the swap commitment.\n\n\x0c\n\x05\x04\t\x02\x01\x05\x12\x03m\x02\x08\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03m\t\x11\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03m\x14\x15\n5\n\x04\x04\t\x02\x02\x12\x03o\x02-\x1a( Input and output amounts for the Swap.\n\n\x0c\n\x05\x04\t\x02\x02\x06\x12\x03o\x02\x1c\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03o\x1d(\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03o+,\n3\n\x04\x04\t\x02\x03\x12\x03q\x02\x1c\x1a& The epoch duration, used in proving.\n\n\x0c\n\x05\x04\t\x02\x03\x05\x12\x03q\x02\x08\n\x0c\n\x05\x04\t\x02\x03\x01\x12\x03q\t\x17\n\x0c\n\x05\x04\t\x02\x03\x03\x12\x03q\x1a\x1b\nL\n\x04\x04\t\x02\x04\x12\x03s\x02\x1d\x1a? The first blinding factor to use for the ZK swap claim proof.\n\n\x0c\n\x05\x04\t\x02\x04\x05\x12\x03s\x02\x07\n\x0c\n\x05\x04\t\x02\x04\x01\x12\x03s\x08\x18\n\x0c\n\x05\x04\t\x02\x04\x03\x12\x03s\x1b\x1c\nM\n\x04\x04\t\x02\x05\x12\x03u\x02\x1d\x1a@ The second blinding factor to use for the ZK swap claim proof.\n\n\x0c\n\x05\x04\t\x02\x05\x05\x12\x03u\x02\x07\n\x0c\n\x05\x04\t\x02\x05\x01\x12\x03u\x08\x18\n\x0c\n\x05\x04\t\x02\x05\x03\x12\x03u\x1b\x1c\n\x0b\n\x02\x04\n\x12\x05x\x00\xa4\x01\x01\n\n\n\x03\x04\n\x01\x12\x03x\x08\x10\n\r\n\x04\x04\n\x03\x00\x12\x05y\x02\x9a\x01\x03\n\x0c\n\x05\x04\n\x03\x00\x01\x12\x03y\n\x11\n9\n\x06\x04\n\x03\x00\x02\x00\x12\x03{\x04\x19\x1a* The underlying Swap action being viewed.\n\n\x0e\n\x07\x04\n\x03\x00\x02\x00\x06\x12\x03{\x04\x0f\n\x0e\n\x07\x04\n\x03\x00\x02\x00\x01\x12\x03{\x10\x14\n\x0e\n\x07\x04\n\x03\x00\x02\x00\x03\x12\x03{\x17\x18\n5\n\x06\x04\n\x03\x00\x02\x01\x12\x03}\x04,\x1a& The plaintext of the encrypted swap.\n\n\x0e\n\x07\x04\n\x03\x00\x02\x01\x06\x12\x03}\x04\x18\n\x0e\n\x07\x04\n\x03\x00\x02\x01\x01\x12\x03}\x19\'\n\x0e\n\x07\x04\n\x03\x00\x02\x01\x03\x12\x03}*+\n\x99\x03\n\x06\x04\n\x03\x00\x02\x02\x12\x04\x87\x01\x04)\x1a\x88\x03 Optionally, a transaction hash for the transaction that claimed this\n swap.\n\n Presence of this field signals that the swap outputs have been claimed\n and that the claim transaction is known to the view server.  Absence of\n this field does not indicate anything about the state of the swap.\n\n This field allows frontends to more easily crossreference the sequence of\n Swap/SwapClaim actions.\n\n\x0f\n\x07\x04\n\x03\x00\x02\x02\x06\x12\x04\x87\x01\x04\x1b\n\x0f\n\x07\x04\n\x03\x00\x02\x02\x01\x12\x04\x87\x01\x1c$\n\x0f\n\x07\x04\n\x03\x00\x02\x02\x03\x12\x04\x87\x01\'(\n\x9b\x02\n\x06\x04\n\x03\x00\x02\x03\x12\x04\x8d\x01\x044\x1a\x8a\x02 Optionally, if the swap has been confirmed, the batch price it received.\n\n As soon as the swap is detected, the view server can in principle record\n the relevant BSOD and provide it as part of the view.  This allows providing\n info about the execution of the swap.\n\n\x0f\n\x07\x04\n\x03\x00\x02\x03\x06\x12\x04\x8d\x01\x04\x17\n\x0f\n\x07\x04\n\x03\x00\x02\x03\x01\x12\x04\x8d\x01\x18.\n\x0f\n\x07\x04\n\x03\x00\x02\x03\x03\x12\x04\x8d\x0113\n\x9a\x01\n\x06\x04\n\x03\x00\x02\x04\x12\x04\x91\x01\x04,\x1a\x89\x01 Optionally, if the swap has been confirmed, the output note of asset 1.\n\n This is the note that will be minted by the SwapClaim action.\n\n\x0f\n\x07\x04\n\x03\x00\x02\x04\x06\x12\x04\x91\x01\x04\x1d\n\x0f\n\x07\x04\n\x03\x00\x02\x04\x01\x12\x04\x91\x01\x1e&\n\x0f\n\x07\x04\n\x03\x00\x02\x04\x03\x12\x04\x91\x01)+\n\x9a\x01\n\x06\x04\n\x03\x00\x02\x05\x12\x04\x95\x01\x04,\x1a\x89\x01 Optionally, if the swap has been confirmed, the output note of asset 2.\n\n This is the note that will be minted by the SwapClaim action.\n\n\x0f\n\x07\x04\n\x03\x00\x02\x05\x06\x12\x04\x95\x01\x04\x1d\n\x0f\n\x07\x04\n\x03\x00\x02\x05\x01\x12\x04\x95\x01\x1e&\n\x0f\n\x07\x04\n\x03\x00\x02\x05\x03\x12\x04\x95\x01)+\nR\n\x06\x04\n\x03\x00\x02\x06\x12\x04\x97\x01\x04,\x1aB Optionally, metadata about asset 1 in the `swap`\'s trading pair.\n\n\x0f\n\x07\x04\n\x03\x00\x02\x06\x06\x12\x04\x97\x01\x04\x15\n\x0f\n\x07\x04\n\x03\x00\x02\x06\x01\x12\x04\x97\x01\x16&\n\x0f\n\x07\x04\n\x03\x00\x02\x06\x03\x12\x04\x97\x01)+\nR\n\x06\x04\n\x03\x00\x02\x07\x12\x04\x99\x01\x04,\x1aB Optionally, metadata about asset 2 in the `swap`\'s trading pair.\n\n\x0f\n\x07\x04\n\x03\x00\x02\x07\x06\x12\x04\x99\x01\x04\x15\n\x0f\n\x07\x04\n\x03\x00\x02\x07\x01\x12\x04\x99\x01\x16&\n\x0f\n\x07\x04\n\x03\x00\x02\x07\x03\x12\x04\x99\x01)+\n\x0e\n\x04\x04\n\x03\x01\x12\x06\x9c\x01\x02\x9e\x01\x03\n\r\n\x05\x04\n\x03\x01\x01\x12\x04\x9c\x01\n\x10\n\x0e\n\x06\x04\n\x03\x01\x02\x00\x12\x04\x9d\x01\x04\x19\n\x0f\n\x07\x04\n\x03\x01\x02\x00\x06\x12\x04\x9d\x01\x04\x0f\n\x0f\n\x07\x04\n\x03\x01\x02\x00\x01\x12\x04\x9d\x01\x10\x14\n\x0f\n\x07\x04\n\x03\x01\x02\x00\x03\x12\x04\x9d\x01\x17\x18\n\x0e\n\x04\x04\n\x08\x00\x12\x06\xa0\x01\x02\xa3\x01\x03\n\r\n\x05\x04\n\x08\x00\x01\x12\x04\xa0\x01\x08\x11\n\x0c\n\x04\x04\n\x02\x00\x12\x04\xa1\x01\x04\x18\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\xa1\x01\x04\x0b\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xa1\x01\x0c\x13\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xa1\x01\x16\x17\n\x0c\n\x04\x04\n\x02\x01\x12\x04\xa2\x01\x04\x16\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\xa2\x01\x04\n\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xa2\x01\x0b\x11\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xa2\x01\x14\x15\n\x0c\n\x02\x04\x0b\x12\x06\xa6\x01\x00\xb9\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xa6\x01\x08\x15\n\x0e\n\x04\x04\x0b\x03\x00\x12\x06\xa7\x01\x02\xb1\x01\x03\n\r\n\x05\x04\x0b\x03\x00\x01\x12\x04\xa7\x01\n\x11\n\x0e\n\x06\x04\x0b\x03\x00\x02\x00\x12\x04\xa8\x01\x04$\n\x0f\n\x07\x04\x0b\x03\x00\x02\x00\x06\x12\x04\xa8\x01\x04\x14\n\x0f\n\x07\x04\x0b\x03\x00\x02\x00\x01\x12\x04\xa8\x01\x15\x1f\n\x0f\n\x07\x04\x0b\x03\x00\x02\x00\x03\x12\x04\xa8\x01\"#\n\x0e\n\x06\x04\x0b\x03\x00\x02\x01\x12\x04\xa9\x01\x04+\n\x0f\n\x07\x04\x0b\x03\x00\x02\x01\x06\x12\x04\xa9\x01\x04\x1d\n\x0f\n\x07\x04\x0b\x03\x00\x02\x01\x01\x12\x04\xa9\x01\x1e&\n\x0f\n\x07\x04\x0b\x03\x00\x02\x01\x03\x12\x04\xa9\x01)*\n\x0e\n\x06\x04\x0b\x03\x00\x02\x02\x12\x04\xaa\x01\x04+\n\x0f\n\x07\x04\x0b\x03\x00\x02\x02\x06\x12\x04\xaa\x01\x04\x1d\n\x0f\n\x07\x04\x0b\x03\x00\x02\x02\x01\x12\x04\xaa\x01\x1e&\n\x0f\n\x07\x04\x0b\x03\x00\x02\x02\x03\x12\x04\xaa\x01)*\n\xd5\x01\n\x06\x04\x0b\x03\x00\x02\x03\x12\x04\xb0\x01\x04(\x1a\xc4\x01 Optionally, a transaction hash for the transaction that created the swap\n this action claims.\n\n This field allows frontends to more easily crossreference the sequence of\n Swap/SwapClaim actions.\n\n\x0f\n\x07\x04\x0b\x03\x00\x02\x03\x06\x12\x04\xb0\x01\x04\x1b\n\x0f\n\x07\x04\x0b\x03\x00\x02\x03\x01\x12\x04\xb0\x01\x1c#\n\x0f\n\x07\x04\x0b\x03\x00\x02\x03\x03\x12\x04\xb0\x01&\'\n\x0e\n\x04\x04\x0b\x03\x01\x12\x06\xb2\x01\x02\xb4\x01\x03\n\r\n\x05\x04\x0b\x03\x01\x01\x12\x04\xb2\x01\n\x10\n\x0e\n\x06\x04\x0b\x03\x01\x02\x00\x12\x04\xb3\x01\x04$\n\x0f\n\x07\x04\x0b\x03\x01\x02\x00\x06\x12\x04\xb3\x01\x04\x14\n\x0f\n\x07\x04\x0b\x03\x01\x02\x00\x01\x12\x04\xb3\x01\x15\x1f\n\x0f\n\x07\x04\x0b\x03\x01\x02\x00\x03\x12\x04\xb3\x01\"#\n\x0e\n\x04\x04\x0b\x08\x00\x12\x06\xb5\x01\x02\xb8\x01\x03\n\r\n\x05\x04\x0b\x08\x00\x01\x12\x04\xb5\x01\x08\x17\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\xb6\x01\x04\x18\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\xb6\x01\x04\x0b\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xb6\x01\x0c\x13\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xb6\x01\x16\x17\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\xb7\x01\x04\x16\n\r\n\x05\x04\x0b\x02\x01\x06\x12\x04\xb7\x01\x04\n\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xb7\x01\x0b\x11\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xb7\x01\x14\x15\n\xc9\x01\n\x02\x04\x0c\x12\x06\xbe\x01\x00\xc3\x01\x01\x1a\xba\x01 Holds two asset IDs. Ordering doesn\'t reflect trading direction. Instead, we\n require `asset_1 < asset_2` as field elements, to ensure a canonical\n representation of an unordered pair.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xbe\x01\x08\x13\n,\n\x04\x04\x0c\x02\x00\x12\x04\xc0\x01\x02\x1f\x1a\x1e The first asset of the pair.\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xc0\x01\x02\x12\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xc0\x01\x13\x1a\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xc0\x01\x1d\x1e\n-\n\x04\x04\x0c\x02\x01\x12\x04\xc2\x01\x02\x1f\x1a\x1f The second asset of the pair.\n\n\r\n\x05\x04\x0c\x02\x01\x06\x12\x04\xc2\x01\x02\x12\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xc2\x01\x13\x1a\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xc2\x01\x1d\x1e\n^\n\x02\x04\r\x12\x06\xc7\x01\x00\xcc\x01\x01\x1aP Encodes a trading pair starting from asset `start`\n and ending on asset `end`.\n\n\x0b\n\x03\x04\r\x01\x12\x04\xc7\x01\x08\x1b\n,\n\x04\x04\r\x02\x00\x12\x04\xc9\x01\x02\x1d\x1a\x1e The start asset of the pair.\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xc9\x01\x02\x12\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xc9\x01\x13\x18\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xc9\x01\x1b\x1c\n*\n\x04\x04\r\x02\x01\x12\x04\xcb\x01\x02\x1b\x1a\x1c The end asset of the pair.\n\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\xcb\x01\x02\x12\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xcb\x01\x13\x16\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xcb\x01\x19\x1a\n\xa8\x01\n\x02\x04\x0e\x12\x06\xd2\x01\x00\xe5\x01\x01\x1a\x99\x01 Records the result of a batch swap on-chain.\n\n Used as a public input to a swap claim proof, as it implies the effective\n clearing price for the batch.\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xd2\x01\x08\x1b\nM\n\x04\x04\x0e\x02\x00\x12\x04\xd4\x01\x02\x1c\x1a? The total amount of asset 1 that was input to the batch swap.\n\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\xd4\x01\x02\x0f\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xd4\x01\x10\x17\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xd4\x01\x1a\x1b\nM\n\x04\x04\x0e\x02\x01\x12\x04\xd6\x01\x02\x1c\x1a? The total amount of asset 2 that was input to the batch swap.\n\n\r\n\x05\x04\x0e\x02\x01\x06\x12\x04\xd6\x01\x02\x0f\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xd6\x01\x10\x17\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xd6\x01\x1a\x1b\n`\n\x04\x04\x0e\x02\x02\x12\x04\xd8\x01\x02\x1d\x1aR The total amount of asset 1 that was output from the batch swap for 2=>1 trades.\n\n\r\n\x05\x04\x0e\x02\x02\x06\x12\x04\xd8\x01\x02\x0f\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xd8\x01\x10\x18\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xd8\x01\x1b\x1c\n`\n\x04\x04\x0e\x02\x03\x12\x04\xda\x01\x02\x1d\x1aR The total amount of asset 2 that was output from the batch swap for 1=>2 trades.\n\n\r\n\x05\x04\x0e\x02\x03\x06\x12\x04\xda\x01\x02\x0f\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\xda\x01\x10\x18\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\xda\x01\x1b\x1c\nk\n\x04\x04\x0e\x02\x04\x12\x04\xdc\x01\x02\x1f\x1a] The total amount of asset 1 that was returned unfilled from the batch swap for 1=>2 trades.\n\n\r\n\x05\x04\x0e\x02\x04\x06\x12\x04\xdc\x01\x02\x0f\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xdc\x01\x10\x1a\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xdc\x01\x1d\x1e\nk\n\x04\x04\x0e\x02\x05\x12\x04\xde\x01\x02\x1f\x1a] The total amount of asset 2 that was returned unfilled from the batch swap for 2=>1 trades.\n\n\r\n\x05\x04\x0e\x02\x05\x06\x12\x04\xde\x01\x02\x0f\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\xde\x01\x10\x1a\n\r\n\x05\x04\x0e\x02\x05\x03\x12\x04\xde\x01\x1d\x1e\nB\n\x04\x04\x0e\x02\x06\x12\x04\xe0\x01\x02\x14\x1a4 The height for which the batch swap data is valid.\n\n\r\n\x05\x04\x0e\x02\x06\x05\x12\x04\xe0\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x06\x01\x12\x04\xe0\x01\t\x0f\n\r\n\x05\x04\x0e\x02\x06\x03\x12\x04\xe0\x01\x12\x13\n@\n\x04\x04\x0e\x02\x07\x12\x04\xe2\x01\x02\x1f\x1a2 The trading pair associated with the batch swap.\n\n\r\n\x05\x04\x0e\x02\x07\x06\x12\x04\xe2\x01\x02\r\n\r\n\x05\x04\x0e\x02\x07\x01\x12\x04\xe2\x01\x0e\x1a\n\r\n\x05\x04\x0e\x02\x07\x03\x12\x04\xe2\x01\x1d\x1e\n^\n\x04\x04\x0e\x02\x08\x12\x04\xe4\x01\x02#\x1aP The starting block height of the epoch for which the batch swap data is valid.\n\n\r\n\x05\x04\x0e\x02\x08\x05\x12\x04\xe4\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x08\x01\x12\x04\xe4\x01\t\x1e\n\r\n\x05\x04\x0e\x02\x08\x03\x12\x04\xe4\x01!\"\n\xe7\x01\n\x02\x04\x0f\x12\x06\xeb\x01\x00\xee\x01\x01\x1a\xd8\x01 The trading function for a specific pair.\n For a pair (asset_1, asset_2), a trading function is defined by:\n `phi(R) = p*R_1 + q*R_2` and `gamma = 1 - fee`.\n The trading function is frequently referred to as \"phi\".\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\xeb\x01\x08\x17\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\xec\x01\x02$\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xec\x01\x02\x15\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xec\x01\x16\x1f\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xec\x01\"#\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\xed\x01\x02\x17\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xed\x01\x02\r\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xed\x01\x0e\x12\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xed\x01\x15\x16\n\xa0\x02\n\x02\x04\x10\x12\x06\xf5\x01\x00\xfb\x01\x01\x1a\x91\x02 The minimum amount of data describing a trading function.\n\n This implicitly treats the trading function as being between assets 1 and 2,\n without specifying what those assets are, to avoid duplicating data (each\n asset ID alone is twice the size of the trading function).\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xf5\x01\x08\x1b\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xf6\x01\x02\x11\n\r\n\x05\x04\x10\x02\x00\x05\x12\x04\xf6\x01\x02\x08\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xf6\x01\t\x0c\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xf6\x01\x0f\x10\n[\n\x04\x04\x10\x02\x01\x12\x04\xf8\x01\x02\x16\x1aM This is not actually an amount, it\'s an integer the same width as an amount\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xf8\x01\x02\x0f\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xf8\x01\x10\x11\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xf8\x01\x14\x15\n[\n\x04\x04\x10\x02\x02\x12\x04\xfa\x01\x02\x16\x1aM This is not actually an amount, it\'s an integer the same width as an amount\n\n\r\n\x05\x04\x10\x02\x02\x06\x12\x04\xfa\x01\x02\x0f\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xfa\x01\x10\x11\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xfa\x01\x14\x15\n\x91\x02\n\x02\x04\x11\x12\x06\x83\x02\x00\x86\x02\x01\x1a\x82\x02 The reserves of a position.\n\n Like a position, this implicitly treats the trading function as being\n between assets 1 and 2, without specifying what those assets are, to avoid\n duplicating data (each asset ID alone is four times the size of the\n reserves).\n\n\x0b\n\x03\x04\x11\x01\x12\x04\x83\x02\x08\x10\n\x0c\n\x04\x04\x11\x02\x00\x12\x04\x84\x02\x02\x17\n\r\n\x05\x04\x11\x02\x00\x06\x12\x04\x84\x02\x02\x0f\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\x84\x02\x10\x12\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\x84\x02\x15\x16\n\x0c\n\x04\x04\x11\x02\x01\x12\x04\x85\x02\x02\x17\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\x85\x02\x02\x0f\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\x85\x02\x10\x12\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\x85\x02\x15\x16\n,\n\x02\x04\x12\x12\x06\x89\x02\x00\x96\x02\x01\x1a\x1e Data identifying a position.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\x89\x02\x08\x10\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\x8a\x02\x02\x1a\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\x8a\x02\x02\x11\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\x8a\x02\x12\x15\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\x8a\x02\x18\x19\n\xe7\x02\n\x04\x04\x12\x02\x01\x12\x04\x90\x02\x02\x12\x1a\xd8\x02 A random value used to disambiguate different positions with the exact same\n trading function.  The chain should reject newly created positions with the\n same nonce as an existing position.  This ensures that `PositionId`s will\n be unique, and allows us to track position ownership with a\n sequence of stateful NFTs based on the `PositionId`.\n\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\x90\x02\x02\x07\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\x90\x02\x08\r\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\x90\x02\x10\x11\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\x91\x02\x02\x1a\n\r\n\x05\x04\x12\x02\x02\x06\x12\x04\x91\x02\x02\x0f\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\x91\x02\x10\x15\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\x91\x02\x18\x19\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\x92\x02\x02\x18\n\r\n\x05\x04\x12\x02\x03\x06\x12\x04\x92\x02\x02\n\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\x92\x02\x0b\x13\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\x92\x02\x16\x17\ns\n\x04\x04\x12\x02\x04\x12\x04\x95\x02\x02\x19\x1ae/ If set to true, the position is a limit-order and will be closed\n/ immediately after being filled.\n\n\r\n\x05\x04\x12\x02\x04\x05\x12\x04\x95\x02\x02\x06\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\x95\x02\x07\x14\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\x95\x02\x17\x18\n\'\n\x02\x04\x13\x12\x06\x99\x02\x00\xa5\x02\x01\x1a\x19 A hash of a `Position`.\n\n\x0b\n\x03\x04\x13\x01\x12\x04\x99\x02\x08\x12\n-\n\x04\x04\x13\x02\x00\x12\x04\x9b\x02\x02\x12\x1a\x1f The bytes of the position ID.\n\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\x9b\x02\x02\x07\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\x9b\x02\x08\r\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\x9b\x02\x10\x11\n\xcb\x02\n\x04\x04\x13\x02\x01\x12\x04\xa4\x02\x02\x19\x1a\xbc\x02 Alternatively, a Bech32m-encoded string representation of the `inner`\n bytes.\n\n NOTE: implementations are not required to support parsing this field.\n Implementations should prefer to encode the bytes in all messages they\n produce. Implementations must not accept messages with both `inner` and\n `alt_bech32m` set.\n\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\xa4\x02\x02\x08\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xa4\x02\t\x14\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xa4\x02\x17\x18\n(\n\x02\x04\x14\x12\x06\xa8\x02\x00\xbf\x02\x01\x1a\x1a The state of a position.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xa8\x02\x08\x15\n\x0e\n\x04\x04\x14\x04\x00\x12\x06\xa9\x02\x02\xb9\x02\x03\n\r\n\x05\x04\x14\x04\x00\x01\x12\x04\xa9\x02\x07\x18\n\x0e\n\x06\x04\x14\x04\x00\x02\x00\x12\x04\xaa\x02\x04(\n\x0f\n\x07\x04\x14\x04\x00\x02\x00\x01\x12\x04\xaa\x02\x04#\n\x0f\n\x07\x04\x14\x04\x00\x02\x00\x02\x12\x04\xaa\x02&\'\ny\n\x06\x04\x14\x04\x00\x02\x01\x12\x04\xad\x02\x04#\x1ai The position has been opened, is active, has reserves and accumulated\n fees, and can be traded against.\n\n\x0f\n\x07\x04\x14\x04\x00\x02\x01\x01\x12\x04\xad\x02\x04\x1e\n\x0f\n\x07\x04\x14\x04\x00\x02\x01\x02\x12\x04\xad\x02!\"\n\x8e\x01\n\x06\x04\x14\x04\x00\x02\x02\x12\x04\xb0\x02\x04#\x1a~ The position has been closed, is inactive and can no longer be traded\n against, but still has reserves and accumulated fees.\n\n\x0f\n\x07\x04\x14\x04\x00\x02\x02\x01\x12\x04\xb0\x02\x04\x1e\n\x0f\n\x07\x04\x14\x04\x00\x02\x02\x02\x12\x04\xb0\x02!\"\n\xfa\x01\n\x06\x04\x14\x04\x00\x02\x03\x12\x04\xb6\x02\x04&\x1a\xe9\x01 The final reserves and accumulated fees have been withdrawn, leaving an\n empty, inactive position awaiting (possible) retroactive rewards.\n\n Positions can be withdrawn from multiple times, incrementing a sequence\n number each time.\n\n\x0f\n\x07\x04\x14\x04\x00\x02\x03\x01\x12\x04\xb6\x02\x04!\n\x0f\n\x07\x04\x14\x04\x00\x02\x03\x02\x12\x04\xb6\x02$%\n\x1d\n\x06\x04\x14\x04\x00\x02\x04\x12\x04\xb8\x02\x048\x1a\r Deprecated.\n\n\x0f\n\x07\x04\x14\x04\x00\x02\x04\x01\x12\x04\xb8\x02\x04\x1f\n\x0f\n\x07\x04\x14\x04\x00\x02\x04\x02\x12\x04\xb8\x02\"#\n\x0f\n\x07\x04\x14\x04\x00\x02\x04\x03\x12\x04\xb8\x02$7\n\x10\n\x08\x04\x14\x04\x00\x02\x04\x03\x01\x12\x04\xb8\x02%6\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xba\x02\x02\x1e\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xba\x02\x02\x13\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xba\x02\x14\x19\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xba\x02\x1c\x1d\n\x99\x01\n\x04\x04\x14\x02\x01\x12\x04\xbe\x02\x02\x16\x1a\x8a\x01 Only meaningful if `state` is `POSITION_STATE_ENUM_WITHDRAWN`.\n\n The sequence number allows multiple withdrawals from the same position.\n\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xbe\x02\x02\x08\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xbe\x02\t\x11\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xbe\x02\x14\x15\n\x8a\x07\n\x02\x04\x15\x12\x06\xd0\x02\x00\xd3\x02\x01\x1a\xfb\x06 An LPNFT tracking both ownership and state of a position.\n\n Tracking the state as part of the LPNFT means that all LP-related actions can\n be authorized by spending funds: a state transition (e.g., closing a\n position) is modeled as spending an \"open position LPNFT\" and minting a\n \"closed position LPNFT\" for the same (globally unique) position ID.\n\n This means that the LP mechanics can be agnostic to the mechanism used to\n record custody and spend authorization.  For instance, they can be recorded\n in the shielded pool, where custody is based on off-chain keys, or they could\n be recorded in a programmatic on-chain account (in the future, e.g., to\n support interchain accounts).  This also means that LP-related actions don\'t\n require any cryptographic implementation (proofs, signatures, etc), other\n than hooking into the value commitment mechanism used for transaction\n balances.\n\n\x0b\n\x03\x04\x15\x01\x12\x04\xd0\x02\x08\r\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\xd1\x02\x02\x1d\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\xd1\x02\x02\x0c\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xd1\x02\r\x18\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xd1\x02\x1b\x1c\n\x0c\n\x04\x04\x15\x02\x01\x12\x04\xd2\x02\x02\x1a\n\r\n\x05\x04\x15\x02\x01\x06\x12\x04\xd2\x02\x02\x0f\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xd2\x02\x10\x15\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\xd2\x02\x18\x19\n\xcb\x01\n\x02\x04\x16\x12\x06\xd9\x02\x00\xdf\x02\x01\x1a\xbc\x01 A transaction action that opens a new position.\n\n This action\'s contribution to the transaction\'s value balance is to consume\n the initial reserves and contribute an opened position NFT.\n\n\x0b\n\x03\x04\x16\x01\x12\x04\xd9\x02\x08\x14\n\xe8\x01\n\x04\x04\x16\x02\x00\x12\x04\xde\x02\x02\x18\x1a\xd9\x01 Contains the data defining the position, sufficient to compute its `PositionId`.\n\n Positions are immutable, so the `PositionData` (and hence the `PositionId`)\n are unchanged over the entire lifetime of the position.\n\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xde\x02\x02\n\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xde\x02\x0b\x13\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xde\x02\x16\x17\n\x80\x04\n\x02\x04\x17\x12\x06\xea\x02\x00\xec\x02\x01\x1a\xf1\x03 A transaction action that closes a position.\n\n This action\'s contribution to the transaction\'s value balance is to consume\n an opened position NFT and contribute a closed position NFT.\n\n Closing a position does not immediately withdraw funds, because Penumbra\n transactions (like any ZK transaction model) are early-binding: the prover\n must know the state transition they prove knowledge of, and they cannot know\n the final reserves with certainty until after the position has been deactivated.\n\n\x0b\n\x03\x04\x17\x01\x12\x04\xea\x02\x08\x15\n\x0c\n\x04\x04\x17\x02\x00\x12\x04\xeb\x02\x02\x1d\n\r\n\x05\x04\x17\x02\x00\x06\x12\x04\xeb\x02\x02\x0c\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\xeb\x02\r\x18\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\xeb\x02\x1b\x1c\n\xaf\x02\n\x02\x04\x18\x12\x06\xf3\x02\x00\xfd\x02\x01\x1a\xa0\x02 A transaction action that withdraws funds from a closed position.\n\n This action\'s contribution to the transaction\'s value balance is to consume a\n closed position NFT and contribute a withdrawn position NFT, as well as all\n of the funds that were in the position at the time of closing.\n\n\x0b\n\x03\x04\x18\x01\x12\x04\xf3\x02\x08\x18\n\x0c\n\x04\x04\x18\x02\x00\x12\x04\xf4\x02\x02\x1d\n\r\n\x05\x04\x18\x02\x00\x06\x12\x04\xf4\x02\x02\x0c\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\xf4\x02\r\x18\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\xf4\x02\x1b\x1c\n\xbd\x01\n\x04\x04\x18\x02\x01\x12\x04\xf8\x02\x025\x1a\xae\x01 A transparent (zero blinding factor) commitment to the position\'s final reserves and fees.\n\n The chain will check this commitment by recomputing it with the on-chain state.\n\n\r\n\x05\x04\x18\x02\x01\x06\x12\x04\xf8\x02\x02\x1c\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\xf8\x02\x1d0\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\xf8\x0234\n\x95\x01\n\x04\x04\x18\x02\x02\x12\x04\xfc\x02\x02\x16\x1a\x86\x01 The sequence number of the withdrawal.\n\n This allows multiple withdrawals from the same position, rather than a single reward claim.\n\n\r\n\x05\x04\x18\x02\x02\x05\x12\x04\xfc\x02\x02\x08\n\r\n\x05\x04\x18\x02\x02\x01\x12\x04\xfc\x02\t\x11\n\r\n\x05\x04\x18\x02\x02\x03\x12\x04\xfc\x02\x14\x15\n\x1b\n\x02\x04\x19\x12\x06\x80\x03\x00\x83\x03\x01\x1a\r Deprecated.\n\n\x0b\n\x03\x04\x19\x01\x12\x04\x80\x03\x08\x1b\n\x0c\n\x04\x04\x19\x02\x00\x12\x04\x81\x03\x02\x1d\n\r\n\x05\x04\x19\x02\x00\x06\x12\x04\x81\x03\x02\x0c\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\x81\x03\r\x18\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\x81\x03\x1b\x1c\n\x0c\n\x04\x04\x19\x02\x01\x12\x04\x82\x03\x024\n\r\n\x05\x04\x19\x02\x01\x06\x12\x04\x82\x03\x02\x1c\n\r\n\x05\x04\x19\x02\x01\x01\x12\x04\x82\x03\x1d/\n\r\n\x05\x04\x19\x02\x01\x03\x12\x04\x82\x0323\nC\n\x02\x04\x1a\x12\x06\x86\x03\x00\x92\x03\x01\x1a5 Contains the entire execution of a particular swap.\n\n\x0b\n\x03\x04\x1a\x01\x12\x04\x86\x03\x08\x15\nL\n\x04\x04\x1a\x03\x00\x12\x06\x88\x03\x02\x8b\x03\x03\x1a< Contains all individual steps consisting of a trade trace.\n\n\r\n\x05\x04\x1a\x03\x00\x01\x12\x04\x88\x03\n\x0f\n/\n\x06\x04\x1a\x03\x00\x02\x00\x12\x04\x8a\x03\x04&\x1a\x1f Each step in the trade trace.\n\n\x0f\n\x07\x04\x1a\x03\x00\x02\x00\x04\x12\x04\x8a\x03\x04\x0c\n\x0f\n\x07\x04\x1a\x03\x00\x02\x00\x06\x12\x04\x8a\x03\r\x1b\n\x0f\n\x07\x04\x1a\x03\x00\x02\x00\x01\x12\x04\x8a\x03\x1c!\n\x0f\n\x07\x04\x1a\x03\x00\x02\x00\x03\x12\x04\x8a\x03$%\n\x0c\n\x04\x04\x1a\x02\x00\x12\x04\x8c\x03\x02\x1c\n\r\n\x05\x04\x1a\x02\x00\x04\x12\x04\x8c\x03\x02\n\n\r\n\x05\x04\x1a\x02\x00\x06\x12\x04\x8c\x03\x0b\x10\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\x8c\x03\x11\x17\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\x8c\x03\x1a\x1b\n:\n\x04\x04\x1a\x02\x01\x12\x04\x8f\x03\x02\x1b\x1a, The total input amount for this execution.\n\n\r\n\x05\x04\x1a\x02\x01\x06\x12\x04\x8f\x03\x02\x10\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\x8f\x03\x11\x16\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\x8f\x03\x19\x1a\n;\n\x04\x04\x1a\x02\x02\x12\x04\x91\x03\x02\x1c\x1a- The total output amount for this execution.\n\n\r\n\x05\x04\x1a\x02\x02\x06\x12\x04\x91\x03\x02\x10\n\r\n\x05\x04\x1a\x02\x02\x01\x12\x04\x91\x03\x11\x17\n\r\n\x05\x04\x1a\x02\x02\x03\x12\x04\x91\x03\x1a\x1b\n^\n\x02\x04\x1b\x12\x06\x95\x03\x00\x9d\x03\x01\x1aP Contains private and public data for withdrawing funds from a closed position.\n\n\x0b\n\x03\x04\x1b\x01\x12\x04\x95\x03\x08\x1c\n\x0c\n\x04\x04\x1b\x02\x00\x12\x04\x96\x03\x02\x18\n\r\n\x05\x04\x1b\x02\x00\x06\x12\x04\x96\x03\x02\n\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\x96\x03\x0b\x13\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\x96\x03\x16\x17\n\x0c\n\x04\x04\x1b\x02\x01\x12\x04\x97\x03\x02\x1d\n\r\n\x05\x04\x1b\x02\x01\x06\x12\x04\x97\x03\x02\x0c\n\r\n\x05\x04\x1b\x02\x01\x01\x12\x04\x97\x03\r\x18\n\r\n\x05\x04\x1b\x02\x01\x03\x12\x04\x97\x03\x1b\x1c\n\x0c\n\x04\x04\x1b\x02\x02\x12\x04\x98\x03\x02\x17\n\r\n\x05\x04\x1b\x02\x02\x06\x12\x04\x98\x03\x02\r\n\r\n\x05\x04\x1b\x02\x02\x01\x12\x04\x98\x03\x0e\x12\n\r\n\x05\x04\x1b\x02\x02\x03\x12\x04\x98\x03\x15\x16\n6\n\x04\x04\x1b\x02\x03\x12\x04\x9a\x03\x02\x16\x1a( The sequence number of the withdrawal.\n\n\r\n\x05\x04\x1b\x02\x03\x05\x12\x04\x9a\x03\x02\x08\n\r\n\x05\x04\x1b\x02\x03\x01\x12\x04\x9a\x03\t\x11\n\r\n\x05\x04\x1b\x02\x03\x03\x12\x04\x9a\x03\x14\x15\nB\n\x04\x04\x1b\x02\x04\x12\x04\x9c\x03\x02&\x1a4 Any accumulated rewards assigned to this position.\n\n\r\n\x05\x04\x1b\x02\x04\x04\x12\x04\x9c\x03\x02\n\n\r\n\x05\x04\x1b\x02\x04\x06\x12\x04\x9c\x03\x0b\x19\n\r\n\x05\x04\x1b\x02\x04\x01\x12\x04\x9c\x03\x1a!\n\r\n\x05\x04\x1b\x02\x04\x03\x12\x04\x9c\x03$%\n\x1b\n\x02\x04\x1c\x12\x06\xa0\x03\x00\xa2\x03\x01\x1a\r Deprecated.\n\n\x0b\n\x03\x04\x1c\x01\x12\x04\xa0\x03\x08\x1f\n\x0c\n\x04\x04\x1c\x02\x00\x12\x04\xa1\x03\x02\x18\n\r\n\x05\x04\x1c\x02\x00\x06\x12\x04\xa1\x03\x02\n\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\xa1\x03\x0b\x13\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\xa1\x03\x16\x17\n7\n\x02\x06\x00\x12\x06\xa5\x03\x00\xc2\x03\x01\x1a) Query operations for the DEX component.\n\n\x0b\n\x03\x06\x00\x01\x12\x04\xa5\x03\x08\x14\n[\n\x04\x06\x00\x02\x00\x12\x04\xa7\x03\x02\\\x1aM Get the batch clearing prices for a specific block height and trading pair.\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xa7\x03\x06\x19\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xa7\x03\x1a4\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xa7\x03?Z\nN\n\x04\x06\x00\x02\x01\x12\x04\xa9\x03\x02J\x1a@ Get the precise swap execution used for a specific batch swap.\n\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xa9\x03\x06\x13\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xa9\x03\x14(\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xa9\x033H\nM\n\x04\x06\x00\x02\x02\x12\x04\xab\x03\x02G\x1a? Get the precise execution used to perform on-chain arbitrage.\n\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xab\x03\x06\x12\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xab\x03\x13&\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xab\x031E\np\n\x04\x06\x00\x02\x03\x12\x04\xae\x03\x02T\x1ab Stream all swap executions over a range of heights, optionally subscribing to future executions.\n\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\xae\x03\x06\x14\n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\xae\x03\x15*\n\r\n\x05\x06\x00\x02\x03\x06\x12\x04\xae\x035;\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\xae\x03<R\nu\n\x04\x06\x00\x02\x04\x12\x04\xb0\x03\x02Q\x1ag Stream all arbitrage executions over a range of heights, optionally subscribing to future executions.\n\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\xb0\x03\x06\x13\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\xb0\x03\x14(\n\r\n\x05\x06\x00\x02\x04\x06\x12\x04\xb0\x0339\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\xb0\x03:O\n9\n\x04\x06\x00\x02\x05\x12\x04\xb3\x03\x02`\x1a+ Query all liquidity positions on the DEX.\n\n\r\n\x05\x06\x00\x02\x05\x01\x12\x04\xb3\x03\x06\x18\n\r\n\x05\x06\x00\x02\x05\x02\x12\x04\xb3\x03\x192\n\r\n\x05\x06\x00\x02\x05\x06\x12\x04\xb3\x03=C\n\r\n\x05\x06\x00\x02\x05\x03\x12\x04\xb3\x03D^\nk\n\x04\x06\x00\x02\x06\x12\x04\xb7\x03\x02b\x1a] Query liquidity positions by ID.\n\n To get multiple positions, use `LiquidityPositionsById`.\n\n\r\n\x05\x06\x00\x02\x06\x01\x12\x04\xb7\x03\x06\x1b\n\r\n\x05\x06\x00\x02\x06\x02\x12\x04\xb7\x03\x1c8\n\r\n\x05\x06\x00\x02\x06\x03\x12\x04\xb7\x03C`\n9\n\x04\x06\x00\x02\x07\x12\x04\xb9\x03\x02l\x1a+ Query multiple liquidity positions by ID.\n\n\r\n\x05\x06\x00\x02\x07\x01\x12\x04\xb9\x03\x06\x1c\n\r\n\x05\x06\x00\x02\x07\x02\x12\x04\xb9\x03\x1d:\n\r\n\x05\x06\x00\x02\x07\x06\x12\x04\xb9\x03EK\n\r\n\x05\x06\x00\x02\x07\x03\x12\x04\xb9\x03Lj\nX\n\x04\x06\x00\x02\x08\x12\x04\xbb\x03\x02u\x1aJ Query liquidity positions on a specific pair, sorted by effective price.\n\n\r\n\x05\x06\x00\x02\x08\x01\x12\x04\xbb\x03\x06\x1f\n\r\n\x05\x06\x00\x02\x08\x02\x12\x04\xbb\x03 @\n\r\n\x05\x06\x00\x02\x08\x06\x12\x04\xbb\x03KQ\n\r\n\x05\x06\x00\x02\x08\x03\x12\x04\xbb\x03Rs\n\xda\x01\n\x04\x06\x00\x02\t\x12\x04\xc1\x03\x025\x1a\xcb\x01 Get the current (direct) spread on a trading pair.\n\n This method doesn\'t do simulation, so actually executing might result in a\n better price (if the chain takes a different route to the target asset).\n\n\r\n\x05\x06\x00\x02\t\x01\x12\x04\xc1\x03\x06\x0c\n\r\n\x05\x06\x00\x02\t\x02\x12\x04\xc1\x03\r\x1a\n\r\n\x05\x06\x00\x02\t\x03\x12\x04\xc1\x03%3\n\xf7\x01\n\x02\x06\x01\x12\x06\xc9\x03\x00\xcc\x03\x01\x1a\xe8\x01 Simulation for the DEX component.\n\n This is a separate service from the QueryService because it\'s not just a\n simple read query from the state. Thus it poses greater DoS risks, and node\n operators may want to enable it separately.\n\n\x0b\n\x03\x06\x01\x01\x12\x04\xc9\x03\x08\x19\n5\n\x04\x06\x01\x02\x00\x12\x04\xcb\x03\x02J\x1a\' Simulate routing and trade execution.\n\n\r\n\x05\x06\x01\x02\x00\x01\x12\x04\xcb\x03\x06\x13\n\r\n\x05\x06\x01\x02\x00\x02\x12\x04\xcb\x03\x14(\n\r\n\x05\x06\x01\x02\x00\x03\x12\x04\xcb\x033H\no\n\x02\x04\x1d\x12\x06\xcf\x03\x00\xd2\x03\x01\x1aa Requests batch swap data associated with a given height and trading pair from the view service.\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\xcf\x03\x08\"\n\x0c\n\x04\x04\x1d\x02\x00\x12\x04\xd0\x03\x02\x14\n\r\n\x05\x04\x1d\x02\x00\x05\x12\x04\xd0\x03\x02\x08\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xd0\x03\t\x0f\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xd0\x03\x12\x13\n\x0c\n\x04\x04\x1d\x02\x01\x12\x04\xd1\x03\x025\n\r\n\x05\x04\x1d\x02\x01\x06\x12\x04\xd1\x03\x02#\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\xd1\x03$0\n\r\n\x05\x04\x1d\x02\x01\x03\x12\x04\xd1\x0334\n\x0c\n\x02\x04\x1e\x12\x06\xd4\x03\x00\xd6\x03\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\xd4\x03\x08#\n\x0c\n\x04\x04\x1e\x02\x00\x12\x04\xd5\x03\x025\n\r\n\x05\x04\x1e\x02\x00\x06\x12\x04\xd5\x03\x02+\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\xd5\x03,0\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\xd5\x0334\n\x0c\n\x02\x04\x1f\x12\x06\xd8\x03\x00\xdb\x03\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\xd8\x03\x08\x1c\n\x0c\n\x04\x04\x1f\x02\x00\x12\x04\xd9\x03\x02\x14\n\r\n\x05\x04\x1f\x02\x00\x05\x12\x04\xd9\x03\x02\x08\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\xd9\x03\t\x0f\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\xd9\x03\x12\x13\n\x0c\n\x04\x04\x1f\x02\x01\x12\x04\xda\x03\x02=\n\r\n\x05\x04\x1f\x02\x01\x06\x12\x04\xda\x03\x02+\n\r\n\x05\x04\x1f\x02\x01\x01\x12\x04\xda\x03,8\n\r\n\x05\x04\x1f\x02\x01\x03\x12\x04\xda\x03;<\n\x0c\n\x02\x04 \x12\x06\xdd\x03\x00\xdf\x03\x01\n\x0b\n\x03\x04 \x01\x12\x04\xdd\x03\x08\x1d\n\x0c\n\x04\x04 \x02\x00\x12\x04\xde\x03\x029\n\r\n\x05\x04 \x02\x00\x06\x12\x04\xde\x03\x02%\n\r\n\x05\x04 \x02\x00\x01\x12\x04\xde\x03&4\n\r\n\x05\x04 \x02\x00\x03\x12\x04\xde\x0378\n\x0c\n\x02\x04!\x12\x06\xe1\x03\x00\xe3\x03\x01\n\x0b\n\x03\x04!\x01\x12\x04\xe1\x03\x08\x1b\n\x0c\n\x04\x04!\x02\x00\x12\x04\xe2\x03\x02\x14\n\r\n\x05\x04!\x02\x00\x05\x12\x04\xe2\x03\x02\x08\n\r\n\x05\x04!\x02\x00\x01\x12\x04\xe2\x03\t\x0f\n\r\n\x05\x04!\x02\x00\x03\x12\x04\xe2\x03\x12\x13\n\x0c\n\x02\x04\"\x12\x06\xe5\x03\x00\xe8\x03\x01\n\x0b\n\x03\x04\"\x01\x12\x04\xe5\x03\x08\x1c\n\x0c\n\x04\x04\"\x02\x00\x12\x04\xe6\x03\x029\n\r\n\x05\x04\"\x02\x00\x06\x12\x04\xe6\x03\x02%\n\r\n\x05\x04\"\x02\x00\x01\x12\x04\xe6\x03&4\n\r\n\x05\x04\"\x02\x00\x03\x12\x04\xe6\x0378\n\x0c\n\x04\x04\"\x02\x01\x12\x04\xe7\x03\x02\x14\n\r\n\x05\x04\"\x02\x01\x05\x12\x04\xe7\x03\x02\x08\n\r\n\x05\x04\"\x02\x01\x01\x12\x04\xe7\x03\t\x0f\n\r\n\x05\x04\"\x02\x01\x03\x12\x04\xe7\x03\x12\x13\n\x0c\n\x02\x04#\x12\x06\xea\x03\x00\xf1\x03\x01\n\x0b\n\x03\x04#\x01\x12\x04\xea\x03\x08\x1d\nY\n\x04\x04#\x02\x00\x12\x04\xec\x03\x02\x1a\x1aK If present, only return swap executions occurring after the given height.\n\n\r\n\x05\x04#\x02\x00\x05\x12\x04\xec\x03\x02\x08\n\r\n\x05\x04#\x02\x00\x01\x12\x04\xec\x03\t\x15\n\r\n\x05\x04#\x02\x00\x03\x12\x04\xec\x03\x18\x19\nZ\n\x04\x04#\x02\x01\x12\x04\xee\x03\x02\x18\x1aL If present, only return swap executions occurring before the given height.\n\n\r\n\x05\x04#\x02\x01\x05\x12\x04\xee\x03\x02\x08\n\r\n\x05\x04#\x02\x01\x01\x12\x04\xee\x03\t\x13\n\r\n\x05\x04#\x02\x01\x03\x12\x04\xee\x03\x16\x17\nM\n\x04\x04#\x02\x02\x12\x04\xf0\x03\x02=\x1a? If present, filter swap executions by the given trading pair.\n\n\r\n\x05\x04#\x02\x02\x06\x12\x04\xf0\x03\x02+\n\r\n\x05\x04#\x02\x02\x01\x12\x04\xf0\x03,8\n\r\n\x05\x04#\x02\x02\x03\x12\x04\xf0\x03;<\n\x0c\n\x02\x04$\x12\x06\xf3\x03\x00\xf7\x03\x01\n\x0b\n\x03\x04$\x01\x12\x04\xf3\x03\x08\x1e\n\x0c\n\x04\x04$\x02\x00\x12\x04\xf4\x03\x029\n\r\n\x05\x04$\x02\x00\x06\x12\x04\xf4\x03\x02%\n\r\n\x05\x04$\x02\x00\x01\x12\x04\xf4\x03&4\n\r\n\x05\x04$\x02\x00\x03\x12\x04\xf4\x0378\n\x0c\n\x04\x04$\x02\x01\x12\x04\xf5\x03\x02\x14\n\r\n\x05\x04$\x02\x01\x05\x12\x04\xf5\x03\x02\x08\n\r\n\x05\x04$\x02\x01\x01\x12\x04\xf5\x03\t\x0f\n\r\n\x05\x04$\x02\x01\x03\x12\x04\xf5\x03\x12\x13\n\x0c\n\x04\x04$\x02\x02\x12\x04\xf6\x03\x02=\n\r\n\x05\x04$\x02\x02\x06\x12\x04\xf6\x03\x02+\n\r\n\x05\x04$\x02\x02\x01\x12\x04\xf6\x03,8\n\r\n\x05\x04$\x02\x02\x03\x12\x04\xf6\x03;<\n\x0c\n\x02\x04%\x12\x06\xf9\x03\x00\xfe\x03\x01\n\x0b\n\x03\x04%\x01\x12\x04\xf9\x03\x08\x1c\nX\n\x04\x04%\x02\x00\x12\x04\xfb\x03\x02\x1a\x1aJ If present, only return arb executions occurring after the given height.\n\n\r\n\x05\x04%\x02\x00\x05\x12\x04\xfb\x03\x02\x08\n\r\n\x05\x04%\x02\x00\x01\x12\x04\xfb\x03\t\x15\n\r\n\x05\x04%\x02\x00\x03\x12\x04\xfb\x03\x18\x19\nY\n\x04\x04%\x02\x01\x12\x04\xfd\x03\x02\x18\x1aK If present, only return arb executions occurring before the given height.\n\n\r\n\x05\x04%\x02\x01\x05\x12\x04\xfd\x03\x02\x08\n\r\n\x05\x04%\x02\x01\x01\x12\x04\xfd\x03\t\x13\n\r\n\x05\x04%\x02\x01\x03\x12\x04\xfd\x03\x16\x17\n\x0c\n\x02\x04&\x12\x06\x80\x04\x00\x83\x04\x01\n\x0b\n\x03\x04&\x01\x12\x04\x80\x04\x08\x1d\n\x0c\n\x04\x04&\x02\x00\x12\x04\x81\x04\x029\n\r\n\x05\x04&\x02\x00\x06\x12\x04\x81\x04\x02%\n\r\n\x05\x04&\x02\x00\x01\x12\x04\x81\x04&4\n\r\n\x05\x04&\x02\x00\x03\x12\x04\x81\x0478\n\x0c\n\x04\x04&\x02\x01\x12\x04\x82\x04\x02\x14\n\r\n\x05\x04&\x02\x01\x05\x12\x04\x82\x04\x02\x08\n\r\n\x05\x04&\x02\x01\x01\x12\x04\x82\x04\t\x0f\n\r\n\x05\x04&\x02\x01\x03\x12\x04\x82\x04\x12\x13\n\x0c\n\x02\x04\'\x12\x06\x85\x04\x00\x88\x04\x01\n\x0b\n\x03\x04\'\x01\x12\x04\x85\x04\x08!\n@\n\x04\x04\'\x02\x00\x12\x04\x87\x04\x02\x1a\x1a2 If true, include closed and withdrawn positions.\n\n\r\n\x05\x04\'\x02\x00\x05\x12\x04\x87\x04\x02\x06\n\r\n\x05\x04\'\x02\x00\x01\x12\x04\x87\x04\x07\x15\n\r\n\x05\x04\'\x02\x00\x03\x12\x04\x87\x04\x18\x19\n\x0c\n\x02\x04(\x12\x06\x8a\x04\x00\x8c\x04\x01\n\x0b\n\x03\x04(\x01\x12\x04\x8a\x04\x08\"\n\x0c\n\x04\x04(\x02\x00\x12\x04\x8b\x04\x02*\n\r\n\x05\x04(\x02\x00\x06\x12\x04\x8b\x04\x02 \n\r\n\x05\x04(\x02\x00\x01\x12\x04\x8b\x04!%\n\r\n\x05\x04(\x02\x00\x03\x12\x04\x8b\x04()\n\x0c\n\x02\x04)\x12\x06\x8e\x04\x00\x90\x04\x01\n\x0b\n\x03\x04)\x01\x12\x04\x8e\x04\x08$\n\x0c\n\x04\x04)\x02\x00\x12\x04\x8f\x04\x023\n\r\n\x05\x04)\x02\x00\x06\x12\x04\x8f\x04\x02\"\n\r\n\x05\x04)\x02\x00\x01\x12\x04\x8f\x04#.\n\r\n\x05\x04)\x02\x00\x03\x12\x04\x8f\x0412\n\x0c\n\x02\x04*\x12\x06\x92\x04\x00\x94\x04\x01\n\x0b\n\x03\x04*\x01\x12\x04\x92\x04\x08%\n\x0c\n\x04\x04*\x02\x00\x12\x04\x93\x04\x02*\n\r\n\x05\x04*\x02\x00\x06\x12\x04\x93\x04\x02 \n\r\n\x05\x04*\x02\x00\x01\x12\x04\x93\x04!%\n\r\n\x05\x04*\x02\x00\x03\x12\x04\x93\x04()\n\x0c\n\x02\x04+\x12\x06\x96\x04\x00\x98\x04\x01\n\x0b\n\x03\x04+\x01\x12\x04\x96\x04\x08%\n\x0c\n\x04\x04+\x02\x00\x12\x04\x97\x04\x02<\n\r\n\x05\x04+\x02\x00\x04\x12\x04\x97\x04\x02\n\n\r\n\x05\x04+\x02\x00\x06\x12\x04\x97\x04\x0b+\n\r\n\x05\x04+\x02\x00\x01\x12\x04\x97\x04,7\n\r\n\x05\x04+\x02\x00\x03\x12\x04\x97\x04:;\n\x0c\n\x02\x04,\x12\x06\x9a\x04\x00\x9c\x04\x01\n\x0b\n\x03\x04,\x01\x12\x04\x9a\x04\x08&\n\x0c\n\x04\x04,\x02\x00\x12\x04\x9b\x04\x02*\n\r\n\x05\x04,\x02\x00\x06\x12\x04\x9b\x04\x02 \n\r\n\x05\x04,\x02\x00\x01\x12\x04\x9b\x04!%\n\r\n\x05\x04,\x02\x00\x03\x12\x04\x9b\x04()\n\x0c\n\x02\x04-\x12\x06\x9e\x04\x00\xa3\x04\x01\n\x0b\n\x03\x04-\x01\x12\x04\x9e\x04\x08(\nB\n\x04\x04-\x02\x00\x12\x04\xa0\x04\x02=\x1a4 The directed trading pair to request positions for\n\n\r\n\x05\x04-\x02\x00\x06\x12\x04\xa0\x04\x02+\n\r\n\x05\x04-\x02\x00\x01\x12\x04\xa0\x04,8\n\r\n\x05\x04-\x02\x00\x03\x12\x04\xa0\x04;<\n:\n\x04\x04-\x02\x01\x12\x04\xa2\x04\x02\x13\x1a, The maximum number of positions to return.\n\n\r\n\x05\x04-\x02\x01\x05\x12\x04\xa2\x04\x02\x08\n\r\n\x05\x04-\x02\x01\x01\x12\x04\xa2\x04\t\x0e\n\r\n\x05\x04-\x02\x01\x03\x12\x04\xa2\x04\x11\x12\n\x0c\n\x02\x04.\x12\x06\xa5\x04\x00\xa7\x04\x01\n\x0b\n\x03\x04.\x01\x12\x04\xa5\x04\x08)\n\x0c\n\x04\x04.\x02\x00\x12\x04\xa6\x04\x02*\n\r\n\x05\x04.\x02\x00\x06\x12\x04\xa6\x04\x02 \n\r\n\x05\x04.\x02\x00\x01\x12\x04\xa6\x04!%\n\r\n\x05\x04.\x02\x00\x03\x12\x04\xa6\x04()\n\x0c\n\x02\x04/\x12\x06\xa9\x04\x00\xab\x04\x01\n\x0b\n\x03\x04/\x01\x12\x04\xa9\x04\x08\x15\n\x0c\n\x04\x04/\x02\x00\x12\x04\xaa\x04\x025\n\r\n\x05\x04/\x02\x00\x06\x12\x04\xaa\x04\x02#\n\r\n\x05\x04/\x02\x00\x01\x12\x04\xaa\x04$0\n\r\n\x05\x04/\x02\x00\x03\x12\x04\xaa\x0434\n\x0c\n\x02\x040\x12\x06\xad\x04\x00\xb6\x04\x01\n\x0b\n\x03\x040\x01\x12\x04\xad\x04\x08\x16\n6\n\x04\x040\x02\x00\x12\x04\xaf\x04\x02:\x1a( The best position when trading 1 => 2.\n\n\r\n\x05\x040\x02\x00\x06\x12\x04\xaf\x04\x02 \n\r\n\x05\x040\x02\x00\x01\x12\x04\xaf\x04!5\n\r\n\x05\x040\x02\x00\x03\x12\x04\xaf\x0489\n6\n\x04\x040\x02\x01\x12\x04\xb1\x04\x02:\x1a( The best position when trading 2 => 1.\n\n\r\n\x05\x040\x02\x01\x06\x12\x04\xb1\x04\x02 \n\r\n\x05\x040\x02\x01\x01\x12\x04\xb1\x04!5\n\r\n\x05\x040\x02\x01\x03\x12\x04\xb1\x0489\nL\n\x04\x040\x02\x02\x12\x04\xb3\x04\x02+\x1a> An approximation of the effective price when trading 1 => 2.\n\n\r\n\x05\x040\x02\x02\x05\x12\x04\xb3\x04\x02\x08\n\r\n\x05\x040\x02\x02\x01\x12\x04\xb3\x04\t&\n\r\n\x05\x040\x02\x02\x03\x12\x04\xb3\x04)*\nL\n\x04\x040\x02\x03\x12\x04\xb5\x04\x02+\x1a> An approximation of the effective price when trading 2 => 1.\n\n\r\n\x05\x040\x02\x03\x05\x12\x04\xb5\x04\x02\x08\n\r\n\x05\x040\x02\x03\x01\x12\x04\xb5\x04\t&\n\r\n\x05\x040\x02\x03\x03\x12\x04\xb5\x04)*\n\x0c\n\x02\x041\x12\x06\xb8\x04\x00\xc6\x04\x01\n\x0b\n\x03\x041\x01\x12\x04\xb8\x04\x08\x1c\n\x0e\n\x04\x041\x03\x00\x12\x06\xb9\x04\x02\xc1\x04\x03\n\r\n\x05\x041\x03\x00\x01\x12\x04\xb9\x04\n\x11\n\x10\n\x06\x041\x03\x00\x08\x00\x12\x06\xba\x04\x04\xbd\x04\x05\n\x0f\n\x07\x041\x03\x00\x08\x00\x01\x12\x04\xba\x04\n\x11\n\x0e\n\x06\x041\x03\x00\x02\x00\x12\x04\xbb\x04\x06\x1a\n\x0f\n\x07\x041\x03\x00\x02\x00\x06\x12\x04\xbb\x04\x06\r\n\x0f\n\x07\x041\x03\x00\x02\x00\x01\x12\x04\xbb\x04\x0e\x15\n\x0f\n\x07\x041\x03\x00\x02\x00\x03\x12\x04\xbb\x04\x18\x19\n\x0e\n\x06\x041\x03\x00\x02\x01\x12\x04\xbc\x04\x06\x1f\n\x0f\n\x07\x041\x03\x00\x02\x01\x06\x12\x04\xbc\x04\x06\x0f\n\x0f\n\x07\x041\x03\x00\x02\x01\x01\x12\x04\xbc\x04\x10\x1a\n\x0f\n\x07\x041\x03\x00\x02\x01\x03\x12\x04\xbc\x04\x1d\x1e\n\x0e\n\x06\x041\x03\x00\x03\x00\x12\x04\xbf\x04\x04\x18\n\x0f\n\x07\x041\x03\x00\x03\x00\x01\x12\x04\xbf\x04\x0c\x15\n\x0e\n\x06\x041\x03\x00\x03\x01\x12\x04\xc0\x04\x04\x16\n\x0f\n\x07\x041\x03\x00\x03\x01\x01\x12\x04\xc0\x04\x0c\x13\n\x0c\n\x04\x041\x02\x00\x12\x04\xc3\x04\x02 \n\r\n\x05\x041\x02\x00\x06\x12\x04\xc3\x04\x02\x15\n\r\n\x05\x041\x02\x00\x01\x12\x04\xc3\x04\x16\x1b\n\r\n\x05\x041\x02\x00\x03\x12\x04\xc3\x04\x1e\x1f\n\x0c\n\x04\x041\x02\x01\x12\x04\xc4\x04\x02#\n\r\n\x05\x041\x02\x01\x06\x12\x04\xc4\x04\x02\x17\n\r\n\x05\x041\x02\x01\x01\x12\x04\xc4\x04\x18\x1e\n\r\n\x05\x041\x02\x01\x03\x12\x04\xc4\x04!\"\n\x0c\n\x04\x041\x02\x02\x12\x04\xc5\x04\x02\x16\n\r\n\x05\x041\x02\x02\x06\x12\x04\xc5\x04\x02\t\n\r\n\x05\x041\x02\x02\x01\x12\x04\xc5\x04\n\x11\n\r\n\x05\x041\x02\x02\x03\x12\x04\xc5\x04\x14\x15\n\x0c\n\x02\x042\x12\x06\xc8\x04\x00\xcc\x04\x01\n\x0b\n\x03\x042\x01\x12\x04\xc8\x04\x08\x1d\n\x0c\n\x04\x042\x02\x00\x12\x04\xc9\x04\x021\n\r\n\x05\x042\x02\x00\x06\x12\x04\xc9\x04\x02%\n\r\n\x05\x042\x02\x00\x01\x12\x04\xc9\x04&,\n\r\n\x05\x042\x02\x00\x03\x12\x04\xc9\x04/0\nP\n\x04\x042\x02\x01\x12\x04\xcb\x04\x02\x1e\x1aB Estimated input amount that will not be swapped due to liquidity\n\n\r\n\x05\x042\x02\x01\x06\x12\x04\xcb\x04\x02\x10\n\r\n\x05\x042\x02\x01\x01\x12\x04\xcb\x04\x11\x19\n\r\n\x05\x042\x02\x01\x03\x12\x04\xcb\x04\x1c\x1d\n\x0c\n\x02\x043\x12\x06\xce\x04\x00\xd7\x04\x01\n\x0b\n\x03\x043\x01\x12\x04\xce\x04\x08\x11\n)\n\x04\x043\x02\x00\x12\x04\xd0\x04\x02\x1f\x1a\x1b The trading pair to swap.\n\n\r\n\x05\x043\x02\x00\x06\x12\x04\xd0\x04\x02\r\n\r\n\x05\x043\x02\x00\x01\x12\x04\xd0\x04\x0e\x1a\n\r\n\x05\x043\x02\x00\x03\x12\x04\xd0\x04\x1d\x1e\n\'\n\x04\x043\x02\x01\x12\x04\xd2\x04\x02\x1e\x1a\x19 The amount for asset 1.\n\n\r\n\x05\x043\x02\x01\x06\x12\x04\xd2\x04\x02\x0f\n\r\n\x05\x043\x02\x01\x01\x12\x04\xd2\x04\x10\x19\n\r\n\x05\x043\x02\x01\x03\x12\x04\xd2\x04\x1c\x1d\n\'\n\x04\x043\x02\x02\x12\x04\xd4\x04\x02\x1e\x1a\x19 The amount for asset 2.\n\n\r\n\x05\x043\x02\x02\x06\x12\x04\xd4\x04\x02\x0f\n\r\n\x05\x043\x02\x02\x01\x12\x04\xd4\x04\x10\x19\n\r\n\x05\x043\x02\x02\x03\x12\x04\xd4\x04\x1c\x1d\n$\n\x04\x043\x02\x03\x12\x04\xd6\x04\x024\x1a\x16 The swap commitment.\n\n\r\n\x05\x043\x02\x03\x06\x12\x04\xd6\x04\x02\x1f\n\r\n\x05\x043\x02\x03\x01\x12\x04\xd6\x04 /\n\r\n\x05\x043\x02\x03\x03\x12\x04\xd6\x0423\n\x0c\n\x02\x044\x12\x06\xd9\x04\x00\xe2\x04\x01\n\x0b\n\x03\x044\x01\x12\x04\xd9\x04\x08\x16\nC\n\x04\x044\x02\x00\x12\x04\xdb\x04\x02\x1f\x1a5 The trading pair that is subject of the swap claim.\n\n\r\n\x05\x044\x02\x00\x06\x12\x04\xdb\x04\x02\r\n\r\n\x05\x044\x02\x00\x01\x12\x04\xdb\x04\x0e\x1a\n\r\n\x05\x044\x02\x00\x03\x12\x04\xdb\x04\x1d\x1e\n4\n\x04\x044\x02\x01\x12\x04\xdd\x04\x028\x1a& Note commitment for the first asset.\n\n\r\n\x05\x044\x02\x01\x06\x12\x04\xdd\x04\x02\x1f\n\r\n\x05\x044\x02\x01\x01\x12\x04\xdd\x04 3\n\r\n\x05\x044\x02\x01\x03\x12\x04\xdd\x0467\n5\n\x04\x044\x02\x02\x12\x04\xdf\x04\x028\x1a\' Note commitment for the second asset.\n\n\r\n\x05\x044\x02\x02\x06\x12\x04\xdf\x04\x02\x1f\n\r\n\x05\x044\x02\x02\x01\x12\x04\xdf\x04 3\n\r\n\x05\x044\x02\x02\x03\x12\x04\xdf\x0467\n6\n\x04\x044\x02\x03\x12\x04\xe1\x04\x02+\x1a( The nullifier for the swap commitment.\n\n\r\n\x05\x044\x02\x03\x06\x12\x04\xe1\x04\x02\x1c\n\r\n\x05\x044\x02\x03\x01\x12\x04\xe1\x04\x1d&\n\r\n\x05\x044\x02\x03\x03\x12\x04\xe1\x04)*\n\x0c\n\x02\x045\x12\x06\xe4\x04\x00\xf0\x04\x01\n\x0b\n\x03\x045\x01\x12\x04\xe4\x04\x08\x19\n\x1c\n\x04\x045\x02\x00\x12\x04\xe6\x04\x02\x1d\x1a\x0e Position ID.\n\n\r\n\x05\x045\x02\x00\x06\x12\x04\xe6\x04\x02\x0c\n\r\n\x05\x045\x02\x00\x01\x12\x04\xe6\x04\r\x18\n\r\n\x05\x045\x02\x00\x03\x12\x04\xe6\x04\x1b\x1c\n)\n\x04\x045\x02\x01\x12\x04\xe8\x04\x02\x1f\x1a\x1b The trading pair to open.\n\n\r\n\x05\x045\x02\x01\x06\x12\x04\xe8\x04\x02\r\n\r\n\x05\x045\x02\x01\x01\x12\x04\xe8\x04\x0e\x1a\n\r\n\x05\x045\x02\x01\x03\x12\x04\xe8\x04\x1d\x1e\n\'\n\x04\x045\x02\x02\x12\x04\xea\x04\x02\x1f\x1a\x19 The amount for asset 1.\n\n\r\n\x05\x045\x02\x02\x06\x12\x04\xea\x04\x02\x0f\n\r\n\x05\x045\x02\x02\x01\x12\x04\xea\x04\x10\x1a\n\r\n\x05\x045\x02\x02\x03\x12\x04\xea\x04\x1d\x1e\n\'\n\x04\x045\x02\x03\x12\x04\xec\x04\x02\x1f\x1a\x19 The amount for asset 2.\n\n\r\n\x05\x045\x02\x03\x06\x12\x04\xec\x04\x02\x0f\n\r\n\x05\x045\x02\x03\x01\x12\x04\xec\x04\x10\x1a\n\r\n\x05\x045\x02\x03\x03\x12\x04\xec\x04\x1d\x1e\n\x8f\x01\n\x04\x045\x02\x04\x12\x04\xef\x04\x02\x19\x1a\x80\x01 The trading fee for the position, expressed in basis points.\n e.g. 2% fee is expressed as 200, 100% fee is expressed as 10000;\n\n\r\n\x05\x045\x02\x04\x05\x12\x04\xef\x04\x02\x08\n\r\n\x05\x045\x02\x04\x01\x12\x04\xef\x04\t\x14\n\r\n\x05\x045\x02\x04\x03\x12\x04\xef\x04\x17\x18\n\x0c\n\x02\x046\x12\x06\xf2\x04\x00\xf5\x04\x01\n\x0b\n\x03\x046\x01\x12\x04\xf2\x04\x08\x1a\n-\n\x04\x046\x02\x00\x12\x04\xf4\x04\x02\x1d\x1a\x1f The ID of the closed position\n\n\r\n\x05\x046\x02\x00\x06\x12\x04\xf4\x04\x02\x0c\n\r\n\x05\x046\x02\x00\x01\x12\x04\xf4\x04\r\x18\n\r\n\x05\x046\x02\x00\x03\x12\x04\xf4\x04\x1b\x1c\n\x0c\n\x02\x047\x12\x06\xf7\x04\x00\x82\x05\x01\n\x0b\n\x03\x047\x01\x12\x04\xf7\x04\x08\x1d\n1\n\x04\x047\x02\x00\x12\x04\xf9\x04\x02\x1d\x1a# The ID of the withdrawn position.\n\n\r\n\x05\x047\x02\x00\x06\x12\x04\xf9\x04\x02\x0c\n\r\n\x05\x047\x02\x00\x01\x12\x04\xf9\x04\r\x18\n\r\n\x05\x047\x02\x00\x03\x12\x04\xf9\x04\x1b\x1c\n;\n\x04\x047\x02\x01\x12\x04\xfb\x04\x02\x1f\x1a- The trading pair of the withdrawn position.\n\n\r\n\x05\x047\x02\x01\x06\x12\x04\xfb\x04\x02\r\n\r\n\x05\x047\x02\x01\x01\x12\x04\xfb\x04\x0e\x1a\n\r\n\x05\x047\x02\x01\x03\x12\x04\xfb\x04\x1d\x1e\nB\n\x04\x047\x02\x02\x12\x04\xfd\x04\x02\x1f\x1a4 The reserves of asset 1 of the withdrawn position.\n\n\r\n\x05\x047\x02\x02\x06\x12\x04\xfd\x04\x02\x0f\n\r\n\x05\x047\x02\x02\x01\x12\x04\xfd\x04\x10\x1a\n\r\n\x05\x047\x02\x02\x03\x12\x04\xfd\x04\x1d\x1e\nB\n\x04\x047\x02\x03\x12\x04\xff\x04\x02\x1f\x1a4 The reserves of asset 2 of the withdrawn position.\n\n\r\n\x05\x047\x02\x03\x06\x12\x04\xff\x04\x02\x0f\n\r\n\x05\x047\x02\x03\x01\x12\x04\xff\x04\x10\x1a\n\r\n\x05\x047\x02\x03\x03\x12\x04\xff\x04\x1d\x1e\n6\n\x04\x047\x02\x04\x12\x04\x81\x05\x02\x16\x1a( The sequence number of the withdrawal.\n\n\r\n\x05\x047\x02\x04\x05\x12\x04\x81\x05\x02\x08\n\r\n\x05\x047\x02\x04\x01\x12\x04\x81\x05\t\x11\n\r\n\x05\x047\x02\x04\x03\x12\x04\x81\x05\x14\x15\n\x0c\n\x02\x048\x12\x06\x84\x05\x00\x93\x05\x01\n\x0b\n\x03\x048\x01\x12\x04\x84\x05\x08\x1e\n8\n\x04\x048\x02\x00\x12\x04\x86\x05\x02\x1d\x1a* The ID of the position executed against.\n\n\r\n\x05\x048\x02\x00\x06\x12\x04\x86\x05\x02\x0c\n\r\n\x05\x048\x02\x00\x01\x12\x04\x86\x05\r\x18\n\r\n\x05\x048\x02\x00\x03\x12\x04\x86\x05\x1b\x1c\nB\n\x04\x048\x02\x01\x12\x04\x88\x05\x02\x1f\x1a4 The trading pair of the position executed against.\n\n\r\n\x05\x048\x02\x01\x06\x12\x04\x88\x05\x02\r\n\r\n\x05\x048\x02\x01\x01\x12\x04\x88\x05\x0e\x1a\n\r\n\x05\x048\x02\x01\x03\x12\x04\x88\x05\x1d\x1e\nH\n\x04\x048\x02\x02\x12\x04\x8a\x05\x02\x1f\x1a: The reserves of asset 1 of the position after execution.\n\n\r\n\x05\x048\x02\x02\x06\x12\x04\x8a\x05\x02\x0f\n\r\n\x05\x048\x02\x02\x01\x12\x04\x8a\x05\x10\x1a\n\r\n\x05\x048\x02\x02\x03\x12\x04\x8a\x05\x1d\x1e\nH\n\x04\x048\x02\x03\x12\x04\x8c\x05\x02\x1f\x1a: The reserves of asset 2 of the position after execution.\n\n\r\n\x05\x048\x02\x03\x06\x12\x04\x8c\x05\x02\x0f\n\r\n\x05\x048\x02\x03\x01\x12\x04\x8c\x05\x10\x1a\n\r\n\x05\x048\x02\x03\x03\x12\x04\x8c\x05\x1d\x1e\nI\n\x04\x048\x02\x04\x12\x04\x8e\x05\x02$\x1a; The reserves of asset 1 of the position before execution.\n\n\r\n\x05\x048\x02\x04\x06\x12\x04\x8e\x05\x02\x0f\n\r\n\x05\x048\x02\x04\x01\x12\x04\x8e\x05\x10\x1f\n\r\n\x05\x048\x02\x04\x03\x12\x04\x8e\x05\"#\nI\n\x04\x048\x02\x05\x12\x04\x90\x05\x02$\x1a; The reserves of asset 2 of the position before execution.\n\n\r\n\x05\x048\x02\x05\x06\x12\x04\x90\x05\x02\x0f\n\r\n\x05\x048\x02\x05\x01\x12\x04\x90\x05\x10\x1f\n\r\n\x05\x048\x02\x05\x03\x12\x04\x90\x05\"#\nX\n\x04\x048\x02\x06\x12\x04\x92\x05\x02\"\x1aJ Context: the end-to-end route that was being traversed during execution.\n\n\r\n\x05\x048\x02\x06\x06\x12\x04\x92\x05\x02\x15\n\r\n\x05\x048\x02\x06\x01\x12\x04\x92\x05\x16\x1d\n\r\n\x05\x048\x02\x06\x03\x12\x04\x92\x05 !\n\x0c\n\x02\x049\x12\x06\x95\x05\x00\x9c\x05\x01\n\x0b\n\x03\x049\x01\x12\x04\x95\x05\x08\x16\nQ\n\x04\x049\x02\x00\x12\x04\x97\x05\x021\x1aC The BatchSwapOutputData containing the results of the batch swap.\n\n\r\n\x05\x049\x02\x00\x06\x12\x04\x97\x05\x02\x15\n\r\n\x05\x049\x02\x00\x01\x12\x04\x97\x05\x16,\n\r\n\x05\x049\x02\x00\x03\x12\x04\x97\x05/0\nS\n\x04\x049\x02\x01\x12\x04\x99\x05\x02+\x1aE The record of execution for the batch swap in the 1 -> 2 direction.\n\n\r\n\x05\x049\x02\x01\x06\x12\x04\x99\x05\x02\x0f\n\r\n\x05\x049\x02\x01\x01\x12\x04\x99\x05\x10&\n\r\n\x05\x049\x02\x01\x03\x12\x04\x99\x05)*\nS\n\x04\x049\x02\x02\x12\x04\x9b\x05\x02+\x1aE The record of execution for the batch swap in the 2 -> 1 direction.\n\n\r\n\x05\x049\x02\x02\x06\x12\x04\x9b\x05\x02\x0f\n\r\n\x05\x049\x02\x02\x01\x12\x04\x9b\x05\x10&\n\r\n\x05\x049\x02\x02\x03\x12\x04\x9b\x05)*\n\x0c\n\x02\x04:\x12\x06\x9e\x05\x00\xa3\x05\x01\n\x0b\n\x03\x04:\x01\x12\x04\x9e\x05\x08\x19\n?\n\x04\x04:\x02\x00\x12\x04\xa0\x05\x02\x14\x1a1 The height at which the arb execution occurred.\n\n\r\n\x05\x04:\x02\x00\x05\x12\x04\xa0\x05\x02\x08\n\r\n\x05\x04:\x02\x00\x01\x12\x04\xa0\x05\t\x0f\n\r\n\x05\x04:\x02\x00\x03\x12\x04\xa0\x05\x12\x13\n>\n\x04\x04:\x02\x01\x12\x04\xa2\x05\x02#\x1a0 The record of execution for the arb execution.\n\n\r\n\x05\x04:\x02\x01\x06\x12\x04\xa2\x05\x02\x0f\n\r\n\x05\x04:\x02\x01\x01\x12\x04\xa2\x05\x10\x1e\n\r\n\x05\x04:\x02\x01\x03\x12\x04\xa2\x05!\"\n:\n\x02\x04;\x12\x06\xa6\x05\x00\xad\x05\x01\x1a, Indicates that value was added to the DEX.\n\n\x0b\n\x03\x04;\x01\x12\x04\xa6\x05\x08&\n:\n\x04\x04;\x02\x00\x12\x04\xa8\x05\x02 \x1a, The asset ID being deposited into the DEX.\n\n\r\n\x05\x04;\x02\x00\x06\x12\x04\xa8\x05\x02\x12\n\r\n\x05\x04;\x02\x00\x01\x12\x04\xa8\x05\x13\x1b\n\r\n\x05\x04;\x02\x00\x03\x12\x04\xa8\x05\x1e\x1f\n=\n\x04\x04;\x02\x01\x12\x04\xaa\x05\x02%\x1a/ The previous balance of the asset in the DEX.\n\n\r\n\x05\x04;\x02\x01\x06\x12\x04\xaa\x05\x02\x0f\n\r\n\x05\x04;\x02\x01\x01\x12\x04\xaa\x05\x10 \n\r\n\x05\x04;\x02\x01\x03\x12\x04\xaa\x05#$\n8\n\x04\x04;\x02\x02\x12\x04\xac\x05\x02 \x1a* The new balance of the asset in the DEX.\n\n\r\n\x05\x04;\x02\x02\x06\x12\x04\xac\x05\x02\x0f\n\r\n\x05\x04;\x02\x02\x01\x12\x04\xac\x05\x10\x1b\n\r\n\x05\x04;\x02\x02\x03\x12\x04\xac\x05\x1e\x1f\n8\n\x02\x04<\x12\x06\xb0\x05\x00\xb7\x05\x01\x1a* Indicates that value is leaving the DEX.\n\n\x0b\n\x03\x04<\x01\x12\x04\xb0\x05\x08%\n:\n\x04\x04<\x02\x00\x12\x04\xb2\x05\x02 \x1a, The asset ID being deposited into the DEX.\n\n\r\n\x05\x04<\x02\x00\x06\x12\x04\xb2\x05\x02\x12\n\r\n\x05\x04<\x02\x00\x01\x12\x04\xb2\x05\x13\x1b\n\r\n\x05\x04<\x02\x00\x03\x12\x04\xb2\x05\x1e\x1f\n=\n\x04\x04<\x02\x01\x12\x04\xb4\x05\x02%\x1a/ The previous balance of the asset in the DEX.\n\n\r\n\x05\x04<\x02\x01\x06\x12\x04\xb4\x05\x02\x0f\n\r\n\x05\x04<\x02\x01\x01\x12\x04\xb4\x05\x10 \n\r\n\x05\x04<\x02\x01\x03\x12\x04\xb4\x05#$\n8\n\x04\x04<\x02\x02\x12\x04\xb6\x05\x02 \x1a* The new balance of the asset in the DEX.\n\n\r\n\x05\x04<\x02\x02\x06\x12\x04\xb6\x05\x02\x0f\n\r\n\x05\x04<\x02\x02\x01\x12\x04\xb6\x05\x10\x1b\n\r\n\x05\x04<\x02\x02\x03\x12\x04\xb6\x05\x1e\x1f\n\x0c\n\x02\x04=\x12\x06\xb9\x05\x00\xc4\x05\x01\n\x0b\n\x03\x04=\x01\x12\x04\xb9\x05\x08\x15\n2\n\x04\x04=\x02\x00\x12\x04\xbb\x05\x02\x16\x1a$ Whether or not the DEX is enabled.\n\n\r\n\x05\x04=\x02\x00\x05\x12\x04\xbb\x05\x02\x06\n\r\n\x05\x04=\x02\x00\x01\x12\x04\xbb\x05\x07\x11\n\r\n\x05\x04=\x02\x00\x03\x12\x04\xbb\x05\x14\x15\n9\n\x04\x04=\x02\x01\x12\x04\xbd\x05\x021\x1a+ The list of fixed candidates for routing.\n\n\r\n\x05\x04=\x02\x01\x04\x12\x04\xbd\x05\x02\n\n\r\n\x05\x04=\x02\x01\x06\x12\x04\xbd\x05\x0b\x1b\n\r\n\x05\x04=\x02\x01\x01\x12\x04\xbd\x05\x1c,\n\r\n\x05\x04=\x02\x01\x03\x12\x04\xbd\x05/0\nI\n\x04\x04=\x02\x02\x12\x04\xbf\x05\x02\x16\x1a; The number of hops to traverse while routing from A to B.\n\n\r\n\x05\x04=\x02\x02\x05\x12\x04\xbf\x05\x02\x08\n\r\n\x05\x04=\x02\x02\x01\x12\x04\xbf\x05\t\x11\n\r\n\x05\x04=\x02\x02\x03\x12\x04\xbf\x05\x14\x15\n\x9d\x01\n\x04\x04=\x02\x03\x12\x04\xc3\x05\x02$\x1a\x8e\x01 The maximum number of positions per trading pair.\n If this number is exceeded, positions with the least\n inventory get evicted from the DEX.\n\n\r\n\x05\x04=\x02\x03\x05\x12\x04\xc3\x05\x02\x08\n\r\n\x05\x04=\x02\x03\x01\x12\x04\xc3\x05\t\x1f\n\r\n\x05\x04=\x02\x03\x03\x12\x04\xc3\x05\"#\n\x0c\n\x02\x04>\x12\x06\xc6\x05\x00\xc9\x05\x01\n\x0b\n\x03\x04>\x01\x12\x04\xc6\x05\x08\x16\n3\n\x04\x04>\x02\x00\x12\x04\xc8\x05\x02\x1f\x1a% The initial parameters for the DEX.\n\n\r\n\x05\x04>\x02\x00\x06\x12\x04\xc8\x05\x02\x0f\n\r\n\x05\x04>\x02\x00\x01\x12\x04\xc8\x05\x10\x1a\n\r\n\x05\x04>\x02\x00\x03\x12\x04\xc8\x05\x1d\x1eb\x06proto3\n\x91\x05\n<penumbra/core/component/distributions/v1/distributions.proto\x12(penumbra.core.component.distributions.v1\"V\n\x17DistributionsParameters\x12;\n\x1astaking_issuance_per_block\x18\x01 \x01(\x04R\x17stakingIssuancePerBlock\"\x86\x01\n\x0eGenesisContent\x12t\n\x14distributions_params\x18\x01 \x01(\x0b2A.penumbra.core.component.distributions.v1.DistributionsParametersR\x13distributionsParamsJ\xbd\x02\n\x06\x12\x04\x00\x00\x0c\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x001\n.\n\x02\x04\x00\x12\x04\x04\x00\x07\x01\x1a\" Distribution configuration data.\n\n\n\n\x03\x04\x00\x01\x12\x03\x04\x08\x1f\n<\n\x04\x04\x00\x02\x00\x12\x03\x06\x02(\x1a/ The amount of staking token issued per block.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x06\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x06\t#\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x06&\'\n8\n\x02\x04\x01\x12\x04\n\x00\x0c\x01\x1a, Genesis data for the distributions module.\n\n\n\n\x03\x04\x01\x01\x12\x03\n\x08\x16\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x0b\x023\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x0b\x02\x19\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0b\x1a.\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0b12b\x06proto3\n\xbc\x03\n0penumbra/core/component/funding/v1/funding.proto\x12\"penumbra.core.component.funding.v1\"\x13\n\x11FundingParameters\"n\n\x0eGenesisContent\x12\\\n\x0efunding_params\x18\x01 \x01(\x0b25.penumbra.core.component.funding.v1.FundingParametersR\rfundingParamsJ\xd6\x01\n\x06\x12\x04\x00\x00\t\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00+\n2\n\x02\x04\x00\x12\x03\x04\x00\x1c\x1a\' Funding component configuration data.\n\n\n\n\x03\x04\x00\x01\x12\x03\x04\x08\x19\n5\n\x02\x04\x01\x12\x04\x07\x00\t\x01\x1a) Genesis data for the funding component.\n\n\n\n\x03\x04\x01\x01\x12\x03\x07\x08\x16\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x08\x02\'\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x08\x02\x13\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x08\x14\"\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x08%&b\x06proto3\n\xe4\x8e\x04\n google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"M\n\x11FileDescriptorSet\x128\n\x04file\x18\x01 \x03(\x0b2$.google.protobuf.FileDescriptorProtoR\x04file\"\x98\x05\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\x122\n\x07edition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\x07edition\"\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\"\xcc\x04\n\x15ExtensionRangeOptions\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\x12Y\n\x0bdeclaration\x18\x02 \x03(\x0b22.google.protobuf.ExtensionRangeOptions.DeclarationB\x03\x88\x01\x02R\x0bdeclaration\x127\n\x08features\x182 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12m\n\x0cverification\x18\x03 \x01(\x0e28.google.protobuf.ExtensionRangeOptions.VerificationState:\nUNVERIFIEDB\x03\x88\x01\x02R\x0cverification\x1a\x94\x01\n\x0bDeclaration\x12\x16\n\x06number\x18\x01 \x01(\x05R\x06number\x12\x1b\n\tfull_name\x18\x02 \x01(\tR\x08fullName\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x1a\n\x08reserved\x18\x05 \x01(\x08R\x08reserved\x12\x1a\n\x08repeated\x18\x06 \x01(\x08R\x08repeatedJ\x04\x08\x04\x10\x05\"4\n\x11VerificationState\x12\x0f\n\x0bDECLARATION\x10\x00\x12\x0e\n\nUNVERIFIED\x10\x01*\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_REPEATED\x10\x03\x12\x12\n\x0eLABEL_REQUIRED\x10\x02\"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\"\x97\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\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\x127\n\x08features\x182 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\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+J\x04\x08&\x10\'\"\xf4\x03\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\x12V\n&deprecated_legacy_json_field_conflicts\x18\x0b \x01(\x08B\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n\x08features\x18\x0c \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\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\"\xad\n\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\x12(\n\x0cdebug_redact\x18\x10 \x01(\x08:\x05falseR\x0bdebugRedact\x12K\n\tretention\x18\x11 \x01(\x0e2-.google.protobuf.FieldOptions.OptionRetentionR\tretention\x12H\n\x07targets\x18\x13 \x03(\x0e2..google.protobuf.FieldOptions.OptionTargetTypeR\x07targets\x12W\n\x10edition_defaults\x18\x14 \x03(\x0b2,.google.protobuf.FieldOptions.EditionDefaultR\x0feditionDefaults\x127\n\x08features\x18\x15 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption\x1aZ\n\x0eEditionDefault\x122\n\x07edition\x18\x03 \x01(\x0e2\x18.google.protobuf.EditionR\x07edition\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value\"/\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\"U\n\x0fOptionRetention\x12\x15\n\x11RETENTION_UNKNOWN\x10\x00\x12\x15\n\x11RETENTION_RUNTIME\x10\x01\x12\x14\n\x10RETENTION_SOURCE\x10\x02\"\x8c\x02\n\x10OptionTargetType\x12\x17\n\x13TARGET_TYPE_UNKNOWN\x10\x00\x12\x14\n\x10TARGET_TYPE_FILE\x10\x01\x12\x1f\n\x1bTARGET_TYPE_EXTENSION_RANGE\x10\x02\x12\x17\n\x13TARGET_TYPE_MESSAGE\x10\x03\x12\x15\n\x11TARGET_TYPE_FIELD\x10\x04\x12\x15\n\x11TARGET_TYPE_ONEOF\x10\x05\x12\x14\n\x10TARGET_TYPE_ENUM\x10\x06\x12\x1a\n\x16TARGET_TYPE_ENUM_ENTRY\x10\x07\x12\x17\n\x13TARGET_TYPE_SERVICE\x10\x08\x12\x16\n\x12TARGET_TYPE_METHOD\x10\t*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02J\x04\x08\x04\x10\x05J\x04\x08\x12\x10\x13\"\xac\x01\n\x0cOneofOptions\x127\n\x08features\x18\x01 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xd1\x02\n\x0bEnumOptions\x12\x1f\n\x0ballow_alias\x18\x02 \x01(\x08R\nallowAlias\x12%\n\ndeprecated\x18\x03 \x01(\x08:\x05falseR\ndeprecated\x12V\n&deprecated_legacy_json_field_conflicts\x18\x06 \x01(\x08B\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n\x08features\x18\x07 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\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\"\x81\x02\n\x10EnumValueOptions\x12%\n\ndeprecated\x18\x01 \x01(\x08:\x05falseR\ndeprecated\x127\n\x08features\x18\x02 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\x12(\n\x0cdebug_redact\x18\x03 \x01(\x08:\x05falseR\x0bdebugRedact\x12X\n\x14uninterpreted_option\x18\xe7\x07 \x03(\x0b2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\x08\xe8\x07\x10\x80\x80\x80\x80\x02\"\xd5\x01\n\x0eServiceOptions\x127\n\x08features\x18\" \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\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\"\x99\x03\n\rMethodOptions\x12%\n\ndeprecated\x18! \x01(\x08:\x05falseR\ndeprecated\x12q\n\x11idempotency_level\x18\" \x01(\x0e2/.google.protobuf.MethodOptions.IdempotencyLevel:\x13IDEMPOTENCY_UNKNOWNR\x10idempotencyLevel\x127\n\x08features\x18# \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\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\"\x8c\n\n\nFeatureSet\x12\x8b\x01\n\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB9\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\x08EXPLICIT\x18\xe6\x07\xa2\x01\r\x12\x08IMPLICIT\x18\xe7\x07\xa2\x01\r\x12\x08EXPLICIT\x18\xe8\x07R\rfieldPresence\x12f\n\tenum_type\x18\x02 \x01(\x0e2$.google.protobuf.FeatureSet.EnumTypeB#\x88\x01\x01\x98\x01\x06\x98\x01\x01\xa2\x01\x0b\x12\x06CLOSED\x18\xe6\x07\xa2\x01\t\x12\x04OPEN\x18\xe7\x07R\x08enumType\x12\x92\x01\n\x17repeated_field_encoding\x18\x03 \x01(\x0e21.google.protobuf.FeatureSet.RepeatedFieldEncodingB\'\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\x08EXPANDED\x18\xe6\x07\xa2\x01\x0b\x12\x06PACKED\x18\xe7\x07R\x15repeatedFieldEncoding\x12x\n\x0futf8_validation\x18\x04 \x01(\x0e2*.google.protobuf.FeatureSet.Utf8ValidationB#\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\t\x12\x04NONE\x18\xe6\x07\xa2\x01\x0b\x12\x06VERIFY\x18\xe7\x07R\x0eutf8Validation\x12x\n\x10message_encoding\x18\x05 \x01(\x0e2+.google.protobuf.FeatureSet.MessageEncodingB \x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\x14\x12\x0fLENGTH_PREFIXED\x18\xe6\x07R\x0fmessageEncoding\x12|\n\x0bjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB3\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\xe6\x07\xa2\x01\n\x12\x05ALLOW\x18\xe7\x07R\njsonFormat\"\\\n\rFieldPresence\x12\x1a\n\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\x0c\n\x08EXPLICIT\x10\x01\x12\x0c\n\x08IMPLICIT\x10\x02\x12\x13\n\x0fLEGACY_REQUIRED\x10\x03\"7\n\x08EnumType\x12\x15\n\x11ENUM_TYPE_UNKNOWN\x10\x00\x12\x08\n\x04OPEN\x10\x01\x12\n\n\x06CLOSED\x10\x02\"V\n\x15RepeatedFieldEncoding\x12#\n\x1fREPEATED_FIELD_ENCODING_UNKNOWN\x10\x00\x12\n\n\x06PACKED\x10\x01\x12\x0c\n\x08EXPANDED\x10\x02\"C\n\x0eUtf8Validation\x12\x1b\n\x17UTF8_VALIDATION_UNKNOWN\x10\x00\x12\n\n\x06VERIFY\x10\x02\x12\x08\n\x04NONE\x10\x03\"S\n\x0fMessageEncoding\x12\x1c\n\x18MESSAGE_ENCODING_UNKNOWN\x10\x00\x12\x13\n\x0fLENGTH_PREFIXED\x10\x01\x12\r\n\tDELIMITED\x10\x02\"H\n\nJsonFormat\x12\x17\n\x13JSON_FORMAT_UNKNOWN\x10\x00\x12\t\n\x05ALLOW\x10\x01\x12\x16\n\x12LEGACY_BEST_EFFORT\x10\x02*\x06\x08\xe8\x07\x10\xe9\x07*\x06\x08\xe9\x07\x10\xea\x07*\x06\x08\xea\x07\x10\xeb\x07*\x06\x08\x8bN\x10\x90N*\x06\x08\x90N\x10\x91NJ\x06\x08\xe7\x07\x10\xe8\x07\"\xfe\x02\n\x12FeatureSetDefaults\x12X\n\x08defaults\x18\x01 \x03(\x0b2<.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefaultR\x08defaults\x12A\n\x0fminimum_edition\x18\x04 \x01(\x0e2\x18.google.protobuf.EditionR\x0eminimumEdition\x12A\n\x0fmaximum_edition\x18\x05 \x01(\x0e2\x18.google.protobuf.EditionR\x0emaximumEdition\x1a\x87\x01\n\x18FeatureSetEditionDefault\x122\n\x07edition\x18\x03 \x01(\x0e2\x18.google.protobuf.EditionR\x07edition\x127\n\x08features\x18\x02 \x01(\x0b2\x1b.google.protobuf.FeatureSetR\x08features\"\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\"\xd0\x02\n\x11GeneratedCodeInfo\x12M\n\nannotation\x18\x01 \x03(\x0b2-.google.protobuf.GeneratedCodeInfo.AnnotationR\nannotation\x1a\xeb\x01\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\x03end\x12R\n\x08semantic\x18\x05 \x01(\x0e26.google.protobuf.GeneratedCodeInfo.Annotation.SemanticR\x08semantic\"(\n\x08Semantic\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03SET\x10\x01\x12\t\n\x05ALIAS\x10\x02*\x92\x02\n\x07Edition\x12\x13\n\x0fEDITION_UNKNOWN\x10\x00\x12\x13\n\x0eEDITION_PROTO2\x10\xe6\x07\x12\x13\n\x0eEDITION_PROTO3\x10\xe7\x07\x12\x11\n\x0cEDITION_2023\x10\xe8\x07\x12\x11\n\x0cEDITION_2024\x10\xe9\x07\x12\x17\n\x13EDITION_1_TEST_ONLY\x10\x01\x12\x17\n\x13EDITION_2_TEST_ONLY\x10\x02\x12\x1d\n\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n\x0bEDITION_MAX\x10\xff\xff\xff\xff\x07B~\n\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.ReflectionJ\xf2\xb3\x03\n\x07\x12\x05&\x00\xc2\t\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\x03/\x00\x1f\n\t\n\x02\x08\x1f\x12\x03/\x00\x1f\n\x08\n\x01\x08\x12\x033\x00\x1c\n\x7f\n\x02\x08\t\x12\x033\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\x047\x009\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\x037\x08\x19\n\x0b\n\x04\x04\x00\x02\x00\x12\x038\x02(\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x038\x0b\x1e\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x038\x1f#\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x038&\'\n-\n\x02\x05\x00\x12\x04<\x00Y\x01\x1a! The full set of known editions.\n\n\n\n\x03\x05\x00\x01\x12\x03<\x05\x0c\n:\n\x04\x05\x00\x02\x00\x12\x03>\x02\x16\x1a- A placeholder for an unknown edition value.\n\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03>\x02\x11\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03>\x14\x15\n\x82\x02\n\x04\x05\x00\x02\x01\x12\x03D\x02\x17\x1a\xf4\x01 Legacy syntax \"editions\".  These pre-date editions, but behave much like\n distinct editions.  These can\'t be used to specify the edition of proto\n files, but feature definitions must supply proto2/proto3 defaults for\n backwards compatibility.\n\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03D\x02\x10\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03D\x13\x16\n\x0b\n\x04\x05\x00\x02\x02\x12\x03E\x02\x17\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03E\x02\x10\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03E\x13\x16\n\xaf\x01\n\x04\x05\x00\x02\x03\x12\x03J\x02\x16\x1a\xa1\x01 Editions that have been released.  The specific values are arbitrary and\n should not be depended on, but they will always be time-ordered for easy\n comparison.\n\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03J\x02\x0e\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03J\x11\x15\n\x0b\n\x04\x05\x00\x02\x04\x12\x03K\x02\x16\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03K\x02\x0e\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03K\x11\x15\n}\n\x04\x05\x00\x02\x05\x12\x03O\x02\x1a\x1ap Placeholder editions for testing feature resolution.  These should not be\n used or relyed on outside of tests.\n\n\x0c\n\x05\x05\x00\x02\x05\x01\x12\x03O\x02\x15\n\x0c\n\x05\x05\x00\x02\x05\x02\x12\x03O\x18\x19\n\x0b\n\x04\x05\x00\x02\x06\x12\x03P\x02\x1a\n\x0c\n\x05\x05\x00\x02\x06\x01\x12\x03P\x02\x15\n\x0c\n\x05\x05\x00\x02\x06\x02\x12\x03P\x18\x19\n\x0b\n\x04\x05\x00\x02\x07\x12\x03Q\x02\"\n\x0c\n\x05\x05\x00\x02\x07\x01\x12\x03Q\x02\x19\n\x0c\n\x05\x05\x00\x02\x07\x02\x12\x03Q\x1c!\n\x0b\n\x04\x05\x00\x02\x08\x12\x03R\x02\"\n\x0c\n\x05\x05\x00\x02\x08\x01\x12\x03R\x02\x19\n\x0c\n\x05\x05\x00\x02\x08\x02\x12\x03R\x1c!\n\x0b\n\x04\x05\x00\x02\t\x12\x03S\x02\"\n\x0c\n\x05\x05\x00\x02\t\x01\x12\x03S\x02\x19\n\x0c\n\x05\x05\x00\x02\t\x02\x12\x03S\x1c!\n\xb8\x01\n\x04\x05\x00\x02\n\x12\x03X\x02\x1b\x1a\xaa\x01 Placeholder for specifying unbounded edition support.  This should only\n ever be used by plugins that can expect to never require any changes to\n support a new edition.\n\n\x0c\n\x05\x05\x00\x02\n\x01\x12\x03X\x02\r\n\x0c\n\x05\x05\x00\x02\n\x02\x12\x03X\x10\x1a\n/\n\x02\x04\x01\x12\x04\\\x00~\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\x03a\x02!\x1a\' Names of files imported by this file.\n\n\x0c\n\x05\x04\x01\x02\x02\x04\x12\x03a\x02\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03a\x0b\x11\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03a\x12\x1c\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03a\x1f \nQ\n\x04\x04\x01\x02\x03\x12\x03c\x02(\x1aD Indexes of the public imported files in the dependency list above.\n\n\x0c\n\x05\x04\x01\x02\x03\x04\x12\x03c\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03c\x0b\x10\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03c\x11\"\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03c%\'\nz\n\x04\x04\x01\x02\x04\x12\x03f\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\x03f\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03f\x0b\x10\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03f\x11 \n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03f#%\n6\n\x04\x04\x01\x02\x05\x12\x03i\x02,\x1a) All top-level definitions in this file.\n\n\x0c\n\x05\x04\x01\x02\x05\x04\x12\x03i\x02\n\n\x0c\n\x05\x04\x01\x02\x05\x06\x12\x03i\x0b\x1a\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03i\x1b\'\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03i*+\n\x0b\n\x04\x04\x01\x02\x06\x12\x03j\x02-\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03j\x02\n\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03j\x0b\x1e\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03j\x1f(\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03j+,\n\x0b\n\x04\x04\x01\x02\x07\x12\x03k\x02.\n\x0c\n\x05\x04\x01\x02\x07\x04\x12\x03k\x02\n\n\x0c\n\x05\x04\x01\x02\x07\x06\x12\x03k\x0b!\n\x0c\n\x05\x04\x01\x02\x07\x01\x12\x03k\")\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03k,-\n\x0b\n\x04\x04\x01\x02\x08\x12\x03l\x02.\n\x0c\n\x05\x04\x01\x02\x08\x04\x12\x03l\x02\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03l\x0b\x1f\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03l )\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03l,-\n\x0b\n\x04\x04\x01\x02\t\x12\x03n\x02#\n\x0c\n\x05\x04\x01\x02\t\x04\x12\x03n\x02\n\n\x0c\n\x05\x04\x01\x02\t\x06\x12\x03n\x0b\x16\n\x0c\n\x05\x04\x01\x02\t\x01\x12\x03n\x17\x1e\n\x0c\n\x05\x04\x01\x02\t\x03\x12\x03n!\"\n\xf4\x01\n\x04\x04\x01\x02\n\x12\x03t\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\x03t\x02\n\n\x0c\n\x05\x04\x01\x02\n\x06\x12\x03t\x0b\x19\n\x0c\n\x05\x04\x01\x02\n\x01\x12\x03t\x1a*\n\x0c\n\x05\x04\x01\x02\n\x03\x12\x03t-.\n\xa5\x01\n\x04\x04\x01\x02\x0b\x12\x03z\x02\x1e\x1a\x97\x01 The syntax of the proto file.\n The supported values are \"proto2\", \"proto3\", and \"editions\".\n\n If `edition` is present, this value must be \"editions\".\n\n\x0c\n\x05\x04\x01\x02\x0b\x04\x12\x03z\x02\n\n\x0c\n\x05\x04\x01\x02\x0b\x05\x12\x03z\x0b\x11\n\x0c\n\x05\x04\x01\x02\x0b\x01\x12\x03z\x12\x18\n\x0c\n\x05\x04\x01\x02\x0b\x03\x12\x03z\x1b\x1d\n-\n\x04\x04\x01\x02\x0c\x12\x03}\x02 \x1a  The edition of the proto file.\n\n\x0c\n\x05\x04\x01\x02\x0c\x04\x12\x03}\x02\n\n\x0c\n\x05\x04\x01\x02\x0c\x06\x12\x03}\x0b\x12\n\x0c\n\x05\x04\x01\x02\x0c\x01\x12\x03}\x13\x1a\n\x0c\n\x05\x04\x01\x02\x0c\x03\x12\x03}\x1d\x1f\n)\n\x02\x04\x02\x12\x06\x81\x01\x00\xa1\x01\x01\x1a\x1b Describes a message type.\n\n\x0b\n\x03\x04\x02\x01\x12\x04\x81\x01\x08\x17\n\x0c\n\x04\x04\x02\x02\x00\x12\x04\x82\x01\x02\x1b\n\r\n\x05\x04\x02\x02\x00\x04\x12\x04\x82\x01\x02\n\n\r\n\x05\x04\x02\x02\x00\x05\x12\x04\x82\x01\x0b\x11\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\x82\x01\x12\x16\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\x82\x01\x19\x1a\n\x0c\n\x04\x04\x02\x02\x01\x12\x04\x84\x01\x02*\n\r\n\x05\x04\x02\x02\x01\x04\x12\x04\x84\x01\x02\n\n\r\n\x05\x04\x02\x02\x01\x06\x12\x04\x84\x01\x0b\x1f\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\x84\x01 %\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\x84\x01()\n\x0c\n\x04\x04\x02\x02\x02\x12\x04\x85\x01\x02.\n\r\n\x05\x04\x02\x02\x02\x04\x12\x04\x85\x01\x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\x04\x85\x01\x0b\x1f\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\x85\x01 )\n\r\n\x05\x04\x02\x02\x02\x03\x12\x04\x85\x01,-\n\x0c\n\x04\x04\x02\x02\x03\x12\x04\x87\x01\x02+\n\r\n\x05\x04\x02\x02\x03\x04\x12\x04\x87\x01\x02\n\n\r\n\x05\x04\x02\x02\x03\x06\x12\x04\x87\x01\x0b\x1a\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\x87\x01\x1b&\n\r\n\x05\x04\x02\x02\x03\x03\x12\x04\x87\x01)*\n\x0c\n\x04\x04\x02\x02\x04\x12\x04\x88\x01\x02-\n\r\n\x05\x04\x02\x02\x04\x04\x12\x04\x88\x01\x02\n\n\r\n\x05\x04\x02\x02\x04\x06\x12\x04\x88\x01\x0b\x1e\n\r\n\x05\x04\x02\x02\x04\x01\x12\x04\x88\x01\x1f(\n\r\n\x05\x04\x02\x02\x04\x03\x12\x04\x88\x01+,\n\x0e\n\x04\x04\x02\x03\x00\x12\x06\x8a\x01\x02\x8f\x01\x03\n\r\n\x05\x04\x02\x03\x00\x01\x12\x04\x8a\x01\n\x18\n\x1c\n\x06\x04\x02\x03\x00\x02\x00\x12\x04\x8b\x01\x04\x1d\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x04\x12\x04\x8b\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x05\x12\x04\x8b\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x01\x12\x04\x8b\x01\x13\x18\n\x0f\n\x07\x04\x02\x03\x00\x02\x00\x03\x12\x04\x8b\x01\x1b\x1c\n\x1c\n\x06\x04\x02\x03\x00\x02\x01\x12\x04\x8c\x01\x04\x1b\"\x0c Exclusive.\n\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x04\x12\x04\x8c\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x05\x12\x04\x8c\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x01\x12\x04\x8c\x01\x13\x16\n\x0f\n\x07\x04\x02\x03\x00\x02\x01\x03\x12\x04\x8c\x01\x19\x1a\n\x0e\n\x06\x04\x02\x03\x00\x02\x02\x12\x04\x8e\x01\x04/\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x04\x12\x04\x8e\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x06\x12\x04\x8e\x01\r\"\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x01\x12\x04\x8e\x01#*\n\x0f\n\x07\x04\x02\x03\x00\x02\x02\x03\x12\x04\x8e\x01-.\n\x0c\n\x04\x04\x02\x02\x05\x12\x04\x90\x01\x02.\n\r\n\x05\x04\x02\x02\x05\x04\x12\x04\x90\x01\x02\n\n\r\n\x05\x04\x02\x02\x05\x06\x12\x04\x90\x01\x0b\x19\n\r\n\x05\x04\x02\x02\x05\x01\x12\x04\x90\x01\x1a)\n\r\n\x05\x04\x02\x02\x05\x03\x12\x04\x90\x01,-\n\x0c\n\x04\x04\x02\x02\x06\x12\x04\x92\x01\x02/\n\r\n\x05\x04\x02\x02\x06\x04\x12\x04\x92\x01\x02\n\n\r\n\x05\x04\x02\x02\x06\x06\x12\x04\x92\x01\x0b\x1f\n\r\n\x05\x04\x02\x02\x06\x01\x12\x04\x92\x01 *\n\r\n\x05\x04\x02\x02\x06\x03\x12\x04\x92\x01-.\n\x0c\n\x04\x04\x02\x02\x07\x12\x04\x94\x01\x02&\n\r\n\x05\x04\x02\x02\x07\x04\x12\x04\x94\x01\x02\n\n\r\n\x05\x04\x02\x02\x07\x06\x12\x04\x94\x01\x0b\x19\n\r\n\x05\x04\x02\x02\x07\x01\x12\x04\x94\x01\x1a!\n\r\n\x05\x04\x02\x02\x07\x03\x12\x04\x94\x01$%\n\xac\x01\n\x04\x04\x02\x03\x01\x12\x06\x99\x01\x02\x9c\x01\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\r\n\x05\x04\x02\x03\x01\x01\x12\x04\x99\x01\n\x17\n\x1c\n\x06\x04\x02\x03\x01\x02\x00\x12\x04\x9a\x01\x04\x1d\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x04\x12\x04\x9a\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x05\x12\x04\x9a\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x01\x12\x04\x9a\x01\x13\x18\n\x0f\n\x07\x04\x02\x03\x01\x02\x00\x03\x12\x04\x9a\x01\x1b\x1c\n\x1c\n\x06\x04\x02\x03\x01\x02\x01\x12\x04\x9b\x01\x04\x1b\"\x0c Exclusive.\n\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x04\x12\x04\x9b\x01\x04\x0c\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x05\x12\x04\x9b\x01\r\x12\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x01\x12\x04\x9b\x01\x13\x16\n\x0f\n\x07\x04\x02\x03\x01\x02\x01\x03\x12\x04\x9b\x01\x19\x1a\n\x0c\n\x04\x04\x02\x02\x08\x12\x04\x9d\x01\x02,\n\r\n\x05\x04\x02\x02\x08\x04\x12\x04\x9d\x01\x02\n\n\r\n\x05\x04\x02\x02\x08\x06\x12\x04\x9d\x01\x0b\x18\n\r\n\x05\x04\x02\x02\x08\x01\x12\x04\x9d\x01\x19\'\n\r\n\x05\x04\x02\x02\x08\x03\x12\x04\x9d\x01*+\n\x83\x01\n\x04\x04\x02\x02\t\x12\x04\xa0\x01\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\r\n\x05\x04\x02\x02\t\x04\x12\x04\xa0\x01\x02\n\n\r\n\x05\x04\x02\x02\t\x05\x12\x04\xa0\x01\x0b\x11\n\r\n\x05\x04\x02\x02\t\x01\x12\x04\xa0\x01\x12\x1f\n\r\n\x05\x04\x02\x02\t\x03\x12\x04\xa0\x01\"$\n\x0c\n\x02\x04\x03\x12\x06\xa3\x01\x00\xd7\x01\x01\n\x0b\n\x03\x04\x03\x01\x12\x04\xa3\x01\x08\x1d\nO\n\x04\x04\x03\x02\x00\x12\x04\xa5\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\xa5\x01\x02\n\n\r\n\x05\x04\x03\x02\x00\x06\x12\x04\xa5\x01\x0b\x1e\n\r\n\x05\x04\x03\x02\x00\x01\x12\x04\xa5\x01\x1f3\n\r\n\x05\x04\x03\x02\x00\x03\x12\x04\xa5\x0169\n\x0e\n\x04\x04\x03\x03\x00\x12\x06\xa7\x01\x02\xbe\x01\x03\n\r\n\x05\x04\x03\x03\x00\x01\x12\x04\xa7\x01\n\x15\nK\n\x06\x04\x03\x03\x00\x02\x00\x12\x04\xa9\x01\x04\x1e\x1a; The extension number declared within the extension range.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x04\x12\x04\xa9\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x04\xa9\x01\r\x12\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x04\xa9\x01\x13\x19\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x04\xa9\x01\x1c\x1d\nz\n\x06\x04\x03\x03\x00\x02\x01\x12\x04\xad\x01\x04\"\x1aj The fully-qualified name of the extension field. There must be a leading\n dot in front of the full name.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x04\x12\x04\xad\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x05\x12\x04\xad\x01\r\x13\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x01\x12\x04\xad\x01\x14\x1d\n\x0f\n\x07\x04\x03\x03\x00\x02\x01\x03\x12\x04\xad\x01 !\n\xa1\x01\n\x06\x04\x03\x03\x00\x02\x02\x12\x04\xb2\x01\x04\x1d\x1a\x90\x01 The fully-qualified type name of the extension field. Unlike\n Metadata.type, Declaration.type must have a leading dot for messages\n and enums.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x04\x12\x04\xb2\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x05\x12\x04\xb2\x01\r\x13\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x01\x12\x04\xb2\x01\x14\x18\n\x0f\n\x07\x04\x03\x03\x00\x02\x02\x03\x12\x04\xb2\x01\x1b\x1c\n\xce\x01\n\x06\x04\x03\x03\x00\x02\x03\x12\x04\xb7\x01\x04\x1f\x1a\xbd\x01 If true, indicates that the number is reserved in the extension range,\n and any extension field with the number will fail to compile. Set this\n when a declared extension field is deleted.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x04\x12\x04\xb7\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x05\x12\x04\xb7\x01\r\x11\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x01\x12\x04\xb7\x01\x12\x1a\n\x0f\n\x07\x04\x03\x03\x00\x02\x03\x03\x12\x04\xb7\x01\x1d\x1e\n\x8a\x01\n\x06\x04\x03\x03\x00\x02\x04\x12\x04\xbb\x01\x04\x1f\x1az If true, indicates that the extension must be defined as repeated.\n Otherwise the extension must be defined as optional.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x04\x12\x04\xbb\x01\x04\x0c\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x05\x12\x04\xbb\x01\r\x11\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x01\x12\x04\xbb\x01\x12\x1a\n\x0f\n\x07\x04\x03\x03\x00\x02\x04\x03\x12\x04\xbb\x01\x1d\x1e\n$\n\x05\x04\x03\x03\x00\t\x12\x04\xbd\x01\x04\x0f\"\x15 removed is_repeated\n\n\x0e\n\x06\x04\x03\x03\x00\t\x00\x12\x04\xbd\x01\r\x0e\n\x0f\n\x07\x04\x03\x03\x00\t\x00\x01\x12\x04\xbd\x01\r\x0e\n\x0f\n\x07\x04\x03\x03\x00\t\x00\x02\x12\x04\xbd\x01\r\x0e\n\xb1\x01\n\x04\x04\x03\x02\x01\x12\x04\xc3\x01\x02F\x1a\xa2\x01 For external users: DO NOT USE. We are in the process of open sourcing\n extension declaration and executing internal cleanups before it can be\n used externally.\n\n\r\n\x05\x04\x03\x02\x01\x04\x12\x04\xc3\x01\x02\n\n\r\n\x05\x04\x03\x02\x01\x06\x12\x04\xc3\x01\x0b\x16\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\xc3\x01\x17\"\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\xc3\x01%&\n\r\n\x05\x04\x03\x02\x01\x08\x12\x04\xc3\x01\'E\n\x0e\n\x06\x04\x03\x02\x01\x08\x11\x12\x04\xc3\x01(D\n=\n\x04\x04\x03\x02\x02\x12\x04\xc6\x01\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x03\x02\x02\x04\x12\x04\xc6\x01\x02\n\n\r\n\x05\x04\x03\x02\x02\x06\x12\x04\xc6\x01\x0b\x15\n\r\n\x05\x04\x03\x02\x02\x01\x12\x04\xc6\x01\x16\x1e\n\r\n\x05\x04\x03\x02\x02\x03\x12\x04\xc6\x01!#\n@\n\x04\x04\x03\x04\x00\x12\x06\xc9\x01\x02\xcd\x01\x03\x1a0 The verification state of the extension range.\n\n\r\n\x05\x04\x03\x04\x00\x01\x12\x04\xc9\x01\x07\x18\nC\n\x06\x04\x03\x04\x00\x02\x00\x12\x04\xcb\x01\x04\x14\x1a3 All the extensions of the range must be declared.\n\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x01\x12\x04\xcb\x01\x04\x0f\n\x0f\n\x07\x04\x03\x04\x00\x02\x00\x02\x12\x04\xcb\x01\x12\x13\n\x0e\n\x06\x04\x03\x04\x00\x02\x01\x12\x04\xcc\x01\x04\x13\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x01\x12\x04\xcc\x01\x04\x0e\n\x0f\n\x07\x04\x03\x04\x00\x02\x01\x02\x12\x04\xcc\x01\x11\x12\n\x8e\x01\n\x04\x04\x03\x02\x03\x12\x06\xd2\x01\x02\xd3\x01;\x1a~ The verification state of the range.\n TODO: flip the default to DECLARATION once all empty ranges\n are marked as UNVERIFIED.\n\n\r\n\x05\x04\x03\x02\x03\x04\x12\x04\xd2\x01\x02\n\n\r\n\x05\x04\x03\x02\x03\x06\x12\x04\xd2\x01\x0b\x1c\n\r\n\x05\x04\x03\x02\x03\x01\x12\x04\xd2\x01\x1d)\n\r\n\x05\x04\x03\x02\x03\x03\x12\x04\xd2\x01,-\n\r\n\x05\x04\x03\x02\x03\x08\x12\x04\xd3\x01\x06:\n\r\n\x05\x04\x03\x02\x03\x07\x12\x04\xd3\x01\x11\x1b\n\x0e\n\x06\x04\x03\x02\x03\x08\x11\x12\x04\xd3\x01\x1d9\nZ\n\x03\x04\x03\x05\x12\x04\xd6\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\xd6\x01\r\x18\n\r\n\x05\x04\x03\x05\x00\x01\x12\x04\xd6\x01\r\x11\n\r\n\x05\x04\x03\x05\x00\x02\x12\x04\xd6\x01\x15\x18\n3\n\x02\x04\x04\x12\x06\xda\x01\x00\xc2\x02\x01\x1a% Describes a field within a message.\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xda\x01\x08\x1c\n\x0e\n\x04\x04\x04\x04\x00\x12\x06\xdb\x01\x02\xfb\x01\x03\n\r\n\x05\x04\x04\x04\x00\x01\x12\x04\xdb\x01\x07\x0b\nS\n\x06\x04\x04\x04\x00\x02\x00\x12\x04\xde\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\xde\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x00\x02\x12\x04\xde\x01\x12\x13\n\x0e\n\x06\x04\x04\x04\x00\x02\x01\x12\x04\xdf\x01\x04\x13\n\x0f\n\x07\x04\x04\x04\x00\x02\x01\x01\x12\x04\xdf\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x01\x02\x12\x04\xdf\x01\x11\x12\nw\n\x06\x04\x04\x04\x00\x02\x02\x12\x04\xe2\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\xe2\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x02\x02\x12\x04\xe2\x01\x11\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x03\x12\x04\xe3\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\x00\x02\x03\x01\x12\x04\xe3\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x03\x02\x12\x04\xe3\x01\x12\x13\nw\n\x06\x04\x04\x04\x00\x02\x04\x12\x04\xe6\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\xe6\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x04\x02\x12\x04\xe6\x01\x11\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x05\x12\x04\xe7\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x05\x01\x12\x04\xe7\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\x05\x02\x12\x04\xe7\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\x06\x12\x04\xe8\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x06\x01\x12\x04\xe8\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\x06\x02\x12\x04\xe8\x01\x13\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\x07\x12\x04\xe9\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x00\x02\x07\x01\x12\x04\xe9\x01\x04\r\n\x0f\n\x07\x04\x04\x04\x00\x02\x07\x02\x12\x04\xe9\x01\x10\x11\n\x0e\n\x06\x04\x04\x04\x00\x02\x08\x12\x04\xea\x01\x04\x14\n\x0f\n\x07\x04\x04\x04\x00\x02\x08\x01\x12\x04\xea\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x08\x02\x12\x04\xea\x01\x12\x13\n\xc6\x02\n\x06\x04\x04\x04\x00\x02\t\x12\x04\xf0\x01\x04\x14\x1a\xb5\x02 Tag-delimited aggregate.\n Group type is deprecated and not supported after google.protobuf. However, Proto3\n implementations should still be able to parse the group wire format and\n treat group fields as unknown fields.  In Editions, the group wire format\n can be enabled via the `message_encoding` feature.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\t\x01\x12\x04\xf0\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\t\x02\x12\x04\xf0\x01\x11\x13\n-\n\x06\x04\x04\x04\x00\x02\n\x12\x04\xf1\x01\x04\x16\"\x1d Length-delimited aggregate.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\n\x01\x12\x04\xf1\x01\x04\x10\n\x0f\n\x07\x04\x04\x04\x00\x02\n\x02\x12\x04\xf1\x01\x13\x15\n#\n\x06\x04\x04\x04\x00\x02\x0b\x12\x04\xf4\x01\x04\x14\x1a\x13 New in version 2.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x0b\x01\x12\x04\xf4\x01\x04\x0e\n\x0f\n\x07\x04\x04\x04\x00\x02\x0b\x02\x12\x04\xf4\x01\x11\x13\n\x0e\n\x06\x04\x04\x04\x00\x02\x0c\x12\x04\xf5\x01\x04\x15\n\x0f\n\x07\x04\x04\x04\x00\x02\x0c\x01\x12\x04\xf5\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x0c\x02\x12\x04\xf5\x01\x12\x14\n\x0e\n\x06\x04\x04\x04\x00\x02\r\x12\x04\xf6\x01\x04\x13\n\x0f\n\x07\x04\x04\x04\x00\x02\r\x01\x12\x04\xf6\x01\x04\r\n\x0f\n\x07\x04\x04\x04\x00\x02\r\x02\x12\x04\xf6\x01\x10\x12\n\x0e\n\x06\x04\x04\x04\x00\x02\x0e\x12\x04\xf7\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x00\x02\x0e\x01\x12\x04\xf7\x01\x04\x11\n\x0f\n\x07\x04\x04\x04\x00\x02\x0e\x02\x12\x04\xf7\x01\x14\x16\n\x0e\n\x06\x04\x04\x04\x00\x02\x0f\x12\x04\xf8\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\x00\x02\x0f\x01\x12\x04\xf8\x01\x04\x11\n\x0f\n\x07\x04\x04\x04\x00\x02\x0f\x02\x12\x04\xf8\x01\x14\x16\n\'\n\x06\x04\x04\x04\x00\x02\x10\x12\x04\xf9\x01\x04\x15\"\x17 Uses ZigZag encoding.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x10\x01\x12\x04\xf9\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x10\x02\x12\x04\xf9\x01\x12\x14\n\'\n\x06\x04\x04\x04\x00\x02\x11\x12\x04\xfa\x01\x04\x15\"\x17 Uses ZigZag encoding.\n\n\x0f\n\x07\x04\x04\x04\x00\x02\x11\x01\x12\x04\xfa\x01\x04\x0f\n\x0f\n\x07\x04\x04\x04\x00\x02\x11\x02\x12\x04\xfa\x01\x12\x14\n\x0e\n\x04\x04\x04\x04\x01\x12\x06\xfd\x01\x02\x85\x02\x03\n\r\n\x05\x04\x04\x04\x01\x01\x12\x04\xfd\x01\x07\x0c\n*\n\x06\x04\x04\x04\x01\x02\x00\x12\x04\xff\x01\x04\x17\x1a\x1a 0 is reserved for errors\n\n\x0f\n\x07\x04\x04\x04\x01\x02\x00\x01\x12\x04\xff\x01\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x00\x02\x12\x04\xff\x01\x15\x16\n\x0e\n\x06\x04\x04\x04\x01\x02\x01\x12\x04\x80\x02\x04\x17\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x01\x12\x04\x80\x02\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x02\x12\x04\x80\x02\x15\x16\n\xcc\x01\n\x06\x04\x04\x04\x01\x02\x02\x12\x04\x84\x02\x04\x17\x1a\xbb\x01 The required label is only allowed in google.protobuf.  In proto3 and Editions\n it\'s explicitly prohibited.  In Editions, the `field_presence` feature\n can be used to get this behavior.\n\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x01\x12\x04\x84\x02\x04\x12\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x02\x12\x04\x84\x02\x15\x16\n\x0c\n\x04\x04\x04\x02\x00\x12\x04\x87\x02\x02\x1b\n\r\n\x05\x04\x04\x02\x00\x04\x12\x04\x87\x02\x02\n\n\r\n\x05\x04\x04\x02\x00\x05\x12\x04\x87\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\x87\x02\x12\x16\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\x87\x02\x19\x1a\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\x88\x02\x02\x1c\n\r\n\x05\x04\x04\x02\x01\x04\x12\x04\x88\x02\x02\n\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\x88\x02\x0b\x10\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\x88\x02\x11\x17\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\x88\x02\x1a\x1b\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\x89\x02\x02\x1b\n\r\n\x05\x04\x04\x02\x02\x04\x12\x04\x89\x02\x02\n\n\r\n\x05\x04\x04\x02\x02\x06\x12\x04\x89\x02\x0b\x10\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\x89\x02\x11\x16\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\x89\x02\x19\x1a\n\x9c\x01\n\x04\x04\x04\x02\x03\x12\x04\x8d\x02\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\x8d\x02\x02\n\n\r\n\x05\x04\x04\x02\x03\x06\x12\x04\x8d\x02\x0b\x0f\n\r\n\x05\x04\x04\x02\x03\x01\x12\x04\x8d\x02\x10\x14\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\x8d\x02\x17\x18\n\xb7\x02\n\x04\x04\x04\x02\x04\x12\x04\x94\x02\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\x94\x02\x02\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\x94\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x04\x01\x12\x04\x94\x02\x12\x1b\n\r\n\x05\x04\x04\x02\x04\x03\x12\x04\x94\x02\x1e\x1f\n~\n\x04\x04\x04\x02\x05\x12\x04\x98\x02\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\x98\x02\x02\n\n\r\n\x05\x04\x04\x02\x05\x05\x12\x04\x98\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x05\x01\x12\x04\x98\x02\x12\x1a\n\r\n\x05\x04\x04\x02\x05\x03\x12\x04\x98\x02\x1d\x1e\n\x91\x02\n\x04\x04\x04\x02\x06\x12\x04\x9e\x02\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\x9e\x02\x02\n\n\r\n\x05\x04\x04\x02\x06\x05\x12\x04\x9e\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x06\x01\x12\x04\x9e\x02\x12\x1f\n\r\n\x05\x04\x04\x02\x06\x03\x12\x04\x9e\x02\"#\n\x84\x01\n\x04\x04\x04\x02\x07\x12\x04\xa2\x02\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\xa2\x02\x02\n\n\r\n\x05\x04\x04\x02\x07\x05\x12\x04\xa2\x02\x0b\x10\n\r\n\x05\x04\x04\x02\x07\x01\x12\x04\xa2\x02\x11\x1c\n\r\n\x05\x04\x04\x02\x07\x03\x12\x04\xa2\x02\x1f \n\xfa\x01\n\x04\x04\x04\x02\x08\x12\x04\xa8\x02\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\xa8\x02\x02\n\n\r\n\x05\x04\x04\x02\x08\x05\x12\x04\xa8\x02\x0b\x11\n\r\n\x05\x04\x04\x02\x08\x01\x12\x04\xa8\x02\x12\x1b\n\r\n\x05\x04\x04\x02\x08\x03\x12\x04\xa8\x02\x1e \n\x0c\n\x04\x04\x04\x02\t\x12\x04\xaa\x02\x02$\n\r\n\x05\x04\x04\x02\t\x04\x12\x04\xaa\x02\x02\n\n\r\n\x05\x04\x04\x02\t\x06\x12\x04\xaa\x02\x0b\x17\n\r\n\x05\x04\x04\x02\t\x01\x12\x04\xaa\x02\x18\x1f\n\r\n\x05\x04\x04\x02\t\x03\x12\x04\xaa\x02\"#\n\xb0\t\n\x04\x04\x04\x02\n\x12\x04\xc1\x02\x02%\x1a\xa1\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 belong to a oneof to signal\n to old proto3 clients that presence is tracked for this field. This oneof\n is known as a \"synthetic\" oneof, and this field must be its sole member\n (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs\n exist in the descriptor only, and do not generate any API. Synthetic oneofs\n 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\xc1\x02\x02\n\n\r\n\x05\x04\x04\x02\n\x05\x12\x04\xc1\x02\x0b\x0f\n\r\n\x05\x04\x04\x02\n\x01\x12\x04\xc1\x02\x10\x1f\n\r\n\x05\x04\x04\x02\n\x03\x12\x04\xc1\x02\"$\n\"\n\x02\x04\x05\x12\x06\xc5\x02\x00\xc8\x02\x01\x1a\x14 Describes a oneof.\n\n\x0b\n\x03\x04\x05\x01\x12\x04\xc5\x02\x08\x1c\n\x0c\n\x04\x04\x05\x02\x00\x12\x04\xc6\x02\x02\x1b\n\r\n\x05\x04\x05\x02\x00\x04\x12\x04\xc6\x02\x02\n\n\r\n\x05\x04\x05\x02\x00\x05\x12\x04\xc6\x02\x0b\x11\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\xc6\x02\x12\x16\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\xc6\x02\x19\x1a\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xc7\x02\x02$\n\r\n\x05\x04\x05\x02\x01\x04\x12\x04\xc7\x02\x02\n\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\xc7\x02\x0b\x17\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xc7\x02\x18\x1f\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xc7\x02\"#\n\'\n\x02\x04\x06\x12\x06\xcb\x02\x00\xe5\x02\x01\x1a\x19 Describes an enum type.\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xcb\x02\x08\x1b\n\x0c\n\x04\x04\x06\x02\x00\x12\x04\xcc\x02\x02\x1b\n\r\n\x05\x04\x06\x02\x00\x04\x12\x04\xcc\x02\x02\n\n\r\n\x05\x04\x06\x02\x00\x05\x12\x04\xcc\x02\x0b\x11\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xcc\x02\x12\x16\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xcc\x02\x19\x1a\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xce\x02\x02.\n\r\n\x05\x04\x06\x02\x01\x04\x12\x04\xce\x02\x02\n\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\xce\x02\x0b#\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xce\x02$)\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xce\x02,-\n\x0c\n\x04\x04\x06\x02\x02\x12\x04\xd0\x02\x02#\n\r\n\x05\x04\x06\x02\x02\x04\x12\x04\xd0\x02\x02\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\xd0\x02\x0b\x16\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xd0\x02\x17\x1e\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xd0\x02!\"\n\xaf\x02\n\x04\x04\x06\x03\x00\x12\x06\xd8\x02\x02\xdb\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\xd8\x02\n\x1b\n\x1c\n\x06\x04\x06\x03\x00\x02\x00\x12\x04\xd9\x02\x04\x1d\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x04\x12\x04\xd9\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x05\x12\x04\xd9\x02\r\x12\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x04\xd9\x02\x13\x18\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x04\xd9\x02\x1b\x1c\n\x1c\n\x06\x04\x06\x03\x00\x02\x01\x12\x04\xda\x02\x04\x1b\"\x0c Inclusive.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x04\x12\x04\xda\x02\x04\x0c\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x04\xda\x02\r\x12\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x04\xda\x02\x13\x16\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x04\xda\x02\x19\x1a\n\xaa\x01\n\x04\x04\x06\x02\x03\x12\x04\xe0\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\xe0\x02\x02\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\xe0\x02\x0b\x1c\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\xe0\x02\x1d+\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\xe0\x02./\nl\n\x04\x04\x06\x02\x04\x12\x04\xe4\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\xe4\x02\x02\n\n\r\n\x05\x04\x06\x02\x04\x05\x12\x04\xe4\x02\x0b\x11\n\r\n\x05\x04\x06\x02\x04\x01\x12\x04\xe4\x02\x12\x1f\n\r\n\x05\x04\x06\x02\x04\x03\x12\x04\xe4\x02\"#\n1\n\x02\x04\x07\x12\x06\xe8\x02\x00\xed\x02\x01\x1a# Describes a value within an enum.\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xe8\x02\x08 \n\x0c\n\x04\x04\x07\x02\x00\x12\x04\xe9\x02\x02\x1b\n\r\n\x05\x04\x07\x02\x00\x04\x12\x04\xe9\x02\x02\n\n\r\n\x05\x04\x07\x02\x00\x05\x12\x04\xe9\x02\x0b\x11\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\xe9\x02\x12\x16\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\xe9\x02\x19\x1a\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\xea\x02\x02\x1c\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\xea\x02\x02\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xea\x02\x0b\x10\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xea\x02\x11\x17\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xea\x02\x1a\x1b\n\x0c\n\x04\x04\x07\x02\x02\x12\x04\xec\x02\x02(\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xec\x02\x02\n\n\r\n\x05\x04\x07\x02\x02\x06\x12\x04\xec\x02\x0b\x1b\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xec\x02\x1c#\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xec\x02&\'\n$\n\x02\x04\x08\x12\x06\xf0\x02\x00\xf5\x02\x01\x1a\x16 Describes a service.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xf0\x02\x08\x1e\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\xf1\x02\x02\x1b\n\r\n\x05\x04\x08\x02\x00\x04\x12\x04\xf1\x02\x02\n\n\r\n\x05\x04\x08\x02\x00\x05\x12\x04\xf1\x02\x0b\x11\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\xf1\x02\x12\x16\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\xf1\x02\x19\x1a\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\xf2\x02\x02,\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\xf2\x02\x02\n\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\xf2\x02\x0b \n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\xf2\x02!\'\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xf2\x02*+\n\x0c\n\x04\x04\x08\x02\x02\x12\x04\xf4\x02\x02&\n\r\n\x05\x04\x08\x02\x02\x04\x12\x04\xf4\x02\x02\n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\xf4\x02\x0b\x19\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\xf4\x02\x1a!\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xf4\x02$%\n0\n\x02\x04\t\x12\x06\xf8\x02\x00\x86\x03\x01\x1a\" Describes a method of a service.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xf8\x02\x08\x1d\n\x0c\n\x04\x04\t\x02\x00\x12\x04\xf9\x02\x02\x1b\n\r\n\x05\x04\t\x02\x00\x04\x12\x04\xf9\x02\x02\n\n\r\n\x05\x04\t\x02\x00\x05\x12\x04\xf9\x02\x0b\x11\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\xf9\x02\x12\x16\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\xf9\x02\x19\x1a\n\x97\x01\n\x04\x04\t\x02\x01\x12\x04\xfd\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\xfd\x02\x02\n\n\r\n\x05\x04\t\x02\x01\x05\x12\x04\xfd\x02\x0b\x11\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xfd\x02\x12\x1c\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xfd\x02\x1f \n\x0c\n\x04\x04\t\x02\x02\x12\x04\xfe\x02\x02\"\n\r\n\x05\x04\t\x02\x02\x04\x12\x04\xfe\x02\x02\n\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\xfe\x02\x0b\x11\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xfe\x02\x12\x1d\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xfe\x02 !\n\x0c\n\x04\x04\t\x02\x03\x12\x04\x80\x03\x02%\n\r\n\x05\x04\t\x02\x03\x04\x12\x04\x80\x03\x02\n\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\x80\x03\x0b\x18\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\x80\x03\x19 \n\r\n\x05\x04\t\x02\x03\x03\x12\x04\x80\x03#$\nE\n\x04\x04\t\x02\x04\x12\x04\x83\x03\x027\x1a7 Identifies if client streams multiple client messages\n\n\r\n\x05\x04\t\x02\x04\x04\x12\x04\x83\x03\x02\n\n\r\n\x05\x04\t\x02\x04\x05\x12\x04\x83\x03\x0b\x0f\n\r\n\x05\x04\t\x02\x04\x01\x12\x04\x83\x03\x10 \n\r\n\x05\x04\t\x02\x04\x03\x12\x04\x83\x03#$\n\r\n\x05\x04\t\x02\x04\x08\x12\x04\x83\x03%6\n\r\n\x05\x04\t\x02\x04\x07\x12\x04\x83\x0305\nE\n\x04\x04\t\x02\x05\x12\x04\x85\x03\x027\x1a7 Identifies if server streams multiple server messages\n\n\r\n\x05\x04\t\x02\x05\x04\x12\x04\x85\x03\x02\n\n\r\n\x05\x04\t\x02\x05\x05\x12\x04\x85\x03\x0b\x0f\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\x85\x03\x10 \n\r\n\x05\x04\t\x02\x05\x03\x12\x04\x85\x03#$\n\r\n\x05\x04\t\x02\x05\x08\x12\x04\x85\x03%6\n\r\n\x05\x04\t\x02\x05\x07\x12\x04\x85\x0305\n\xaf\x0e\n\x02\x04\n\x12\x06\xa8\x03\x00\x9f\x04\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\xa8\x03\x08\x13\n\xf4\x01\n\x04\x04\n\x02\x00\x12\x04\xae\x03\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\xae\x03\x02\n\n\r\n\x05\x04\n\x02\x00\x05\x12\x04\xae\x03\x0b\x11\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xae\x03\x12\x1e\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xae\x03!\"\n\xf1\x02\n\x04\x04\n\x02\x01\x12\x04\xb5\x03\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\xb5\x03\x02\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xb5\x03\x0b\x11\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xb5\x03\x12&\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xb5\x03)*\n\xa6\x03\n\x04\x04\n\x02\x02\x12\x04\xbd\x03\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\xbd\x03\x02\n\n\r\n\x05\x04\n\x02\x02\x05\x12\x04\xbd\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xbd\x03\x10#\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xbd\x03&(\n\r\n\x05\x04\n\x02\x02\x08\x12\x04\xbd\x03):\n\r\n\x05\x04\n\x02\x02\x07\x12\x04\xbd\x0349\n)\n\x04\x04\n\x02\x03\x12\x04\xc0\x03\x02E\x1a\x1b This option does nothing.\n\n\r\n\x05\x04\n\x02\x03\x04\x12\x04\xc0\x03\x02\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xc0\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xc0\x03\x10-\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xc0\x0302\n\r\n\x05\x04\n\x02\x03\x08\x12\x04\xc0\x033D\n\x0e\n\x06\x04\n\x02\x03\x08\x03\x12\x04\xc0\x034C\n\xe6\x02\n\x04\x04\n\x02\x04\x12\x04\xc8\x03\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\xc8\x03\x02\n\n\r\n\x05\x04\n\x02\x04\x05\x12\x04\xc8\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xc8\x03\x10&\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xc8\x03)+\n\r\n\x05\x04\n\x02\x04\x08\x12\x04\xc8\x03,=\n\r\n\x05\x04\n\x02\x04\x07\x12\x04\xc8\x037<\nL\n\x04\x04\n\x04\x00\x12\x06\xcb\x03\x02\xd0\x03\x03\x1a< Generated classes can be optimized for speed or code size.\n\n\r\n\x05\x04\n\x04\x00\x01\x12\x04\xcb\x03\x07\x13\nD\n\x06\x04\n\x04\x00\x02\x00\x12\x04\xcc\x03\x04\x0e\"4 Generate complete code for parsing, serialization,\n\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x01\x12\x04\xcc\x03\x04\t\n\x0f\n\x07\x04\n\x04\x00\x02\x00\x02\x12\x04\xcc\x03\x0c\r\nG\n\x06\x04\n\x04\x00\x02\x01\x12\x04\xce\x03\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\xce\x03\x04\r\n\x0f\n\x07\x04\n\x04\x00\x02\x01\x02\x12\x04\xce\x03\x10\x11\nG\n\x06\x04\n\x04\x00\x02\x02\x12\x04\xcf\x03\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\xcf\x03\x04\x10\n\x0f\n\x07\x04\n\x04\x00\x02\x02\x02\x12\x04\xcf\x03\x13\x14\n\x0c\n\x04\x04\n\x02\x05\x12\x04\xd1\x03\x02;\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\xd1\x03\x02\n\n\r\n\x05\x04\n\x02\x05\x06\x12\x04\xd1\x03\x0b\x17\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xd1\x03\x18$\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xd1\x03\'(\n\r\n\x05\x04\n\x02\x05\x08\x12\x04\xd1\x03):\n\r\n\x05\x04\n\x02\x05\x07\x12\x04\xd1\x0349\n\xe2\x02\n\x04\x04\n\x02\x06\x12\x04\xd8\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\xd8\x03\x02\n\n\r\n\x05\x04\n\x02\x06\x05\x12\x04\xd8\x03\x0b\x11\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\xd8\x03\x12\x1c\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xd8\x03\x1f!\n\xd4\x04\n\x04\x04\n\x02\x07\x12\x04\xe4\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\xe4\x03\x02\n\n\r\n\x05\x04\n\x02\x07\x05\x12\x04\xe4\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x07\x01\x12\x04\xe4\x03\x10#\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\xe4\x03&(\n\r\n\x05\x04\n\x02\x07\x08\x12\x04\xe4\x03):\n\r\n\x05\x04\n\x02\x07\x07\x12\x04\xe4\x0349\n\x0c\n\x04\x04\n\x02\x08\x12\x04\xe5\x03\x02=\n\r\n\x05\x04\n\x02\x08\x04\x12\x04\xe5\x03\x02\n\n\r\n\x05\x04\n\x02\x08\x05\x12\x04\xe5\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\xe5\x03\x10%\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\xe5\x03(*\n\r\n\x05\x04\n\x02\x08\x08\x12\x04\xe5\x03+<\n\r\n\x05\x04\n\x02\x08\x07\x12\x04\xe5\x036;\n\x0c\n\x04\x04\n\x02\t\x12\x04\xe6\x03\x02;\n\r\n\x05\x04\n\x02\t\x04\x12\x04\xe6\x03\x02\n\n\r\n\x05\x04\n\x02\t\x05\x12\x04\xe6\x03\x0b\x0f\n\r\n\x05\x04\n\x02\t\x01\x12\x04\xe6\x03\x10#\n\r\n\x05\x04\n\x02\t\x03\x12\x04\xe6\x03&(\n\r\n\x05\x04\n\x02\t\x08\x12\x04\xe6\x03):\n\r\n\x05\x04\n\x02\t\x07\x12\x04\xe6\x0349\n+\n\x03\x04\n\t\x12\x04\xe7\x03\x02\x0e\"\x1e removed php_generic_services\n\n\x0c\n\x04\x04\n\t\x00\x12\x04\xe7\x03\x0b\r\n\r\n\x05\x04\n\t\x00\x01\x12\x04\xe7\x03\x0b\r\n\r\n\x05\x04\n\t\x00\x02\x12\x04\xe7\x03\x0b\r\n\xf3\x01\n\x04\x04\n\x02\n\x12\x04\xed\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\n\x04\x12\x04\xed\x03\x02\n\n\r\n\x05\x04\n\x02\n\x05\x12\x04\xed\x03\x0b\x0f\n\r\n\x05\x04\n\x02\n\x01\x12\x04\xed\x03\x10\x1a\n\r\n\x05\x04\n\x02\n\x03\x12\x04\xed\x03\x1d\x1f\n\r\n\x05\x04\n\x02\n\x08\x12\x04\xed\x03 1\n\r\n\x05\x04\n\x02\n\x07\x12\x04\xed\x03+0\n\x7f\n\x04\x04\n\x02\x0b\x12\x04\xf1\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\x0b\x04\x12\x04\xf1\x03\x02\n\n\r\n\x05\x04\n\x02\x0b\x05\x12\x04\xf1\x03\x0b\x0f\n\r\n\x05\x04\n\x02\x0b\x01\x12\x04\xf1\x03\x10 \n\r\n\x05\x04\n\x02\x0b\x03\x12\x04\xf1\x03#%\n\r\n\x05\x04\n\x02\x0b\x08\x12\x04\xf1\x03&6\n\r\n\x05\x04\n\x02\x0b\x07\x12\x04\xf1\x0315\n\x92\x01\n\x04\x04\n\x02\x0c\x12\x04\xf5\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\x0c\x04\x12\x04\xf5\x03\x02\n\n\r\n\x05\x04\n\x02\x0c\x05\x12\x04\xf5\x03\x0b\x11\n\r\n\x05\x04\n\x02\x0c\x01\x12\x04\xf5\x03\x12#\n\r\n\x05\x04\n\x02\x0c\x03\x12\x04\xf5\x03&(\nI\n\x04\x04\n\x02\r\x12\x04\xf8\x03\x02(\x1a; Namespace for generated classes; defaults to the package.\n\n\r\n\x05\x04\n\x02\r\x04\x12\x04\xf8\x03\x02\n\n\r\n\x05\x04\n\x02\r\x05\x12\x04\xf8\x03\x0b\x11\n\r\n\x05\x04\n\x02\r\x01\x12\x04\xf8\x03\x12\"\n\r\n\x05\x04\n\x02\r\x03\x12\x04\xf8\x03%\'\n\x91\x02\n\x04\x04\n\x02\x0e\x12\x04\xfe\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\x0e\x04\x12\x04\xfe\x03\x02\n\n\r\n\x05\x04\n\x02\x0e\x05\x12\x04\xfe\x03\x0b\x11\n\r\n\x05\x04\n\x02\x0e\x01\x12\x04\xfe\x03\x12\x1e\n\r\n\x05\x04\n\x02\x0e\x03\x12\x04\xfe\x03!#\n~\n\x04\x04\n\x02\x0f\x12\x04\x82\x04\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\x0f\x04\x12\x04\x82\x04\x02\n\n\r\n\x05\x04\n\x02\x0f\x05\x12\x04\x82\x04\x0b\x11\n\r\n\x05\x04\n\x02\x0f\x01\x12\x04\x82\x04\x12\"\n\r\n\x05\x04\n\x02\x0f\x03\x12\x04\x82\x04%\'\n\xbe\x01\n\x04\x04\n\x02\x10\x12\x04\x87\x04\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\x10\x04\x12\x04\x87\x04\x02\n\n\r\n\x05\x04\n\x02\x10\x05\x12\x04\x87\x04\x0b\x11\n\r\n\x05\x04\n\x02\x10\x01\x12\x04\x87\x04\x12\x1f\n\r\n\x05\x04\n\x02\x10\x03\x12\x04\x87\x04\"$\n\xca\x01\n\x04\x04\n\x02\x11\x12\x04\x8c\x04\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\x11\x04\x12\x04\x8c\x04\x02\n\n\r\n\x05\x04\n\x02\x11\x05\x12\x04\x8c\x04\x0b\x11\n\r\n\x05\x04\n\x02\x11\x01\x12\x04\x8c\x04\x12(\n\r\n\x05\x04\n\x02\x11\x03\x12\x04\x8c\x04+-\n\xc2\x01\n\x04\x04\n\x02\x12\x12\x04\x91\x04\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\x12\x04\x12\x04\x91\x04\x02\n\n\r\n\x05\x04\n\x02\x12\x05\x12\x04\x91\x04\x0b\x11\n\r\n\x05\x04\n\x02\x12\x01\x12\x04\x91\x04\x12\x1e\n\r\n\x05\x04\n\x02\x12\x03\x12\x04\x91\x04!#\n=\n\x04\x04\n\x02\x13\x12\x04\x94\x04\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\n\x02\x13\x04\x12\x04\x94\x04\x02\n\n\r\n\x05\x04\n\x02\x13\x06\x12\x04\x94\x04\x0b\x15\n\r\n\x05\x04\n\x02\x13\x01\x12\x04\x94\x04\x16\x1e\n\r\n\x05\x04\n\x02\x13\x03\x12\x04\x94\x04!#\n|\n\x04\x04\n\x02\x14\x12\x04\x98\x04\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\x98\x04\x02\n\n\r\n\x05\x04\n\x02\x14\x06\x12\x04\x98\x04\x0b\x1e\n\r\n\x05\x04\n\x02\x14\x01\x12\x04\x98\x04\x1f3\n\r\n\x05\x04\n\x02\x14\x03\x12\x04\x98\x0469\n\x87\x01\n\x03\x04\n\x05\x12\x04\x9c\x04\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\x9c\x04\r\x18\n\r\n\x05\x04\n\x05\x00\x01\x12\x04\x9c\x04\r\x11\n\r\n\x05\x04\n\x05\x00\x02\x12\x04\x9c\x04\x15\x18\n\x0b\n\x03\x04\n\t\x12\x04\x9e\x04\x02\x0e\n\x0c\n\x04\x04\n\t\x01\x12\x04\x9e\x04\x0b\r\n\r\n\x05\x04\n\t\x01\x01\x12\x04\x9e\x04\x0b\r\n\r\n\x05\x04\n\t\x01\x02\x12\x04\x9e\x04\x0b\r\n\x0c\n\x02\x04\x0b\x12\x06\xa1\x04\x00\xf1\x04\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xa1\x04\x08\x16\n\xd8\x05\n\x04\x04\x0b\x02\x00\x12\x04\xb4\x04\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\xb4\x04\x02\n\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\xb4\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xb4\x04\x10\'\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xb4\x04*+\n\r\n\x05\x04\x0b\x02\x00\x08\x12\x04\xb4\x04,=\n\r\n\x05\x04\x0b\x02\x00\x07\x12\x04\xb4\x047<\n\xeb\x01\n\x04\x04\x0b\x02\x01\x12\x04\xb9\x04\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\xb9\x04\x02\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xb9\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xb9\x04\x10/\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xb9\x0423\n\r\n\x05\x04\x0b\x02\x01\x08\x12\x04\xb9\x044E\n\r\n\x05\x04\x0b\x02\x01\x07\x12\x04\xb9\x04?D\n\xee\x01\n\x04\x04\x0b\x02\x02\x12\x04\xbf\x04\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\xbf\x04\x02\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xbf\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xbf\x04\x10\x1a\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xbf\x04\x1d\x1e\n\r\n\x05\x04\x0b\x02\x02\x08\x12\x04\xbf\x04\x1f0\n\r\n\x05\x04\x0b\x02\x02\x07\x12\x04\xbf\x04*/\n\x0b\n\x03\x04\x0b\t\x12\x04\xc1\x04\x02\x13\n\x0c\n\x04\x04\x0b\t\x00\x12\x04\xc1\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x00\x01\x12\x04\xc1\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x00\x02\x12\x04\xc1\x04\x0b\x0c\n\x0c\n\x04\x04\x0b\t\x01\x12\x04\xc1\x04\x0e\x0f\n\r\n\x05\x04\x0b\t\x01\x01\x12\x04\xc1\x04\x0e\x0f\n\r\n\x05\x04\x0b\t\x01\x02\x12\x04\xc1\x04\x0e\x0f\n\x0c\n\x04\x04\x0b\t\x02\x12\x04\xc1\x04\x11\x12\n\r\n\x05\x04\x0b\t\x02\x01\x12\x04\xc1\x04\x11\x12\n\r\n\x05\x04\x0b\t\x02\x02\x12\x04\xc1\x04\x11\x12\n\xa0\x06\n\x04\x04\x0b\x02\x03\x12\x04\xd8\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\xd8\x04\x02\n\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xd8\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xd8\x04\x10\x19\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\xd8\x04\x1c\x1d\n$\n\x03\x04\x0b\t\x12\x04\xda\x04\x02\r\"\x17 javalite_serializable\n\n\x0c\n\x04\x04\x0b\t\x03\x12\x04\xda\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\x01\x12\x04\xda\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x03\x02\x12\x04\xda\x04\x0b\x0c\n\x1f\n\x03\x04\x0b\t\x12\x04\xdb\x04\x02\r\"\x12 javanano_as_lite\n\n\x0c\n\x04\x04\x0b\t\x04\x12\x04\xdb\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x04\x01\x12\x04\xdb\x04\x0b\x0c\n\r\n\x05\x04\x0b\t\x04\x02\x12\x04\xdb\x04\x0b\x0c\n\xdd\x03\n\x04\x04\x0b\x02\x04\x12\x04\xe7\x04\x02P\x1a\xce\x03 Enable the legacy handling of JSON field name conflicts.  This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n\n This should only be used as a temporary measure against broken builds due\n to the change in behavior for JSON field name conflicts.\n\n TODO This is legacy behavior we plan to remove once downstream\n teams have had time to migrate.\n\n\r\n\x05\x04\x0b\x02\x04\x04\x12\x04\xe7\x04\x02\n\n\r\n\x05\x04\x0b\x02\x04\x05\x12\x04\xe7\x04\x0b\x0f\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\xe7\x04\x106\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\xe7\x049;\n\r\n\x05\x04\x0b\x02\x04\x08\x12\x04\xe7\x04<O\n\x0e\n\x06\x04\x0b\x02\x04\x08\x03\x12\x04\xe7\x04=N\n=\n\x04\x04\x0b\x02\x05\x12\x04\xea\x04\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0b\x02\x05\x04\x12\x04\xea\x04\x02\n\n\r\n\x05\x04\x0b\x02\x05\x06\x12\x04\xea\x04\x0b\x15\n\r\n\x05\x04\x0b\x02\x05\x01\x12\x04\xea\x04\x16\x1e\n\r\n\x05\x04\x0b\x02\x05\x03\x12\x04\xea\x04!#\nO\n\x04\x04\x0b\x02\x06\x12\x04\xed\x04\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0b\x02\x06\x04\x12\x04\xed\x04\x02\n\n\r\n\x05\x04\x0b\x02\x06\x06\x12\x04\xed\x04\x0b\x1e\n\r\n\x05\x04\x0b\x02\x06\x01\x12\x04\xed\x04\x1f3\n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\xed\x0469\nZ\n\x03\x04\x0b\x05\x12\x04\xf0\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\xf0\x04\r\x18\n\r\n\x05\x04\x0b\x05\x00\x01\x12\x04\xf0\x04\r\x11\n\r\n\x05\x04\x0b\x05\x00\x02\x12\x04\xf0\x04\x15\x18\n\x0c\n\x02\x04\x0c\x12\x06\xf3\x04\x00\x82\x06\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\xf3\x04\x08\x14\n\x92\x03\n\x04\x04\x0c\x02\x00\x12\x04\xfa\x04\x02.\x1a\x83\x03 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 only implemented to support use of\n [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of\n type \"bytes\" in the open source release -- sorry, we\'ll try to include\n other types in a future version!\n\n\r\n\x05\x04\x0c\x02\x00\x04\x12\x04\xfa\x04\x02\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xfa\x04\x0b\x10\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xfa\x04\x11\x16\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xfa\x04\x19\x1a\n\r\n\x05\x04\x0c\x02\x00\x08\x12\x04\xfa\x04\x1b-\n\r\n\x05\x04\x0c\x02\x00\x07\x12\x04\xfa\x04&,\n\x0e\n\x04\x04\x0c\x04\x00\x12\x06\xfb\x04\x02\x88\x05\x03\n\r\n\x05\x04\x0c\x04\x00\x01\x12\x04\xfb\x04\x07\x0c\n\x1f\n\x06\x04\x0c\x04\x00\x02\x00\x12\x04\xfd\x04\x04\x0f\x1a\x0f Default mode.\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x01\x12\x04\xfd\x04\x04\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x00\x02\x12\x04\xfd\x04\r\x0e\n\x96\x03\n\x06\x04\x0c\x04\x00\x02\x01\x12\x04\x85\x05\x04\r\x1a\x85\x03 The option [ctype=CORD] may be applied to a non-repeated field of type\n \"bytes\". It indicates that in C++, the data should be stored in a Cord\n instead of a string.  For very large strings, this may reduce memory\n fragmentation. It may also allow better performance when parsing from a\n Cord, or when parsing with aliasing enabled, as the parsed Cord may then\n alias the original buffer.\n\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x01\x12\x04\x85\x05\x04\x08\n\x0f\n\x07\x04\x0c\x04\x00\x02\x01\x02\x12\x04\x85\x05\x0b\x0c\n\x0e\n\x06\x04\x0c\x04\x00\x02\x02\x12\x04\x87\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x01\x12\x04\x87\x05\x04\x10\n\x0f\n\x07\x04\x0c\x04\x00\x02\x02\x02\x12\x04\x87\x05\x13\x14\n\xd3\x03\n\x04\x04\x0c\x02\x01\x12\x04\x90\x05\x02\x1b\x1a\xc4\x03 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.  This option is prohibited in\n Editions, but the `repeated_field_encoding` feature can be used to control\n the behavior.\n\n\r\n\x05\x04\x0c\x02\x01\x04\x12\x04\x90\x05\x02\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x90\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x90\x05\x10\x16\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\x90\x05\x19\x1a\n\x9a\x05\n\x04\x04\x0c\x02\x02\x12\x04\x9d\x05\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\x9d\x05\x02\n\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\x9d\x05\x0b\x11\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\x9d\x05\x12\x18\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\x9d\x05\x1b\x1c\n\r\n\x05\x04\x0c\x02\x02\x08\x12\x04\x9d\x05\x1d2\n\r\n\x05\x04\x0c\x02\x02\x07\x12\x04\x9d\x05(1\n\x0e\n\x04\x04\x0c\x04\x01\x12\x06\x9e\x05\x02\xa7\x05\x03\n\r\n\x05\x04\x0c\x04\x01\x01\x12\x04\x9e\x05\x07\r\n\'\n\x06\x04\x0c\x04\x01\x02\x00\x12\x04\xa0\x05\x04\x12\x1a\x17 Use the default type.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x00\x01\x12\x04\xa0\x05\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x00\x02\x12\x04\xa0\x05\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x01\x12\x04\xa3\x05\x04\x12\x1a\x19 Use JavaScript strings.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x01\x01\x12\x04\xa3\x05\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x01\x02\x12\x04\xa3\x05\x10\x11\n)\n\x06\x04\x0c\x04\x01\x02\x02\x12\x04\xa6\x05\x04\x12\x1a\x19 Use JavaScript numbers.\n\n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x01\x12\x04\xa6\x05\x04\r\n\x0f\n\x07\x04\x0c\x04\x01\x02\x02\x02\x12\x04\xa6\x05\x10\x11\n\x99\n\n\x04\x04\x0c\x02\x03\x12\x04\xbf\x05\x02+\x1a\x8a\n 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 Note that lazy message fields are still eagerly verified to check\n ill-formed wireformat or missing required fields. Calling IsInitialized()\n on the outer message would fail if the inner message has missing required\n fields. Failed verification would result in parsing failure (except when\n uninitialized messages are acceptable).\n\n\r\n\x05\x04\x0c\x02\x03\x04\x12\x04\xbf\x05\x02\n\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\xbf\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xbf\x05\x10\x14\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xbf\x05\x17\x18\n\r\n\x05\x04\x0c\x02\x03\x08\x12\x04\xbf\x05\x19*\n\r\n\x05\x04\x0c\x02\x03\x07\x12\x04\xbf\x05$)\n\xaf\x01\n\x04\x04\x0c\x02\x04\x12\x04\xc4\x05\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\xc4\x05\x02\n\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\xc4\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xc4\x05\x10\x1f\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xc4\x05\"$\n\r\n\x05\x04\x0c\x02\x04\x08\x12\x04\xc4\x05%6\n\r\n\x05\x04\x0c\x02\x04\x07\x12\x04\xc4\x0505\n\xe8\x01\n\x04\x04\x0c\x02\x05\x12\x04\xca\x05\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\xca\x05\x02\n\n\r\n\x05\x04\x0c\x02\x05\x05\x12\x04\xca\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\xca\x05\x10\x1a\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\xca\x05\x1d\x1e\n\r\n\x05\x04\x0c\x02\x05\x08\x12\x04\xca\x05\x1f0\n\r\n\x05\x04\x0c\x02\x05\x07\x12\x04\xca\x05*/\n?\n\x04\x04\x0c\x02\x06\x12\x04\xcd\x05\x02,\x1a1 For Google-internal migration only. Do not use.\n\n\r\n\x05\x04\x0c\x02\x06\x04\x12\x04\xcd\x05\x02\n\n\r\n\x05\x04\x0c\x02\x06\x05\x12\x04\xcd\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x06\x01\x12\x04\xcd\x05\x10\x14\n\r\n\x05\x04\x0c\x02\x06\x03\x12\x04\xcd\x05\x17\x19\n\r\n\x05\x04\x0c\x02\x06\x08\x12\x04\xcd\x05\x1a+\n\r\n\x05\x04\x0c\x02\x06\x07\x12\x04\xcd\x05%*\n\x97\x01\n\x04\x04\x0c\x02\x07\x12\x04\xd1\x05\x024\x1a\x88\x01 Indicate that the field value should not be printed out when using debug\n formats, e.g. when the field contains sensitive credentials.\n\n\r\n\x05\x04\x0c\x02\x07\x04\x12\x04\xd1\x05\x02\n\n\r\n\x05\x04\x0c\x02\x07\x05\x12\x04\xd1\x05\x0b\x0f\n\r\n\x05\x04\x0c\x02\x07\x01\x12\x04\xd1\x05\x10\x1c\n\r\n\x05\x04\x0c\x02\x07\x03\x12\x04\xd1\x05\x1f!\n\r\n\x05\x04\x0c\x02\x07\x08\x12\x04\xd1\x05\"3\n\r\n\x05\x04\x0c\x02\x07\x07\x12\x04\xd1\x05-2\n\xc5\x01\n\x04\x04\x0c\x04\x02\x12\x06\xd6\x05\x02\xda\x05\x03\x1a\xb4\x01 If set to RETENTION_SOURCE, the option will be omitted from the binary.\n Note: as of January 2023, support for this is in progress and does not yet\n have an effect (b/264593489).\n\n\r\n\x05\x04\x0c\x04\x02\x01\x12\x04\xd6\x05\x07\x16\n\x0e\n\x06\x04\x0c\x04\x02\x02\x00\x12\x04\xd7\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x02\x02\x00\x01\x12\x04\xd7\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x02\x02\x00\x02\x12\x04\xd7\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x02\x02\x01\x12\x04\xd8\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x02\x02\x01\x01\x12\x04\xd8\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x02\x02\x01\x02\x12\x04\xd8\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x02\x02\x02\x12\x04\xd9\x05\x04\x19\n\x0f\n\x07\x04\x0c\x04\x02\x02\x02\x01\x12\x04\xd9\x05\x04\x14\n\x0f\n\x07\x04\x0c\x04\x02\x02\x02\x02\x12\x04\xd9\x05\x17\x18\n\x0c\n\x04\x04\x0c\x02\x08\x12\x04\xdc\x05\x02*\n\r\n\x05\x04\x0c\x02\x08\x04\x12\x04\xdc\x05\x02\n\n\r\n\x05\x04\x0c\x02\x08\x06\x12\x04\xdc\x05\x0b\x1a\n\r\n\x05\x04\x0c\x02\x08\x01\x12\x04\xdc\x05\x1b$\n\r\n\x05\x04\x0c\x02\x08\x03\x12\x04\xdc\x05\')\n\xad\x02\n\x04\x04\x0c\x04\x03\x12\x06\xe2\x05\x02\xed\x05\x03\x1a\x9c\x02 This indicates the types of entities that the field may apply to when used\n as an option. If it is unset, then the field may be freely used as an\n option on any kind of entity. Note: as of January 2023, support for this is\n in progress and does not yet have an effect (b/264593489).\n\n\r\n\x05\x04\x0c\x04\x03\x01\x12\x04\xe2\x05\x07\x17\n\x0e\n\x06\x04\x0c\x04\x03\x02\x00\x12\x04\xe3\x05\x04\x1c\n\x0f\n\x07\x04\x0c\x04\x03\x02\x00\x01\x12\x04\xe3\x05\x04\x17\n\x0f\n\x07\x04\x0c\x04\x03\x02\x00\x02\x12\x04\xe3\x05\x1a\x1b\n\x0e\n\x06\x04\x0c\x04\x03\x02\x01\x12\x04\xe4\x05\x04\x19\n\x0f\n\x07\x04\x0c\x04\x03\x02\x01\x01\x12\x04\xe4\x05\x04\x14\n\x0f\n\x07\x04\x0c\x04\x03\x02\x01\x02\x12\x04\xe4\x05\x17\x18\n\x0e\n\x06\x04\x0c\x04\x03\x02\x02\x12\x04\xe5\x05\x04$\n\x0f\n\x07\x04\x0c\x04\x03\x02\x02\x01\x12\x04\xe5\x05\x04\x1f\n\x0f\n\x07\x04\x0c\x04\x03\x02\x02\x02\x12\x04\xe5\x05\"#\n\x0e\n\x06\x04\x0c\x04\x03\x02\x03\x12\x04\xe6\x05\x04\x1c\n\x0f\n\x07\x04\x0c\x04\x03\x02\x03\x01\x12\x04\xe6\x05\x04\x17\n\x0f\n\x07\x04\x0c\x04\x03\x02\x03\x02\x12\x04\xe6\x05\x1a\x1b\n\x0e\n\x06\x04\x0c\x04\x03\x02\x04\x12\x04\xe7\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x03\x02\x04\x01\x12\x04\xe7\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x03\x02\x04\x02\x12\x04\xe7\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x03\x02\x05\x12\x04\xe8\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x03\x02\x05\x01\x12\x04\xe8\x05\x04\x15\n\x0f\n\x07\x04\x0c\x04\x03\x02\x05\x02\x12\x04\xe8\x05\x18\x19\n\x0e\n\x06\x04\x0c\x04\x03\x02\x06\x12\x04\xe9\x05\x04\x19\n\x0f\n\x07\x04\x0c\x04\x03\x02\x06\x01\x12\x04\xe9\x05\x04\x14\n\x0f\n\x07\x04\x0c\x04\x03\x02\x06\x02\x12\x04\xe9\x05\x17\x18\n\x0e\n\x06\x04\x0c\x04\x03\x02\x07\x12\x04\xea\x05\x04\x1f\n\x0f\n\x07\x04\x0c\x04\x03\x02\x07\x01\x12\x04\xea\x05\x04\x1a\n\x0f\n\x07\x04\x0c\x04\x03\x02\x07\x02\x12\x04\xea\x05\x1d\x1e\n\x0e\n\x06\x04\x0c\x04\x03\x02\x08\x12\x04\xeb\x05\x04\x1c\n\x0f\n\x07\x04\x0c\x04\x03\x02\x08\x01\x12\x04\xeb\x05\x04\x17\n\x0f\n\x07\x04\x0c\x04\x03\x02\x08\x02\x12\x04\xeb\x05\x1a\x1b\n\x0e\n\x06\x04\x0c\x04\x03\x02\t\x12\x04\xec\x05\x04\x1b\n\x0f\n\x07\x04\x0c\x04\x03\x02\t\x01\x12\x04\xec\x05\x04\x16\n\x0f\n\x07\x04\x0c\x04\x03\x02\t\x02\x12\x04\xec\x05\x19\x1a\n\x0c\n\x04\x04\x0c\x02\t\x12\x04\xef\x05\x02)\n\r\n\x05\x04\x0c\x02\t\x04\x12\x04\xef\x05\x02\n\n\r\n\x05\x04\x0c\x02\t\x06\x12\x04\xef\x05\x0b\x1b\n\r\n\x05\x04\x0c\x02\t\x01\x12\x04\xef\x05\x1c#\n\r\n\x05\x04\x0c\x02\t\x03\x12\x04\xef\x05&(\n\x0e\n\x04\x04\x0c\x03\x00\x12\x06\xf1\x05\x02\xf4\x05\x03\n\r\n\x05\x04\x0c\x03\x00\x01\x12\x04\xf1\x05\n\x18\n\x0e\n\x06\x04\x0c\x03\x00\x02\x00\x12\x04\xf2\x05\x04!\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x04\x12\x04\xf2\x05\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x06\x12\x04\xf2\x05\r\x14\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x01\x12\x04\xf2\x05\x15\x1c\n\x0f\n\x07\x04\x0c\x03\x00\x02\x00\x03\x12\x04\xf2\x05\x1f \n\"\n\x06\x04\x0c\x03\x00\x02\x01\x12\x04\xf3\x05\x04\x1e\"\x12 Textproto value.\n\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x04\x12\x04\xf3\x05\x04\x0c\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x05\x12\x04\xf3\x05\r\x13\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x01\x12\x04\xf3\x05\x14\x19\n\x0f\n\x07\x04\x0c\x03\x00\x02\x01\x03\x12\x04\xf3\x05\x1c\x1d\n\x0c\n\x04\x04\x0c\x02\n\x12\x04\xf5\x05\x020\n\r\n\x05\x04\x0c\x02\n\x04\x12\x04\xf5\x05\x02\n\n\r\n\x05\x04\x0c\x02\n\x06\x12\x04\xf5\x05\x0b\x19\n\r\n\x05\x04\x0c\x02\n\x01\x12\x04\xf5\x05\x1a*\n\r\n\x05\x04\x0c\x02\n\x03\x12\x04\xf5\x05-/\n=\n\x04\x04\x0c\x02\x0b\x12\x04\xf8\x05\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0c\x02\x0b\x04\x12\x04\xf8\x05\x02\n\n\r\n\x05\x04\x0c\x02\x0b\x06\x12\x04\xf8\x05\x0b\x15\n\r\n\x05\x04\x0c\x02\x0b\x01\x12\x04\xf8\x05\x16\x1e\n\r\n\x05\x04\x0c\x02\x0b\x03\x12\x04\xf8\x05!#\nO\n\x04\x04\x0c\x02\x0c\x12\x04\xfb\x05\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0c\x02\x0c\x04\x12\x04\xfb\x05\x02\n\n\r\n\x05\x04\x0c\x02\x0c\x06\x12\x04\xfb\x05\x0b\x1e\n\r\n\x05\x04\x0c\x02\x0c\x01\x12\x04\xfb\x05\x1f3\n\r\n\x05\x04\x0c\x02\x0c\x03\x12\x04\xfb\x0569\nZ\n\x03\x04\x0c\x05\x12\x04\xfe\x05\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\xfe\x05\r\x18\n\r\n\x05\x04\x0c\x05\x00\x01\x12\x04\xfe\x05\r\x11\n\r\n\x05\x04\x0c\x05\x00\x02\x12\x04\xfe\x05\x15\x18\n\x1c\n\x03\x04\x0c\t\x12\x04\x80\x06\x02\r\"\x0f removed jtype\n\n\x0c\n\x04\x04\x0c\t\x00\x12\x04\x80\x06\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x01\x12\x04\x80\x06\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x02\x12\x04\x80\x06\x0b\x0c\n9\n\x03\x04\x0c\t\x12\x04\x81\x06\x02\x0e\", reserve target, target_obsolete_do_not_use\n\n\x0c\n\x04\x04\x0c\t\x01\x12\x04\x81\x06\x0b\r\n\r\n\x05\x04\x0c\t\x01\x01\x12\x04\x81\x06\x0b\r\n\r\n\x05\x04\x0c\t\x01\x02\x12\x04\x81\x06\x0b\r\n\x0c\n\x02\x04\r\x12\x06\x84\x06\x00\x8d\x06\x01\n\x0b\n\x03\x04\r\x01\x12\x04\x84\x06\x08\x14\n=\n\x04\x04\r\x02\x00\x12\x04\x86\x06\x02#\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\r\x02\x00\x04\x12\x04\x86\x06\x02\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\x86\x06\x0b\x15\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\x86\x06\x16\x1e\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\x86\x06!\"\nO\n\x04\x04\r\x02\x01\x12\x04\x89\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\r\x02\x01\x04\x12\x04\x89\x06\x02\n\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\x89\x06\x0b\x1e\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\x89\x06\x1f3\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\x89\x0669\nZ\n\x03\x04\r\x05\x12\x04\x8c\x06\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\x8c\x06\r\x18\n\r\n\x05\x04\r\x05\x00\x01\x12\x04\x8c\x06\r\x11\n\r\n\x05\x04\r\x05\x00\x02\x12\x04\x8c\x06\x15\x18\n\x0c\n\x02\x04\x0e\x12\x06\x8f\x06\x00\xad\x06\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\x8f\x06\x08\x13\n`\n\x04\x04\x0e\x02\x00\x12\x04\x93\x06\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\x93\x06\x02\n\n\r\n\x05\x04\x0e\x02\x00\x05\x12\x04\x93\x06\x0b\x0f\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x93\x06\x10\x1b\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x93\x06\x1e\x1f\n\xe5\x01\n\x04\x04\x0e\x02\x01\x12\x04\x99\x06\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\x99\x06\x02\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\x99\x06\x0b\x0f\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\x99\x06\x10\x1a\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\x99\x06\x1d\x1e\n\r\n\x05\x04\x0e\x02\x01\x08\x12\x04\x99\x06\x1f0\n\r\n\x05\x04\x0e\x02\x01\x07\x12\x04\x99\x06*/\n\x1f\n\x03\x04\x0e\t\x12\x04\x9b\x06\x02\r\"\x12 javanano_as_lite\n\n\x0c\n\x04\x04\x0e\t\x00\x12\x04\x9b\x06\x0b\x0c\n\r\n\x05\x04\x0e\t\x00\x01\x12\x04\x9b\x06\x0b\x0c\n\r\n\x05\x04\x0e\t\x00\x02\x12\x04\x9b\x06\x0b\x0c\n\xc8\x02\n\x04\x04\x0e\x02\x02\x12\x04\xa3\x06\x02O\x1a\xb9\x02 Enable the legacy handling of JSON field name conflicts.  This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n TODO Remove this legacy behavior once downstream teams have\n had time to migrate.\n\n\r\n\x05\x04\x0e\x02\x02\x04\x12\x04\xa3\x06\x02\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xa3\x06\x0b\x0f\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xa3\x06\x106\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xa3\x069:\n\r\n\x05\x04\x0e\x02\x02\x08\x12\x04\xa3\x06;N\n\x0e\n\x06\x04\x0e\x02\x02\x08\x03\x12\x04\xa3\x06<M\n=\n\x04\x04\x0e\x02\x03\x12\x04\xa6\x06\x02#\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0e\x02\x03\x04\x12\x04\xa6\x06\x02\n\n\r\n\x05\x04\x0e\x02\x03\x06\x12\x04\xa6\x06\x0b\x15\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\xa6\x06\x16\x1e\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\xa6\x06!\"\nO\n\x04\x04\x0e\x02\x04\x12\x04\xa9\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0e\x02\x04\x04\x12\x04\xa9\x06\x02\n\n\r\n\x05\x04\x0e\x02\x04\x06\x12\x04\xa9\x06\x0b\x1e\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xa9\x06\x1f3\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xa9\x0669\nZ\n\x03\x04\x0e\x05\x12\x04\xac\x06\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\xac\x06\r\x18\n\r\n\x05\x04\x0e\x05\x00\x01\x12\x04\xac\x06\r\x11\n\r\n\x05\x04\x0e\x05\x00\x02\x12\x04\xac\x06\x15\x18\n\x0c\n\x02\x04\x0f\x12\x06\xaf\x06\x00\xc3\x06\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xaf\x06\x08\x18\n\xf7\x01\n\x04\x04\x0f\x02\x00\x12\x04\xb4\x06\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\xb4\x06\x02\n\n\r\n\x05\x04\x0f\x02\x00\x05\x12\x04\xb4\x06\x0b\x0f\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xb4\x06\x10\x1a\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xb4\x06\x1d\x1e\n\r\n\x05\x04\x0f\x02\x00\x08\x12\x04\xb4\x06\x1f0\n\r\n\x05\x04\x0f\x02\x00\x07\x12\x04\xb4\x06*/\n=\n\x04\x04\x0f\x02\x01\x12\x04\xb7\x06\x02#\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x0f\x02\x01\x04\x12\x04\xb7\x06\x02\n\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xb7\x06\x0b\x15\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xb7\x06\x16\x1e\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xb7\x06!\"\n\xae\x01\n\x04\x04\x0f\x02\x02\x12\x04\xbc\x06\x023\x1a\x9f\x01 Indicate that fields annotated with this enum value should not be printed\n out when using debug formats, e.g. when the field contains sensitive\n credentials.\n\n\r\n\x05\x04\x0f\x02\x02\x04\x12\x04\xbc\x06\x02\n\n\r\n\x05\x04\x0f\x02\x02\x05\x12\x04\xbc\x06\x0b\x0f\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xbc\x06\x10\x1c\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xbc\x06\x1f \n\r\n\x05\x04\x0f\x02\x02\x08\x12\x04\xbc\x06!2\n\r\n\x05\x04\x0f\x02\x02\x07\x12\x04\xbc\x06,1\nO\n\x04\x04\x0f\x02\x03\x12\x04\xbf\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x0f\x02\x03\x04\x12\x04\xbf\x06\x02\n\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\xbf\x06\x0b\x1e\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xbf\x06\x1f3\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xbf\x0669\nZ\n\x03\x04\x0f\x05\x12\x04\xc2\x06\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\xc2\x06\r\x18\n\r\n\x05\x04\x0f\x05\x00\x01\x12\x04\xc2\x06\r\x11\n\r\n\x05\x04\x0f\x05\x00\x02\x12\x04\xc2\x06\x15\x18\n\x0c\n\x02\x04\x10\x12\x06\xc5\x06\x00\xda\x06\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xc5\x06\x08\x16\n=\n\x04\x04\x10\x02\x00\x12\x04\xc8\x06\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x10\x02\x00\x04\x12\x04\xc8\x06\x02\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xc8\x06\x0b\x15\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xc8\x06\x16\x1e\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xc8\x06!#\n\xd9\x03\n\x04\x04\x10\x02\x01\x12\x04\xd3\x06\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\x01\x04\x12\x04\xd3\x06\x02\n\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xd3\x06\x0b\x0f\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xd3\x06\x10\x1a\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xd3\x06\x1d\x1f\n\r\n\x05\x04\x10\x02\x01\x08\x12\x04\xd3\x06 1\n\r\n\x05\x04\x10\x02\x01\x07\x12\x04\xd3\x06+0\nO\n\x04\x04\x10\x02\x02\x12\x04\xd6\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x10\x02\x02\x04\x12\x04\xd6\x06\x02\n\n\r\n\x05\x04\x10\x02\x02\x06\x12\x04\xd6\x06\x0b\x1e\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xd6\x06\x1f3\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xd6\x0669\nZ\n\x03\x04\x10\x05\x12\x04\xd9\x06\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\xd9\x06\r\x18\n\r\n\x05\x04\x10\x05\x00\x01\x12\x04\xd9\x06\r\x11\n\r\n\x05\x04\x10\x05\x00\x02\x12\x04\xd9\x06\x15\x18\n\x0c\n\x02\x04\x11\x12\x06\xdc\x06\x00\xfc\x06\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xdc\x06\x08\x15\n\xd6\x03\n\x04\x04\x11\x02\x00\x12\x04\xe7\x06\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\xe7\x06\x02\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xe7\x06\x0b\x0f\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xe7\x06\x10\x1a\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xe7\x06\x1d\x1f\n\r\n\x05\x04\x11\x02\x00\x08\x12\x04\xe7\x06 1\n\r\n\x05\x04\x11\x02\x00\x07\x12\x04\xe7\x06+0\n\xf0\x01\n\x04\x04\x11\x04\x00\x12\x06\xec\x06\x02\xf0\x06\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\xec\x06\x07\x17\n\x0e\n\x06\x04\x11\x04\x00\x02\x00\x12\x04\xed\x06\x04\x1c\n\x0f\n\x07\x04\x11\x04\x00\x02\x00\x01\x12\x04\xed\x06\x04\x17\n\x0f\n\x07\x04\x11\x04\x00\x02\x00\x02\x12\x04\xed\x06\x1a\x1b\n$\n\x06\x04\x11\x04\x00\x02\x01\x12\x04\xee\x06\x04\x18\"\x14 implies idempotent\n\n\x0f\n\x07\x04\x11\x04\x00\x02\x01\x01\x12\x04\xee\x06\x04\x13\n\x0f\n\x07\x04\x11\x04\x00\x02\x01\x02\x12\x04\xee\x06\x16\x17\n7\n\x06\x04\x11\x04\x00\x02\x02\x12\x04\xef\x06\x04\x13\"\' idempotent, but may have side effects\n\n\x0f\n\x07\x04\x11\x04\x00\x02\x02\x01\x12\x04\xef\x06\x04\x0e\n\x0f\n\x07\x04\x11\x04\x00\x02\x02\x02\x12\x04\xef\x06\x11\x12\n\x0e\n\x04\x04\x11\x02\x01\x12\x06\xf1\x06\x02\xf2\x06&\n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\xf1\x06\x02\n\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\xf1\x06\x0b\x1b\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xf1\x06\x1c-\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xf1\x0602\n\r\n\x05\x04\x11\x02\x01\x08\x12\x04\xf2\x06\x06%\n\r\n\x05\x04\x11\x02\x01\x07\x12\x04\xf2\x06\x11$\n=\n\x04\x04\x11\x02\x02\x12\x04\xf5\x06\x02$\x1a/ Any features defined in the specific edition.\n\n\r\n\x05\x04\x11\x02\x02\x04\x12\x04\xf5\x06\x02\n\n\r\n\x05\x04\x11\x02\x02\x06\x12\x04\xf5\x06\x0b\x15\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xf5\x06\x16\x1e\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xf5\x06!#\nO\n\x04\x04\x11\x02\x03\x12\x04\xf8\x06\x02:\x1aA The parser stores options it doesn\'t recognize here. See above.\n\n\r\n\x05\x04\x11\x02\x03\x04\x12\x04\xf8\x06\x02\n\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\xf8\x06\x0b\x1e\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xf8\x06\x1f3\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\xf8\x0669\nZ\n\x03\x04\x11\x05\x12\x04\xfb\x06\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\xfb\x06\r\x18\n\r\n\x05\x04\x11\x05\x00\x01\x12\x04\xfb\x06\r\x11\n\r\n\x05\x04\x11\x05\x00\x02\x12\x04\xfb\x06\x15\x18\n\x8b\x03\n\x02\x04\x12\x12\x06\x84\x07\x00\x98\x07\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\x84\x07\x08\x1b\n\xcb\x02\n\x04\x04\x12\x03\x00\x12\x06\x8a\x07\x02\x8d\x07\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\x8a\x07\n\x12\n\x0e\n\x06\x04\x12\x03\x00\x02\x00\x12\x04\x8b\x07\x04\"\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x04\x12\x04\x8b\x07\x04\x0c\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x05\x12\x04\x8b\x07\r\x13\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x01\x12\x04\x8b\x07\x14\x1d\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x03\x12\x04\x8b\x07 !\n\x0e\n\x06\x04\x12\x03\x00\x02\x01\x12\x04\x8c\x07\x04#\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x04\x12\x04\x8c\x07\x04\x0c\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x05\x12\x04\x8c\x07\r\x11\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x01\x12\x04\x8c\x07\x12\x1e\n\x0f\n\x07\x04\x12\x03\x00\x02\x01\x03\x12\x04\x8c\x07!\"\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\x8e\x07\x02\x1d\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\x8e\x07\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\x8e\x07\x0b\x13\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\x8e\x07\x14\x18\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\x8e\x07\x1b\x1c\n\x9c\x01\n\x04\x04\x12\x02\x01\x12\x04\x92\x07\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\x92\x07\x02\n\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\x92\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\x92\x07\x12\"\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\x92\x07%&\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\x93\x07\x02)\n\r\n\x05\x04\x12\x02\x02\x04\x12\x04\x93\x07\x02\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\x93\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\x93\x07\x12$\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\x93\x07\'(\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\x94\x07\x02(\n\r\n\x05\x04\x12\x02\x03\x04\x12\x04\x94\x07\x02\n\n\r\n\x05\x04\x12\x02\x03\x05\x12\x04\x94\x07\x0b\x10\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\x94\x07\x11#\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\x94\x07&\'\n\x0c\n\x04\x04\x12\x02\x04\x12\x04\x95\x07\x02#\n\r\n\x05\x04\x12\x02\x04\x04\x12\x04\x95\x07\x02\n\n\r\n\x05\x04\x12\x02\x04\x05\x12\x04\x95\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\x95\x07\x12\x1e\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\x95\x07!\"\n\x0c\n\x04\x04\x12\x02\x05\x12\x04\x96\x07\x02\"\n\r\n\x05\x04\x12\x02\x05\x04\x12\x04\x96\x07\x02\n\n\r\n\x05\x04\x12\x02\x05\x05\x12\x04\x96\x07\x0b\x10\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\x96\x07\x11\x1d\n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\x96\x07 !\n\x0c\n\x04\x04\x12\x02\x06\x12\x04\x97\x07\x02&\n\r\n\x05\x04\x12\x02\x06\x04\x12\x04\x97\x07\x02\n\n\r\n\x05\x04\x12\x02\x06\x05\x12\x04\x97\x07\x0b\x11\n\r\n\x05\x04\x12\x02\x06\x01\x12\x04\x97\x07\x12!\n\r\n\x05\x04\x12\x02\x06\x03\x12\x04\x97\x07$%\n\xdb\x03\n\x02\x04\x13\x12\x06\xa3\x07\x00\xfc\x07\x01\x1a\xfb\x02 TODO Enums in C++ gencode (and potentially other languages) are\n not well scoped.  This means that each of the feature enums below can clash\n with each other.  The short names we\'ve chosen maximize call-site\n readability, but leave us very open to this scenario.  A future feature will\n be designed and implemented to handle this, hopefully before we ever hit a\n conflict here.\n2O ===================================================================\n Features\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xa3\x07\x08\x12\n\x0e\n\x04\x04\x13\x04\x00\x12\x06\xa4\x07\x02\xa9\x07\x03\n\r\n\x05\x04\x13\x04\x00\x01\x12\x04\xa4\x07\x07\x14\n\x0e\n\x06\x04\x13\x04\x00\x02\x00\x12\x04\xa5\x07\x04\x1f\n\x0f\n\x07\x04\x13\x04\x00\x02\x00\x01\x12\x04\xa5\x07\x04\x1a\n\x0f\n\x07\x04\x13\x04\x00\x02\x00\x02\x12\x04\xa5\x07\x1d\x1e\n\x0e\n\x06\x04\x13\x04\x00\x02\x01\x12\x04\xa6\x07\x04\x11\n\x0f\n\x07\x04\x13\x04\x00\x02\x01\x01\x12\x04\xa6\x07\x04\x0c\n\x0f\n\x07\x04\x13\x04\x00\x02\x01\x02\x12\x04\xa6\x07\x0f\x10\n\x0e\n\x06\x04\x13\x04\x00\x02\x02\x12\x04\xa7\x07\x04\x11\n\x0f\n\x07\x04\x13\x04\x00\x02\x02\x01\x12\x04\xa7\x07\x04\x0c\n\x0f\n\x07\x04\x13\x04\x00\x02\x02\x02\x12\x04\xa7\x07\x0f\x10\n\x0e\n\x06\x04\x13\x04\x00\x02\x03\x12\x04\xa8\x07\x04\x18\n\x0f\n\x07\x04\x13\x04\x00\x02\x03\x01\x12\x04\xa8\x07\x04\x13\n\x0f\n\x07\x04\x13\x04\x00\x02\x03\x02\x12\x04\xa8\x07\x16\x17\n\x0e\n\x04\x04\x13\x02\x00\x12\x06\xaa\x07\x02\xb1\x07\x04\n\r\n\x05\x04\x13\x02\x00\x04\x12\x04\xaa\x07\x02\n\n\r\n\x05\x04\x13\x02\x00\x06\x12\x04\xaa\x07\x0b\x18\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xaa\x07\x19\'\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xaa\x07*+\n\x0f\n\x05\x04\x13\x02\x00\x08\x12\x06\xaa\x07,\xb1\x07\x03\n\x0e\n\x06\x04\x13\x02\x00\x08\x11\x12\x04\xab\x07\x04!\n\x0f\n\x07\x04\x13\x02\x00\x08\x13\x00\x12\x04\xac\x07\x04\x1f\n\x0f\n\x07\x04\x13\x02\x00\x08\x13\x01\x12\x04\xad\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x00\x08\x14\x00\x12\x04\xae\x07\x04E\n\x0f\n\x07\x04\x13\x02\x00\x08\x14\x01\x12\x04\xaf\x07\x04E\n\x0f\n\x07\x04\x13\x02\x00\x08\x14\x02\x12\x04\xb0\x07\x04C\n\x0e\n\x04\x04\x13\x04\x01\x12\x06\xb3\x07\x02\xb7\x07\x03\n\r\n\x05\x04\x13\x04\x01\x01\x12\x04\xb3\x07\x07\x0f\n\x0e\n\x06\x04\x13\x04\x01\x02\x00\x12\x04\xb4\x07\x04\x1a\n\x0f\n\x07\x04\x13\x04\x01\x02\x00\x01\x12\x04\xb4\x07\x04\x15\n\x0f\n\x07\x04\x13\x04\x01\x02\x00\x02\x12\x04\xb4\x07\x18\x19\n\x0e\n\x06\x04\x13\x04\x01\x02\x01\x12\x04\xb5\x07\x04\r\n\x0f\n\x07\x04\x13\x04\x01\x02\x01\x01\x12\x04\xb5\x07\x04\x08\n\x0f\n\x07\x04\x13\x04\x01\x02\x01\x02\x12\x04\xb5\x07\x0b\x0c\n\x0e\n\x06\x04\x13\x04\x01\x02\x02\x12\x04\xb6\x07\x04\x0f\n\x0f\n\x07\x04\x13\x04\x01\x02\x02\x01\x12\x04\xb6\x07\x04\n\n\x0f\n\x07\x04\x13\x04\x01\x02\x02\x02\x12\x04\xb6\x07\r\x0e\n\x0e\n\x04\x04\x13\x02\x01\x12\x06\xb8\x07\x02\xbe\x07\x04\n\r\n\x05\x04\x13\x02\x01\x04\x12\x04\xb8\x07\x02\n\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\xb8\x07\x0b\x13\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xb8\x07\x14\x1d\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xb8\x07 !\n\x0f\n\x05\x04\x13\x02\x01\x08\x12\x06\xb8\x07\"\xbe\x07\x03\n\x0e\n\x06\x04\x13\x02\x01\x08\x11\x12\x04\xb9\x07\x04!\n\x0f\n\x07\x04\x13\x02\x01\x08\x13\x00\x12\x04\xba\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x01\x08\x13\x01\x12\x04\xbb\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x01\x08\x14\x00\x12\x04\xbc\x07\x04C\n\x0f\n\x07\x04\x13\x02\x01\x08\x14\x01\x12\x04\xbd\x07\x04A\n\x0e\n\x04\x04\x13\x04\x02\x12\x06\xc0\x07\x02\xc4\x07\x03\n\r\n\x05\x04\x13\x04\x02\x01\x12\x04\xc0\x07\x07\x1c\n\x0e\n\x06\x04\x13\x04\x02\x02\x00\x12\x04\xc1\x07\x04(\n\x0f\n\x07\x04\x13\x04\x02\x02\x00\x01\x12\x04\xc1\x07\x04#\n\x0f\n\x07\x04\x13\x04\x02\x02\x00\x02\x12\x04\xc1\x07&\'\n\x0e\n\x06\x04\x13\x04\x02\x02\x01\x12\x04\xc2\x07\x04\x0f\n\x0f\n\x07\x04\x13\x04\x02\x02\x01\x01\x12\x04\xc2\x07\x04\n\n\x0f\n\x07\x04\x13\x04\x02\x02\x01\x02\x12\x04\xc2\x07\r\x0e\n\x0e\n\x06\x04\x13\x04\x02\x02\x02\x12\x04\xc3\x07\x04\x11\n\x0f\n\x07\x04\x13\x04\x02\x02\x02\x01\x12\x04\xc3\x07\x04\x0c\n\x0f\n\x07\x04\x13\x04\x02\x02\x02\x02\x12\x04\xc3\x07\x0f\x10\n\x0e\n\x04\x04\x13\x02\x02\x12\x06\xc5\x07\x02\xcb\x07\x04\n\r\n\x05\x04\x13\x02\x02\x04\x12\x04\xc5\x07\x02\n\n\r\n\x05\x04\x13\x02\x02\x06\x12\x04\xc5\x07\x0b \n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xc5\x07!8\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xc5\x07;<\n\x0f\n\x05\x04\x13\x02\x02\x08\x12\x06\xc5\x07=\xcb\x07\x03\n\x0e\n\x06\x04\x13\x02\x02\x08\x11\x12\x04\xc6\x07\x04!\n\x0f\n\x07\x04\x13\x02\x02\x08\x13\x00\x12\x04\xc7\x07\x04\x1f\n\x0f\n\x07\x04\x13\x02\x02\x08\x13\x01\x12\x04\xc8\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x02\x08\x14\x00\x12\x04\xc9\x07\x04E\n\x0f\n\x07\x04\x13\x02\x02\x08\x14\x01\x12\x04\xca\x07\x04C\n\x0e\n\x04\x04\x13\x04\x03\x12\x06\xcd\x07\x02\xd1\x07\x03\n\r\n\x05\x04\x13\x04\x03\x01\x12\x04\xcd\x07\x07\x15\n\x0e\n\x06\x04\x13\x04\x03\x02\x00\x12\x04\xce\x07\x04 \n\x0f\n\x07\x04\x13\x04\x03\x02\x00\x01\x12\x04\xce\x07\x04\x1b\n\x0f\n\x07\x04\x13\x04\x03\x02\x00\x02\x12\x04\xce\x07\x1e\x1f\n\x0e\n\x06\x04\x13\x04\x03\x02\x01\x12\x04\xcf\x07\x04\x0f\n\x0f\n\x07\x04\x13\x04\x03\x02\x01\x01\x12\x04\xcf\x07\x04\n\n\x0f\n\x07\x04\x13\x04\x03\x02\x01\x02\x12\x04\xcf\x07\r\x0e\n\x0e\n\x06\x04\x13\x04\x03\x02\x02\x12\x04\xd0\x07\x04\r\n\x0f\n\x07\x04\x13\x04\x03\x02\x02\x01\x12\x04\xd0\x07\x04\x08\n\x0f\n\x07\x04\x13\x04\x03\x02\x02\x02\x12\x04\xd0\x07\x0b\x0c\n\x0e\n\x04\x04\x13\x02\x03\x12\x06\xd2\x07\x02\xd8\x07\x04\n\r\n\x05\x04\x13\x02\x03\x04\x12\x04\xd2\x07\x02\n\n\r\n\x05\x04\x13\x02\x03\x06\x12\x04\xd2\x07\x0b\x19\n\r\n\x05\x04\x13\x02\x03\x01\x12\x04\xd2\x07\x1a)\n\r\n\x05\x04\x13\x02\x03\x03\x12\x04\xd2\x07,-\n\x0f\n\x05\x04\x13\x02\x03\x08\x12\x06\xd2\x07.\xd8\x07\x03\n\x0e\n\x06\x04\x13\x02\x03\x08\x11\x12\x04\xd3\x07\x04!\n\x0f\n\x07\x04\x13\x02\x03\x08\x13\x00\x12\x04\xd4\x07\x04\x1f\n\x0f\n\x07\x04\x13\x02\x03\x08\x13\x01\x12\x04\xd5\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x03\x08\x14\x00\x12\x04\xd6\x07\x04A\n\x0f\n\x07\x04\x13\x02\x03\x08\x14\x01\x12\x04\xd7\x07\x04C\n\x0e\n\x04\x04\x13\x04\x04\x12\x06\xda\x07\x02\xde\x07\x03\n\r\n\x05\x04\x13\x04\x04\x01\x12\x04\xda\x07\x07\x16\n\x0e\n\x06\x04\x13\x04\x04\x02\x00\x12\x04\xdb\x07\x04!\n\x0f\n\x07\x04\x13\x04\x04\x02\x00\x01\x12\x04\xdb\x07\x04\x1c\n\x0f\n\x07\x04\x13\x04\x04\x02\x00\x02\x12\x04\xdb\x07\x1f \n\x0e\n\x06\x04\x13\x04\x04\x02\x01\x12\x04\xdc\x07\x04\x18\n\x0f\n\x07\x04\x13\x04\x04\x02\x01\x01\x12\x04\xdc\x07\x04\x13\n\x0f\n\x07\x04\x13\x04\x04\x02\x01\x02\x12\x04\xdc\x07\x16\x17\n\x0e\n\x06\x04\x13\x04\x04\x02\x02\x12\x04\xdd\x07\x04\x12\n\x0f\n\x07\x04\x13\x04\x04\x02\x02\x01\x12\x04\xdd\x07\x04\r\n\x0f\n\x07\x04\x13\x04\x04\x02\x02\x02\x12\x04\xdd\x07\x10\x11\n\x0e\n\x04\x04\x13\x02\x04\x12\x06\xdf\x07\x02\xe4\x07\x04\n\r\n\x05\x04\x13\x02\x04\x04\x12\x04\xdf\x07\x02\n\n\r\n\x05\x04\x13\x02\x04\x06\x12\x04\xdf\x07\x0b\x1a\n\r\n\x05\x04\x13\x02\x04\x01\x12\x04\xdf\x07\x1b+\n\r\n\x05\x04\x13\x02\x04\x03\x12\x04\xdf\x07./\n\x0f\n\x05\x04\x13\x02\x04\x08\x12\x06\xdf\x070\xe4\x07\x03\n\x0e\n\x06\x04\x13\x02\x04\x08\x11\x12\x04\xe0\x07\x04!\n\x0f\n\x07\x04\x13\x02\x04\x08\x13\x00\x12\x04\xe1\x07\x04\x1f\n\x0f\n\x07\x04\x13\x02\x04\x08\x13\x01\x12\x04\xe2\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x04\x08\x14\x00\x12\x04\xe3\x07\x04L\n\x0e\n\x04\x04\x13\x04\x05\x12\x06\xe6\x07\x02\xea\x07\x03\n\r\n\x05\x04\x13\x04\x05\x01\x12\x04\xe6\x07\x07\x11\n\x0e\n\x06\x04\x13\x04\x05\x02\x00\x12\x04\xe7\x07\x04\x1c\n\x0f\n\x07\x04\x13\x04\x05\x02\x00\x01\x12\x04\xe7\x07\x04\x17\n\x0f\n\x07\x04\x13\x04\x05\x02\x00\x02\x12\x04\xe7\x07\x1a\x1b\n\x0e\n\x06\x04\x13\x04\x05\x02\x01\x12\x04\xe8\x07\x04\x0e\n\x0f\n\x07\x04\x13\x04\x05\x02\x01\x01\x12\x04\xe8\x07\x04\t\n\x0f\n\x07\x04\x13\x04\x05\x02\x01\x02\x12\x04\xe8\x07\x0c\r\n\x0e\n\x06\x04\x13\x04\x05\x02\x02\x12\x04\xe9\x07\x04\x1b\n\x0f\n\x07\x04\x13\x04\x05\x02\x02\x01\x12\x04\xe9\x07\x04\x16\n\x0f\n\x07\x04\x13\x04\x05\x02\x02\x02\x12\x04\xe9\x07\x19\x1a\n\x0e\n\x04\x04\x13\x02\x05\x12\x06\xeb\x07\x02\xf2\x07\x04\n\r\n\x05\x04\x13\x02\x05\x04\x12\x04\xeb\x07\x02\n\n\r\n\x05\x04\x13\x02\x05\x06\x12\x04\xeb\x07\x0b\x15\n\r\n\x05\x04\x13\x02\x05\x01\x12\x04\xeb\x07\x16!\n\r\n\x05\x04\x13\x02\x05\x03\x12\x04\xeb\x07$%\n\x0f\n\x05\x04\x13\x02\x05\x08\x12\x06\xeb\x07&\xf2\x07\x03\n\x0e\n\x06\x04\x13\x02\x05\x08\x11\x12\x04\xec\x07\x04!\n\x0f\n\x07\x04\x13\x02\x05\x08\x13\x00\x12\x04\xed\x07\x04!\n\x0f\n\x07\x04\x13\x02\x05\x08\x13\x01\x12\x04\xee\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x05\x08\x13\x02\x12\x04\xef\x07\x04\x1e\n\x0f\n\x07\x04\x13\x02\x05\x08\x14\x00\x12\x04\xf0\x07\x04O\n\x0f\n\x07\x04\x13\x02\x05\x08\x14\x01\x12\x04\xf1\x07\x04B\n\x0b\n\x03\x04\x13\t\x12\x04\xf4\x07\x02\x0f\n\x0c\n\x04\x04\x13\t\x00\x12\x04\xf4\x07\x0b\x0e\n\r\n\x05\x04\x13\t\x00\x01\x12\x04\xf4\x07\x0b\x0e\n\r\n\x05\x04\x13\t\x00\x02\x12\x04\xf4\x07\x0b\x0e\n\x1f\n\x03\x04\x13\x05\x12\x04\xf6\x07\x02\x12\"\x12 for Protobuf C++\n\n\x0c\n\x04\x04\x13\x05\x00\x12\x04\xf6\x07\r\x11\n\r\n\x05\x04\x13\x05\x00\x01\x12\x04\xf6\x07\r\x11\n\r\n\x05\x04\x13\x05\x00\x02\x12\x04\xf6\x07\r\x11\n \n\x03\x04\x13\x05\x12\x04\xf7\x07\x02\x12\"\x13 for Protobuf Java\n\n\x0c\n\x04\x04\x13\x05\x01\x12\x04\xf7\x07\r\x11\n\r\n\x05\x04\x13\x05\x01\x01\x12\x04\xf7\x07\r\x11\n\r\n\x05\x04\x13\x05\x01\x02\x12\x04\xf7\x07\r\x11\n\x1e\n\x03\x04\x13\x05\x12\x04\xf8\x07\x02\x12\"\x11 for Protobuf Go\n\n\x0c\n\x04\x04\x13\x05\x02\x12\x04\xf8\x07\r\x11\n\r\n\x05\x04\x13\x05\x02\x01\x12\x04\xf8\x07\r\x11\n\r\n\x05\x04\x13\x05\x02\x02\x12\x04\xf8\x07\r\x11\n#\n\x03\x04\x13\x05\x12\x04\xfa\x07\x02\x1a\"\x16 For internal testing\n\n\x0c\n\x04\x04\x13\x05\x03\x12\x04\xfa\x07\r\x19\n\r\n\x05\x04\x13\x05\x03\x01\x12\x04\xfa\x07\r\x11\n\r\n\x05\x04\x13\x05\x03\x02\x12\x04\xfa\x07\x15\x19\n:\n\x03\x04\x13\x05\x12\x04\xfb\x07\x02\x13\"- for https://github.com/bufbuild/protobuf-es\n\n\x0c\n\x04\x04\x13\x05\x04\x12\x04\xfb\x07\r\x12\n\r\n\x05\x04\x13\x05\x04\x01\x12\x04\xfb\x07\r\x12\n\r\n\x05\x04\x13\x05\x04\x02\x12\x04\xfb\x07\r\x12\n\xac\x02\n\x02\x04\x14\x12\x06\x82\x08\x00\x94\x08\x01\x1a\x9d\x02 A compiled specification for the defaults of a set of features.  These\n messages are generated from FeatureSet extensions and can be used to seed\n feature resolution. The resolution with this object becomes a simple search\n for the closest matching edition, followed by proto merges.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\x82\x08\x08\x1a\n\xb0\x02\n\x04\x04\x14\x03\x00\x12\x06\x87\x08\x02\x8a\x08\x03\x1a\x9f\x02 A map from every known edition with a unique set of defaults to its\n defaults. Not all editions may be contained here.  For a given edition,\n the defaults at the closest matching edition ordered at or before it should\n be used.  This field must be in strict ascending order by edition.\n\n\r\n\x05\x04\x14\x03\x00\x01\x12\x04\x87\x08\n\"\n\x0e\n\x06\x04\x14\x03\x00\x02\x00\x12\x04\x88\x08\x04!\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x04\x12\x04\x88\x08\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x06\x12\x04\x88\x08\r\x14\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x01\x12\x04\x88\x08\x15\x1c\n\x0f\n\x07\x04\x14\x03\x00\x02\x00\x03\x12\x04\x88\x08\x1f \n\x0e\n\x06\x04\x14\x03\x00\x02\x01\x12\x04\x89\x08\x04%\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x04\x12\x04\x89\x08\x04\x0c\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x06\x12\x04\x89\x08\r\x17\n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x01\x12\x04\x89\x08\x18 \n\x0f\n\x07\x04\x14\x03\x00\x02\x01\x03\x12\x04\x89\x08#$\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\x8b\x08\x021\n\r\n\x05\x04\x14\x02\x00\x04\x12\x04\x8b\x08\x02\n\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\x8b\x08\x0b#\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\x8b\x08$,\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\x8b\x08/0\n\x82\x01\n\x04\x04\x14\x02\x01\x12\x04\x8f\x08\x02\'\x1at The minimum supported edition (inclusive) when this was constructed.\n Editions before this will not have defaults.\n\n\r\n\x05\x04\x14\x02\x01\x04\x12\x04\x8f\x08\x02\n\n\r\n\x05\x04\x14\x02\x01\x06\x12\x04\x8f\x08\x0b\x12\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\x8f\x08\x13\"\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\x8f\x08%&\n\x86\x01\n\x04\x04\x14\x02\x02\x12\x04\x93\x08\x02\'\x1ax The maximum known edition (inclusive) when this was constructed. Editions\n after this will not have reliable defaults.\n\n\r\n\x05\x04\x14\x02\x02\x04\x12\x04\x93\x08\x02\n\n\r\n\x05\x04\x14\x02\x02\x06\x12\x04\x93\x08\x0b\x12\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\x93\x08\x13\"\n\r\n\x05\x04\x14\x02\x02\x03\x12\x04\x93\x08%&\n\xda\x01\n\x02\x04\x15\x12\x06\x9b\x08\x00\x9c\t\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\x15\x01\x12\x04\x9b\x08\x08\x16\n\x82\x11\n\x04\x04\x15\x02\x00\x12\x04\xc7\x08\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\x15\x02\x00\x04\x12\x04\xc7\x08\x02\n\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\xc7\x08\x0b\x13\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xc7\x08\x14\x1c\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xc7\x08\x1f \n\x0e\n\x04\x04\x15\x03\x00\x12\x06\xc8\x08\x02\x9b\t\x03\n\r\n\x05\x04\x15\x03\x00\x01\x12\x04\xc8\x08\n\x12\n\x8a\x07\n\x06\x04\x15\x03\x00\x02\x00\x12\x04\xe0\x08\x04,\x1a\xf9\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 appears.\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\x15\x03\x00\x02\x00\x04\x12\x04\xe0\x08\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x05\x12\x04\xe0\x08\r\x12\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x01\x12\x04\xe0\x08\x13\x17\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x03\x12\x04\xe0\x08\x1a\x1b\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x08\x12\x04\xe0\x08\x1c+\n\x10\n\x08\x04\x15\x03\x00\x02\x00\x08\x02\x12\x04\xe0\x08\x1d*\n\xd2\x02\n\x06\x04\x15\x03\x00\x02\x01\x12\x04\xe7\x08\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\x15\x03\x00\x02\x01\x04\x12\x04\xe7\x08\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x05\x12\x04\xe7\x08\r\x12\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x01\x12\x04\xe7\x08\x13\x17\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x03\x12\x04\xe7\x08\x1a\x1b\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x08\x12\x04\xe7\x08\x1c+\n\x10\n\x08\x04\x15\x03\x00\x02\x01\x08\x02\x12\x04\xe7\x08\x1d*\n\xa5\x0c\n\x06\x04\x15\x03\x00\x02\x02\x12\x04\x98\t\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\x15\x03\x00\x02\x02\x04\x12\x04\x98\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x02\x05\x12\x04\x98\t\r\x13\n\x0f\n\x07\x04\x15\x03\x00\x02\x02\x01\x12\x04\x98\t\x14$\n\x0f\n\x07\x04\x15\x03\x00\x02\x02\x03\x12\x04\x98\t\'(\n\x0e\n\x06\x04\x15\x03\x00\x02\x03\x12\x04\x99\t\x04*\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x04\x12\x04\x99\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x05\x12\x04\x99\t\r\x13\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x01\x12\x04\x99\t\x14%\n\x0f\n\x07\x04\x15\x03\x00\x02\x03\x03\x12\x04\x99\t()\n\x0e\n\x06\x04\x15\x03\x00\x02\x04\x12\x04\x9a\t\x042\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x04\x12\x04\x9a\t\x04\x0c\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x05\x12\x04\x9a\t\r\x13\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x01\x12\x04\x9a\t\x14-\n\x0f\n\x07\x04\x15\x03\x00\x02\x04\x03\x12\x04\x9a\t01\n\xee\x01\n\x02\x04\x16\x12\x06\xa1\t\x00\xc2\t\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\x16\x01\x12\x04\xa1\t\x08\x19\nx\n\x04\x04\x16\x02\x00\x12\x04\xa4\t\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\x16\x02\x00\x04\x12\x04\xa4\t\x02\n\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xa4\t\x0b\x15\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xa4\t\x16 \n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xa4\t#$\n\x0e\n\x04\x04\x16\x03\x00\x12\x06\xa5\t\x02\xc1\t\x03\n\r\n\x05\x04\x16\x03\x00\x01\x12\x04\xa5\t\n\x14\n\x8f\x01\n\x06\x04\x16\x03\x00\x02\x00\x12\x04\xa8\t\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\x16\x03\x00\x02\x00\x04\x12\x04\xa8\t\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x05\x12\x04\xa8\t\r\x12\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x01\x12\x04\xa8\t\x13\x17\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x03\x12\x04\xa8\t\x1a\x1b\n\x0f\n\x07\x04\x16\x03\x00\x02\x00\x08\x12\x04\xa8\t\x1c+\n\x10\n\x08\x04\x16\x03\x00\x02\x00\x08\x02\x12\x04\xa8\t\x1d*\nO\n\x06\x04\x16\x03\x00\x02\x01\x12\x04\xab\t\x04$\x1a? Identifies the filesystem path to the original source .proto.\n\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x04\x12\x04\xab\t\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x05\x12\x04\xab\t\r\x13\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x01\x12\x04\xab\t\x14\x1f\n\x0f\n\x07\x04\x16\x03\x00\x02\x01\x03\x12\x04\xab\t\"#\nw\n\x06\x04\x16\x03\x00\x02\x02\x12\x04\xaf\t\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\x16\x03\x00\x02\x02\x04\x12\x04\xaf\t\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x02\x05\x12\x04\xaf\t\r\x12\n\x0f\n\x07\x04\x16\x03\x00\x02\x02\x01\x12\x04\xaf\t\x13\x18\n\x0f\n\x07\x04\x16\x03\x00\x02\x02\x03\x12\x04\xaf\t\x1b\x1c\n\xdb\x01\n\x06\x04\x16\x03\x00\x02\x03\x12\x04\xb4\t\x04\x1b\x1a\xca\x01 Identifies the ending offset in bytes in the generated code that\n relates to the identified object. 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\x16\x03\x00\x02\x03\x04\x12\x04\xb4\t\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x03\x05\x12\x04\xb4\t\r\x12\n\x0f\n\x07\x04\x16\x03\x00\x02\x03\x01\x12\x04\xb4\t\x13\x16\n\x0f\n\x07\x04\x16\x03\x00\x02\x03\x03\x12\x04\xb4\t\x19\x1a\nj\n\x06\x04\x16\x03\x00\x04\x00\x12\x06\xb8\t\x04\xbf\t\x05\x1aX Represents the identified object\'s effect on the element in the original\n .proto file.\n\n\x0f\n\x07\x04\x16\x03\x00\x04\x00\x01\x12\x04\xb8\t\t\x11\nF\n\x08\x04\x16\x03\x00\x04\x00\x02\x00\x12\x04\xba\t\x06\x0f\x1a4 There is no effect or the effect is indescribable.\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x00\x01\x12\x04\xba\t\x06\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x00\x02\x12\x04\xba\t\r\x0e\n<\n\x08\x04\x16\x03\x00\x04\x00\x02\x01\x12\x04\xbc\t\x06\x0e\x1a* The element is set or otherwise mutated.\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x01\x01\x12\x04\xbc\t\x06\t\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x01\x02\x12\x04\xbc\t\x0c\r\n8\n\x08\x04\x16\x03\x00\x04\x00\x02\x02\x12\x04\xbe\t\x06\x10\x1a& An alias to the element is returned.\n\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x02\x01\x12\x04\xbe\t\x06\x0b\n\x11\n\t\x04\x16\x03\x00\x04\x00\x02\x02\x02\x12\x04\xbe\t\x0e\x0f\n\x0e\n\x06\x04\x16\x03\x00\x02\x04\x12\x04\xc0\t\x04#\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x04\x12\x04\xc0\t\x04\x0c\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x06\x12\x04\xc0\t\r\x15\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x01\x12\x04\xc0\t\x16\x1e\n\x0f\n\x07\x04\x16\x03\x00\x02\x04\x03\x12\x04\xc0\t!\"\n\x99c\n\x14gogoproto/gogo.proto\x12\tgogoproto\x1a google/protobuf/descriptor.proto:N\n\x13goproto_enum_prefix\x12\x1c.google.protobuf.EnumOptions\x18\xb1\xe4\x03 \x01(\x08R\x11goprotoEnumPrefix:R\n\x15goproto_enum_stringer\x12\x1c.google.protobuf.EnumOptions\x18\xc5\xe4\x03 \x01(\x08R\x13goprotoEnumStringer:C\n\renum_stringer\x12\x1c.google.protobuf.EnumOptions\x18\xc6\xe4\x03 \x01(\x08R\x0cenumStringer:G\n\x0fenum_customname\x12\x1c.google.protobuf.EnumOptions\x18\xc7\xe4\x03 \x01(\tR\x0eenumCustomname::\n\x08enumdecl\x12\x1c.google.protobuf.EnumOptions\x18\xc8\xe4\x03 \x01(\x08R\x08enumdecl:V\n\x14enumvalue_customname\x12!.google.protobuf.EnumValueOptions\x18\xd1\x83\x04 \x01(\tR\x13enumvalueCustomname:N\n\x13goproto_getters_all\x12\x1c.google.protobuf.FileOptions\x18\x99\xec\x03 \x01(\x08R\x11goprotoGettersAll:U\n\x17goproto_enum_prefix_all\x12\x1c.google.protobuf.FileOptions\x18\x9a\xec\x03 \x01(\x08R\x14goprotoEnumPrefixAll:P\n\x14goproto_stringer_all\x12\x1c.google.protobuf.FileOptions\x18\x9b\xec\x03 \x01(\x08R\x12goprotoStringerAll:J\n\x11verbose_equal_all\x12\x1c.google.protobuf.FileOptions\x18\x9c\xec\x03 \x01(\x08R\x0fverboseEqualAll:9\n\x08face_all\x12\x1c.google.protobuf.FileOptions\x18\x9d\xec\x03 \x01(\x08R\x07faceAll:A\n\x0cgostring_all\x12\x1c.google.protobuf.FileOptions\x18\x9e\xec\x03 \x01(\x08R\x0bgostringAll:A\n\x0cpopulate_all\x12\x1c.google.protobuf.FileOptions\x18\x9f\xec\x03 \x01(\x08R\x0bpopulateAll:A\n\x0cstringer_all\x12\x1c.google.protobuf.FileOptions\x18\xa0\xec\x03 \x01(\x08R\x0bstringerAll:?\n\x0bonlyone_all\x12\x1c.google.protobuf.FileOptions\x18\xa1\xec\x03 \x01(\x08R\nonlyoneAll:;\n\tequal_all\x12\x1c.google.protobuf.FileOptions\x18\xa5\xec\x03 \x01(\x08R\x08equalAll:G\n\x0fdescription_all\x12\x1c.google.protobuf.FileOptions\x18\xa6\xec\x03 \x01(\x08R\x0edescriptionAll:?\n\x0btestgen_all\x12\x1c.google.protobuf.FileOptions\x18\xa7\xec\x03 \x01(\x08R\ntestgenAll:A\n\x0cbenchgen_all\x12\x1c.google.protobuf.FileOptions\x18\xa8\xec\x03 \x01(\x08R\x0bbenchgenAll:C\n\rmarshaler_all\x12\x1c.google.protobuf.FileOptions\x18\xa9\xec\x03 \x01(\x08R\x0cmarshalerAll:G\n\x0funmarshaler_all\x12\x1c.google.protobuf.FileOptions\x18\xaa\xec\x03 \x01(\x08R\x0eunmarshalerAll:P\n\x14stable_marshaler_all\x12\x1c.google.protobuf.FileOptions\x18\xab\xec\x03 \x01(\x08R\x12stableMarshalerAll:;\n\tsizer_all\x12\x1c.google.protobuf.FileOptions\x18\xac\xec\x03 \x01(\x08R\x08sizerAll:Y\n\x19goproto_enum_stringer_all\x12\x1c.google.protobuf.FileOptions\x18\xad\xec\x03 \x01(\x08R\x16goprotoEnumStringerAll:J\n\x11enum_stringer_all\x12\x1c.google.protobuf.FileOptions\x18\xae\xec\x03 \x01(\x08R\x0fenumStringerAll:P\n\x14unsafe_marshaler_all\x12\x1c.google.protobuf.FileOptions\x18\xaf\xec\x03 \x01(\x08R\x12unsafeMarshalerAll:T\n\x16unsafe_unmarshaler_all\x12\x1c.google.protobuf.FileOptions\x18\xb0\xec\x03 \x01(\x08R\x14unsafeUnmarshalerAll:[\n\x1agoproto_extensions_map_all\x12\x1c.google.protobuf.FileOptions\x18\xb1\xec\x03 \x01(\x08R\x17goprotoExtensionsMapAll:X\n\x18goproto_unrecognized_all\x12\x1c.google.protobuf.FileOptions\x18\xb2\xec\x03 \x01(\x08R\x16goprotoUnrecognizedAll:I\n\x10gogoproto_import\x12\x1c.google.protobuf.FileOptions\x18\xb3\xec\x03 \x01(\x08R\x0fgogoprotoImport:E\n\x0eprotosizer_all\x12\x1c.google.protobuf.FileOptions\x18\xb4\xec\x03 \x01(\x08R\rprotosizerAll:?\n\x0bcompare_all\x12\x1c.google.protobuf.FileOptions\x18\xb5\xec\x03 \x01(\x08R\ncompareAll:A\n\x0ctypedecl_all\x12\x1c.google.protobuf.FileOptions\x18\xb6\xec\x03 \x01(\x08R\x0btypedeclAll:A\n\x0cenumdecl_all\x12\x1c.google.protobuf.FileOptions\x18\xb7\xec\x03 \x01(\x08R\x0benumdeclAll:Q\n\x14goproto_registration\x12\x1c.google.protobuf.FileOptions\x18\xb8\xec\x03 \x01(\x08R\x13goprotoRegistration:G\n\x0fmessagename_all\x12\x1c.google.protobuf.FileOptions\x18\xb9\xec\x03 \x01(\x08R\x0emessagenameAll:R\n\x15goproto_sizecache_all\x12\x1c.google.protobuf.FileOptions\x18\xba\xec\x03 \x01(\x08R\x13goprotoSizecacheAll:N\n\x13goproto_unkeyed_all\x12\x1c.google.protobuf.FileOptions\x18\xbb\xec\x03 \x01(\x08R\x11goprotoUnkeyedAll:J\n\x0fgoproto_getters\x12\x1f.google.protobuf.MessageOptions\x18\x81\xf4\x03 \x01(\x08R\x0egoprotoGetters:L\n\x10goproto_stringer\x12\x1f.google.protobuf.MessageOptions\x18\x83\xf4\x03 \x01(\x08R\x0fgoprotoStringer:F\n\rverbose_equal\x12\x1f.google.protobuf.MessageOptions\x18\x84\xf4\x03 \x01(\x08R\x0cverboseEqual:5\n\x04face\x12\x1f.google.protobuf.MessageOptions\x18\x85\xf4\x03 \x01(\x08R\x04face:=\n\x08gostring\x12\x1f.google.protobuf.MessageOptions\x18\x86\xf4\x03 \x01(\x08R\x08gostring:=\n\x08populate\x12\x1f.google.protobuf.MessageOptions\x18\x87\xf4\x03 \x01(\x08R\x08populate:=\n\x08stringer\x12\x1f.google.protobuf.MessageOptions\x18\xc0\x8b\x04 \x01(\x08R\x08stringer:;\n\x07onlyone\x12\x1f.google.protobuf.MessageOptions\x18\x89\xf4\x03 \x01(\x08R\x07onlyone:7\n\x05equal\x12\x1f.google.protobuf.MessageOptions\x18\x8d\xf4\x03 \x01(\x08R\x05equal:C\n\x0bdescription\x12\x1f.google.protobuf.MessageOptions\x18\x8e\xf4\x03 \x01(\x08R\x0bdescription:;\n\x07testgen\x12\x1f.google.protobuf.MessageOptions\x18\x8f\xf4\x03 \x01(\x08R\x07testgen:=\n\x08benchgen\x12\x1f.google.protobuf.MessageOptions\x18\x90\xf4\x03 \x01(\x08R\x08benchgen:?\n\tmarshaler\x12\x1f.google.protobuf.MessageOptions\x18\x91\xf4\x03 \x01(\x08R\tmarshaler:C\n\x0bunmarshaler\x12\x1f.google.protobuf.MessageOptions\x18\x92\xf4\x03 \x01(\x08R\x0bunmarshaler:L\n\x10stable_marshaler\x12\x1f.google.protobuf.MessageOptions\x18\x93\xf4\x03 \x01(\x08R\x0fstableMarshaler:7\n\x05sizer\x12\x1f.google.protobuf.MessageOptions\x18\x94\xf4\x03 \x01(\x08R\x05sizer:L\n\x10unsafe_marshaler\x12\x1f.google.protobuf.MessageOptions\x18\x97\xf4\x03 \x01(\x08R\x0funsafeMarshaler:P\n\x12unsafe_unmarshaler\x12\x1f.google.protobuf.MessageOptions\x18\x98\xf4\x03 \x01(\x08R\x11unsafeUnmarshaler:W\n\x16goproto_extensions_map\x12\x1f.google.protobuf.MessageOptions\x18\x99\xf4\x03 \x01(\x08R\x14goprotoExtensionsMap:T\n\x14goproto_unrecognized\x12\x1f.google.protobuf.MessageOptions\x18\x9a\xf4\x03 \x01(\x08R\x13goprotoUnrecognized:A\n\nprotosizer\x12\x1f.google.protobuf.MessageOptions\x18\x9c\xf4\x03 \x01(\x08R\nprotosizer:;\n\x07compare\x12\x1f.google.protobuf.MessageOptions\x18\x9d\xf4\x03 \x01(\x08R\x07compare:=\n\x08typedecl\x12\x1f.google.protobuf.MessageOptions\x18\x9e\xf4\x03 \x01(\x08R\x08typedecl:C\n\x0bmessagename\x12\x1f.google.protobuf.MessageOptions\x18\xa1\xf4\x03 \x01(\x08R\x0bmessagename:N\n\x11goproto_sizecache\x12\x1f.google.protobuf.MessageOptions\x18\xa2\xf4\x03 \x01(\x08R\x10goprotoSizecache:J\n\x0fgoproto_unkeyed\x12\x1f.google.protobuf.MessageOptions\x18\xa3\xf4\x03 \x01(\x08R\x0egoprotoUnkeyed:;\n\x08nullable\x12\x1d.google.protobuf.FieldOptions\x18\xe9\xfb\x03 \x01(\x08R\x08nullable:5\n\x05embed\x12\x1d.google.protobuf.FieldOptions\x18\xea\xfb\x03 \x01(\x08R\x05embed:?\n\ncustomtype\x12\x1d.google.protobuf.FieldOptions\x18\xeb\xfb\x03 \x01(\tR\ncustomtype:?\n\ncustomname\x12\x1d.google.protobuf.FieldOptions\x18\xec\xfb\x03 \x01(\tR\ncustomname:9\n\x07jsontag\x12\x1d.google.protobuf.FieldOptions\x18\xed\xfb\x03 \x01(\tR\x07jsontag:;\n\x08moretags\x12\x1d.google.protobuf.FieldOptions\x18\xee\xfb\x03 \x01(\tR\x08moretags:;\n\x08casttype\x12\x1d.google.protobuf.FieldOptions\x18\xef\xfb\x03 \x01(\tR\x08casttype:9\n\x07castkey\x12\x1d.google.protobuf.FieldOptions\x18\xf0\xfb\x03 \x01(\tR\x07castkey:=\n\tcastvalue\x12\x1d.google.protobuf.FieldOptions\x18\xf1\xfb\x03 \x01(\tR\tcastvalue:9\n\x07stdtime\x12\x1d.google.protobuf.FieldOptions\x18\xf2\xfb\x03 \x01(\x08R\x07stdtime:A\n\x0bstdduration\x12\x1d.google.protobuf.FieldOptions\x18\xf3\xfb\x03 \x01(\x08R\x0bstdduration:?\n\nwktpointer\x12\x1d.google.protobuf.FieldOptions\x18\xf4\xfb\x03 \x01(\x08R\nwktpointer:C\n\x0ccastrepeated\x12\x1d.google.protobuf.FieldOptions\x18\xf5\xfb\x03 \x01(\tR\x0ccastrepeatedBH\n\x13com.google.protobufB\nGoGoProtosZ%github.com/cosmos/gogoproto/gogoprotoJ\xc17\n\x07\x12\x05\x1c\x00\x90\x01\x01\n\xff\n\n\x01\x0c\x12\x03\x1c\x00\x122\xf4\n Protocol Buffers for Go with Gadgets\n\n Copyright (c) 2013, The GoGo Authors. All rights reserved.\n http://github.com/cosmos/gogoproto\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\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\x1d\x00\x12\n\t\n\x02\x03\x00\x12\x03\x1f\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\x0b\x12\x03#\x00<\n\t\n\x01\x07\x12\x04%\x00+\x01\n\t\n\x02\x07\x00\x12\x03&\x082\n\n\n\x03\x07\x00\x02\x12\x03%\x07\"\n\n\n\x03\x07\x00\x04\x12\x03&\x08\x10\n\n\n\x03\x07\x00\x05\x12\x03&\x11\x15\n\n\n\x03\x07\x00\x01\x12\x03&\x16)\n\n\n\x03\x07\x00\x03\x12\x03&,1\n\t\n\x02\x07\x01\x12\x03\'\x084\n\n\n\x03\x07\x01\x02\x12\x03%\x07\"\n\n\n\x03\x07\x01\x04\x12\x03\'\x08\x10\n\n\n\x03\x07\x01\x05\x12\x03\'\x11\x15\n\n\n\x03\x07\x01\x01\x12\x03\'\x16+\n\n\n\x03\x07\x01\x03\x12\x03\'.3\n\t\n\x02\x07\x02\x12\x03(\x08,\n\n\n\x03\x07\x02\x02\x12\x03%\x07\"\n\n\n\x03\x07\x02\x04\x12\x03(\x08\x10\n\n\n\x03\x07\x02\x05\x12\x03(\x11\x15\n\n\n\x03\x07\x02\x01\x12\x03(\x16#\n\n\n\x03\x07\x02\x03\x12\x03(&+\n\t\n\x02\x07\x03\x12\x03)\x080\n\n\n\x03\x07\x03\x02\x12\x03%\x07\"\n\n\n\x03\x07\x03\x04\x12\x03)\x08\x10\n\n\n\x03\x07\x03\x05\x12\x03)\x11\x17\n\n\n\x03\x07\x03\x01\x12\x03)\x18\'\n\n\n\x03\x07\x03\x03\x12\x03)*/\n\t\n\x02\x07\x04\x12\x03*\x08\'\n\n\n\x03\x07\x04\x02\x12\x03%\x07\"\n\n\n\x03\x07\x04\x04\x12\x03*\x08\x10\n\n\n\x03\x07\x04\x05\x12\x03*\x11\x15\n\n\n\x03\x07\x04\x01\x12\x03*\x16\x1e\n\n\n\x03\x07\x04\x03\x12\x03*!&\n\t\n\x01\x07\x12\x04-\x00/\x01\n\t\n\x02\x07\x05\x12\x03.\x085\n\n\n\x03\x07\x05\x02\x12\x03-\x07\'\n\n\n\x03\x07\x05\x04\x12\x03.\x08\x10\n\n\n\x03\x07\x05\x05\x12\x03.\x11\x17\n\n\n\x03\x07\x05\x01\x12\x03.\x18,\n\n\n\x03\x07\x05\x03\x12\x03./4\n\t\n\x01\x07\x12\x041\x00Y\x01\n\t\n\x02\x07\x06\x12\x032\x082\n\n\n\x03\x07\x06\x02\x12\x031\x07\"\n\n\n\x03\x07\x06\x04\x12\x032\x08\x10\n\n\n\x03\x07\x06\x05\x12\x032\x11\x15\n\n\n\x03\x07\x06\x01\x12\x032\x16)\n\n\n\x03\x07\x06\x03\x12\x032,1\n\t\n\x02\x07\x07\x12\x033\x086\n\n\n\x03\x07\x07\x02\x12\x031\x07\"\n\n\n\x03\x07\x07\x04\x12\x033\x08\x10\n\n\n\x03\x07\x07\x05\x12\x033\x11\x15\n\n\n\x03\x07\x07\x01\x12\x033\x16-\n\n\n\x03\x07\x07\x03\x12\x03305\n\t\n\x02\x07\x08\x12\x034\x083\n\n\n\x03\x07\x08\x02\x12\x031\x07\"\n\n\n\x03\x07\x08\x04\x12\x034\x08\x10\n\n\n\x03\x07\x08\x05\x12\x034\x11\x15\n\n\n\x03\x07\x08\x01\x12\x034\x16*\n\n\n\x03\x07\x08\x03\x12\x034-2\n\t\n\x02\x07\t\x12\x035\x080\n\n\n\x03\x07\t\x02\x12\x031\x07\"\n\n\n\x03\x07\t\x04\x12\x035\x08\x10\n\n\n\x03\x07\t\x05\x12\x035\x11\x15\n\n\n\x03\x07\t\x01\x12\x035\x16\'\n\n\n\x03\x07\t\x03\x12\x035*/\n\t\n\x02\x07\n\x12\x036\x08\'\n\n\n\x03\x07\n\x02\x12\x031\x07\"\n\n\n\x03\x07\n\x04\x12\x036\x08\x10\n\n\n\x03\x07\n\x05\x12\x036\x11\x15\n\n\n\x03\x07\n\x01\x12\x036\x16\x1e\n\n\n\x03\x07\n\x03\x12\x036!&\n\t\n\x02\x07\x0b\x12\x037\x08+\n\n\n\x03\x07\x0b\x02\x12\x031\x07\"\n\n\n\x03\x07\x0b\x04\x12\x037\x08\x10\n\n\n\x03\x07\x0b\x05\x12\x037\x11\x15\n\n\n\x03\x07\x0b\x01\x12\x037\x16\"\n\n\n\x03\x07\x0b\x03\x12\x037%*\n\t\n\x02\x07\x0c\x12\x038\x08+\n\n\n\x03\x07\x0c\x02\x12\x031\x07\"\n\n\n\x03\x07\x0c\x04\x12\x038\x08\x10\n\n\n\x03\x07\x0c\x05\x12\x038\x11\x15\n\n\n\x03\x07\x0c\x01\x12\x038\x16\"\n\n\n\x03\x07\x0c\x03\x12\x038%*\n\t\n\x02\x07\r\x12\x039\x08+\n\n\n\x03\x07\r\x02\x12\x031\x07\"\n\n\n\x03\x07\r\x04\x12\x039\x08\x10\n\n\n\x03\x07\r\x05\x12\x039\x11\x15\n\n\n\x03\x07\r\x01\x12\x039\x16\"\n\n\n\x03\x07\r\x03\x12\x039%*\n\t\n\x02\x07\x0e\x12\x03:\x08*\n\n\n\x03\x07\x0e\x02\x12\x031\x07\"\n\n\n\x03\x07\x0e\x04\x12\x03:\x08\x10\n\n\n\x03\x07\x0e\x05\x12\x03:\x11\x15\n\n\n\x03\x07\x0e\x01\x12\x03:\x16!\n\n\n\x03\x07\x0e\x03\x12\x03:$)\n\t\n\x02\x07\x0f\x12\x03<\x08(\n\n\n\x03\x07\x0f\x02\x12\x031\x07\"\n\n\n\x03\x07\x0f\x04\x12\x03<\x08\x10\n\n\n\x03\x07\x0f\x05\x12\x03<\x11\x15\n\n\n\x03\x07\x0f\x01\x12\x03<\x16\x1f\n\n\n\x03\x07\x0f\x03\x12\x03<\"\'\n\t\n\x02\x07\x10\x12\x03=\x08.\n\n\n\x03\x07\x10\x02\x12\x031\x07\"\n\n\n\x03\x07\x10\x04\x12\x03=\x08\x10\n\n\n\x03\x07\x10\x05\x12\x03=\x11\x15\n\n\n\x03\x07\x10\x01\x12\x03=\x16%\n\n\n\x03\x07\x10\x03\x12\x03=(-\n\t\n\x02\x07\x11\x12\x03>\x08*\n\n\n\x03\x07\x11\x02\x12\x031\x07\"\n\n\n\x03\x07\x11\x04\x12\x03>\x08\x10\n\n\n\x03\x07\x11\x05\x12\x03>\x11\x15\n\n\n\x03\x07\x11\x01\x12\x03>\x16!\n\n\n\x03\x07\x11\x03\x12\x03>$)\n\t\n\x02\x07\x12\x12\x03?\x08+\n\n\n\x03\x07\x12\x02\x12\x031\x07\"\n\n\n\x03\x07\x12\x04\x12\x03?\x08\x10\n\n\n\x03\x07\x12\x05\x12\x03?\x11\x15\n\n\n\x03\x07\x12\x01\x12\x03?\x16\"\n\n\n\x03\x07\x12\x03\x12\x03?%*\n\t\n\x02\x07\x13\x12\x03@\x08,\n\n\n\x03\x07\x13\x02\x12\x031\x07\"\n\n\n\x03\x07\x13\x04\x12\x03@\x08\x10\n\n\n\x03\x07\x13\x05\x12\x03@\x11\x15\n\n\n\x03\x07\x13\x01\x12\x03@\x16#\n\n\n\x03\x07\x13\x03\x12\x03@&+\n\t\n\x02\x07\x14\x12\x03A\x08.\n\n\n\x03\x07\x14\x02\x12\x031\x07\"\n\n\n\x03\x07\x14\x04\x12\x03A\x08\x10\n\n\n\x03\x07\x14\x05\x12\x03A\x11\x15\n\n\n\x03\x07\x14\x01\x12\x03A\x16%\n\n\n\x03\x07\x14\x03\x12\x03A(-\n\t\n\x02\x07\x15\x12\x03B\x083\n\n\n\x03\x07\x15\x02\x12\x031\x07\"\n\n\n\x03\x07\x15\x04\x12\x03B\x08\x10\n\n\n\x03\x07\x15\x05\x12\x03B\x11\x15\n\n\n\x03\x07\x15\x01\x12\x03B\x16*\n\n\n\x03\x07\x15\x03\x12\x03B-2\n\t\n\x02\x07\x16\x12\x03D\x08(\n\n\n\x03\x07\x16\x02\x12\x031\x07\"\n\n\n\x03\x07\x16\x04\x12\x03D\x08\x10\n\n\n\x03\x07\x16\x05\x12\x03D\x11\x15\n\n\n\x03\x07\x16\x01\x12\x03D\x16\x1f\n\n\n\x03\x07\x16\x03\x12\x03D\"\'\n\t\n\x02\x07\x17\x12\x03F\x088\n\n\n\x03\x07\x17\x02\x12\x031\x07\"\n\n\n\x03\x07\x17\x04\x12\x03F\x08\x10\n\n\n\x03\x07\x17\x05\x12\x03F\x11\x15\n\n\n\x03\x07\x17\x01\x12\x03F\x16/\n\n\n\x03\x07\x17\x03\x12\x03F27\n\t\n\x02\x07\x18\x12\x03G\x080\n\n\n\x03\x07\x18\x02\x12\x031\x07\"\n\n\n\x03\x07\x18\x04\x12\x03G\x08\x10\n\n\n\x03\x07\x18\x05\x12\x03G\x11\x15\n\n\n\x03\x07\x18\x01\x12\x03G\x16\'\n\n\n\x03\x07\x18\x03\x12\x03G*/\n\t\n\x02\x07\x19\x12\x03I\x083\n\n\n\x03\x07\x19\x02\x12\x031\x07\"\n\n\n\x03\x07\x19\x04\x12\x03I\x08\x10\n\n\n\x03\x07\x19\x05\x12\x03I\x11\x15\n\n\n\x03\x07\x19\x01\x12\x03I\x16*\n\n\n\x03\x07\x19\x03\x12\x03I-2\n\t\n\x02\x07\x1a\x12\x03J\x085\n\n\n\x03\x07\x1a\x02\x12\x031\x07\"\n\n\n\x03\x07\x1a\x04\x12\x03J\x08\x10\n\n\n\x03\x07\x1a\x05\x12\x03J\x11\x15\n\n\n\x03\x07\x1a\x01\x12\x03J\x16,\n\n\n\x03\x07\x1a\x03\x12\x03J/4\n\t\n\x02\x07\x1b\x12\x03L\x089\n\n\n\x03\x07\x1b\x02\x12\x031\x07\"\n\n\n\x03\x07\x1b\x04\x12\x03L\x08\x10\n\n\n\x03\x07\x1b\x05\x12\x03L\x11\x15\n\n\n\x03\x07\x1b\x01\x12\x03L\x160\n\n\n\x03\x07\x1b\x03\x12\x03L38\n\t\n\x02\x07\x1c\x12\x03M\x087\n\n\n\x03\x07\x1c\x02\x12\x031\x07\"\n\n\n\x03\x07\x1c\x04\x12\x03M\x08\x10\n\n\n\x03\x07\x1c\x05\x12\x03M\x11\x15\n\n\n\x03\x07\x1c\x01\x12\x03M\x16.\n\n\n\x03\x07\x1c\x03\x12\x03M16\n\t\n\x02\x07\x1d\x12\x03N\x08/\n\n\n\x03\x07\x1d\x02\x12\x031\x07\"\n\n\n\x03\x07\x1d\x04\x12\x03N\x08\x10\n\n\n\x03\x07\x1d\x05\x12\x03N\x11\x15\n\n\n\x03\x07\x1d\x01\x12\x03N\x16&\n\n\n\x03\x07\x1d\x03\x12\x03N).\n\t\n\x02\x07\x1e\x12\x03O\x08-\n\n\n\x03\x07\x1e\x02\x12\x031\x07\"\n\n\n\x03\x07\x1e\x04\x12\x03O\x08\x10\n\n\n\x03\x07\x1e\x05\x12\x03O\x11\x15\n\n\n\x03\x07\x1e\x01\x12\x03O\x16$\n\n\n\x03\x07\x1e\x03\x12\x03O\',\n\t\n\x02\x07\x1f\x12\x03P\x08*\n\n\n\x03\x07\x1f\x02\x12\x031\x07\"\n\n\n\x03\x07\x1f\x04\x12\x03P\x08\x10\n\n\n\x03\x07\x1f\x05\x12\x03P\x11\x15\n\n\n\x03\x07\x1f\x01\x12\x03P\x16!\n\n\n\x03\x07\x1f\x03\x12\x03P$)\n\t\n\x02\x07 \x12\x03Q\x04\'\n\n\n\x03\x07 \x02\x12\x031\x07\"\n\n\n\x03\x07 \x04\x12\x03Q\x04\x0c\n\n\n\x03\x07 \x05\x12\x03Q\r\x11\n\n\n\x03\x07 \x01\x12\x03Q\x12\x1e\n\n\n\x03\x07 \x03\x12\x03Q!&\n\t\n\x02\x07!\x12\x03R\x04\'\n\n\n\x03\x07!\x02\x12\x031\x07\"\n\n\n\x03\x07!\x04\x12\x03R\x04\x0c\n\n\n\x03\x07!\x05\x12\x03R\r\x11\n\n\n\x03\x07!\x01\x12\x03R\x12\x1e\n\n\n\x03\x07!\x03\x12\x03R!&\n\t\n\x02\x07\"\x12\x03T\x083\n\n\n\x03\x07\"\x02\x12\x031\x07\"\n\n\n\x03\x07\"\x04\x12\x03T\x08\x10\n\n\n\x03\x07\"\x05\x12\x03T\x11\x15\n\n\n\x03\x07\"\x01\x12\x03T\x16*\n\n\n\x03\x07\"\x03\x12\x03T-2\n\t\n\x02\x07#\x12\x03U\x08.\n\n\n\x03\x07#\x02\x12\x031\x07\"\n\n\n\x03\x07#\x04\x12\x03U\x08\x10\n\n\n\x03\x07#\x05\x12\x03U\x11\x15\n\n\n\x03\x07#\x01\x12\x03U\x16%\n\n\n\x03\x07#\x03\x12\x03U(-\n\t\n\x02\x07$\x12\x03W\x084\n\n\n\x03\x07$\x02\x12\x031\x07\"\n\n\n\x03\x07$\x04\x12\x03W\x08\x10\n\n\n\x03\x07$\x05\x12\x03W\x11\x15\n\n\n\x03\x07$\x01\x12\x03W\x16+\n\n\n\x03\x07$\x03\x12\x03W.3\n\t\n\x02\x07%\x12\x03X\x082\n\n\n\x03\x07%\x02\x12\x031\x07\"\n\n\n\x03\x07%\x04\x12\x03X\x08\x10\n\n\n\x03\x07%\x05\x12\x03X\x11\x15\n\n\n\x03\x07%\x01\x12\x03X\x16)\n\n\n\x03\x07%\x03\x12\x03X,1\n\t\n\x01\x07\x12\x04[\x00~\x01\n\t\n\x02\x07&\x12\x03\\\x08.\n\n\n\x03\x07&\x02\x12\x03[\x07%\n\n\n\x03\x07&\x04\x12\x03\\\x08\x10\n\n\n\x03\x07&\x05\x12\x03\\\x11\x15\n\n\n\x03\x07&\x01\x12\x03\\\x16%\n\n\n\x03\x07&\x03\x12\x03\\(-\n\t\n\x02\x07\'\x12\x03]\x08/\n\n\n\x03\x07\'\x02\x12\x03[\x07%\n\n\n\x03\x07\'\x04\x12\x03]\x08\x10\n\n\n\x03\x07\'\x05\x12\x03]\x11\x15\n\n\n\x03\x07\'\x01\x12\x03]\x16&\n\n\n\x03\x07\'\x03\x12\x03]).\n\t\n\x02\x07(\x12\x03^\x08,\n\n\n\x03\x07(\x02\x12\x03[\x07%\n\n\n\x03\x07(\x04\x12\x03^\x08\x10\n\n\n\x03\x07(\x05\x12\x03^\x11\x15\n\n\n\x03\x07(\x01\x12\x03^\x16#\n\n\n\x03\x07(\x03\x12\x03^&+\n\t\n\x02\x07)\x12\x03_\x08#\n\n\n\x03\x07)\x02\x12\x03[\x07%\n\n\n\x03\x07)\x04\x12\x03_\x08\x10\n\n\n\x03\x07)\x05\x12\x03_\x11\x15\n\n\n\x03\x07)\x01\x12\x03_\x16\x1a\n\n\n\x03\x07)\x03\x12\x03_\x1d\"\n\t\n\x02\x07*\x12\x03`\x08\'\n\n\n\x03\x07*\x02\x12\x03[\x07%\n\n\n\x03\x07*\x04\x12\x03`\x08\x10\n\n\n\x03\x07*\x05\x12\x03`\x11\x15\n\n\n\x03\x07*\x01\x12\x03`\x16\x1e\n\n\n\x03\x07*\x03\x12\x03`!&\n\t\n\x02\x07+\x12\x03a\x08\'\n\n\n\x03\x07+\x02\x12\x03[\x07%\n\n\n\x03\x07+\x04\x12\x03a\x08\x10\n\n\n\x03\x07+\x05\x12\x03a\x11\x15\n\n\n\x03\x07+\x01\x12\x03a\x16\x1e\n\n\n\x03\x07+\x03\x12\x03a!&\n\t\n\x02\x07,\x12\x03b\x08\'\n\n\n\x03\x07,\x02\x12\x03[\x07%\n\n\n\x03\x07,\x04\x12\x03b\x08\x10\n\n\n\x03\x07,\x05\x12\x03b\x11\x15\n\n\n\x03\x07,\x01\x12\x03b\x16\x1e\n\n\n\x03\x07,\x03\x12\x03b!&\n\t\n\x02\x07-\x12\x03c\x08&\n\n\n\x03\x07-\x02\x12\x03[\x07%\n\n\n\x03\x07-\x04\x12\x03c\x08\x10\n\n\n\x03\x07-\x05\x12\x03c\x11\x15\n\n\n\x03\x07-\x01\x12\x03c\x16\x1d\n\n\n\x03\x07-\x03\x12\x03c %\n\t\n\x02\x07.\x12\x03e\x08$\n\n\n\x03\x07.\x02\x12\x03[\x07%\n\n\n\x03\x07.\x04\x12\x03e\x08\x10\n\n\n\x03\x07.\x05\x12\x03e\x11\x15\n\n\n\x03\x07.\x01\x12\x03e\x16\x1b\n\n\n\x03\x07.\x03\x12\x03e\x1e#\n\t\n\x02\x07/\x12\x03f\x08*\n\n\n\x03\x07/\x02\x12\x03[\x07%\n\n\n\x03\x07/\x04\x12\x03f\x08\x10\n\n\n\x03\x07/\x05\x12\x03f\x11\x15\n\n\n\x03\x07/\x01\x12\x03f\x16!\n\n\n\x03\x07/\x03\x12\x03f$)\n\t\n\x02\x070\x12\x03g\x08&\n\n\n\x03\x070\x02\x12\x03[\x07%\n\n\n\x03\x070\x04\x12\x03g\x08\x10\n\n\n\x03\x070\x05\x12\x03g\x11\x15\n\n\n\x03\x070\x01\x12\x03g\x16\x1d\n\n\n\x03\x070\x03\x12\x03g %\n\t\n\x02\x071\x12\x03h\x08\'\n\n\n\x03\x071\x02\x12\x03[\x07%\n\n\n\x03\x071\x04\x12\x03h\x08\x10\n\n\n\x03\x071\x05\x12\x03h\x11\x15\n\n\n\x03\x071\x01\x12\x03h\x16\x1e\n\n\n\x03\x071\x03\x12\x03h!&\n\t\n\x02\x072\x12\x03i\x08(\n\n\n\x03\x072\x02\x12\x03[\x07%\n\n\n\x03\x072\x04\x12\x03i\x08\x10\n\n\n\x03\x072\x05\x12\x03i\x11\x15\n\n\n\x03\x072\x01\x12\x03i\x16\x1f\n\n\n\x03\x072\x03\x12\x03i\"\'\n\t\n\x02\x073\x12\x03j\x08*\n\n\n\x03\x073\x02\x12\x03[\x07%\n\n\n\x03\x073\x04\x12\x03j\x08\x10\n\n\n\x03\x073\x05\x12\x03j\x11\x15\n\n\n\x03\x073\x01\x12\x03j\x16!\n\n\n\x03\x073\x03\x12\x03j$)\n\t\n\x02\x074\x12\x03k\x08/\n\n\n\x03\x074\x02\x12\x03[\x07%\n\n\n\x03\x074\x04\x12\x03k\x08\x10\n\n\n\x03\x074\x05\x12\x03k\x11\x15\n\n\n\x03\x074\x01\x12\x03k\x16&\n\n\n\x03\x074\x03\x12\x03k).\n\t\n\x02\x075\x12\x03m\x08$\n\n\n\x03\x075\x02\x12\x03[\x07%\n\n\n\x03\x075\x04\x12\x03m\x08\x10\n\n\n\x03\x075\x05\x12\x03m\x11\x15\n\n\n\x03\x075\x01\x12\x03m\x16\x1b\n\n\n\x03\x075\x03\x12\x03m\x1e#\n\t\n\x02\x076\x12\x03o\x08/\n\n\n\x03\x076\x02\x12\x03[\x07%\n\n\n\x03\x076\x04\x12\x03o\x08\x10\n\n\n\x03\x076\x05\x12\x03o\x11\x15\n\n\n\x03\x076\x01\x12\x03o\x16&\n\n\n\x03\x076\x03\x12\x03o).\n\t\n\x02\x077\x12\x03p\x081\n\n\n\x03\x077\x02\x12\x03[\x07%\n\n\n\x03\x077\x04\x12\x03p\x08\x10\n\n\n\x03\x077\x05\x12\x03p\x11\x15\n\n\n\x03\x077\x01\x12\x03p\x16(\n\n\n\x03\x077\x03\x12\x03p+0\n\t\n\x02\x078\x12\x03r\x085\n\n\n\x03\x078\x02\x12\x03[\x07%\n\n\n\x03\x078\x04\x12\x03r\x08\x10\n\n\n\x03\x078\x05\x12\x03r\x11\x15\n\n\n\x03\x078\x01\x12\x03r\x16,\n\n\n\x03\x078\x03\x12\x03r/4\n\t\n\x02\x079\x12\x03s\x083\n\n\n\x03\x079\x02\x12\x03[\x07%\n\n\n\x03\x079\x04\x12\x03s\x08\x10\n\n\n\x03\x079\x05\x12\x03s\x11\x15\n\n\n\x03\x079\x01\x12\x03s\x16*\n\n\n\x03\x079\x03\x12\x03s-2\n\t\n\x02\x07:\x12\x03u\x08)\n\n\n\x03\x07:\x02\x12\x03[\x07%\n\n\n\x03\x07:\x04\x12\x03u\x08\x10\n\n\n\x03\x07:\x05\x12\x03u\x11\x15\n\n\n\x03\x07:\x01\x12\x03u\x16 \n\n\n\x03\x07:\x03\x12\x03u#(\n\t\n\x02\x07;\x12\x03v\x08&\n\n\n\x03\x07;\x02\x12\x03[\x07%\n\n\n\x03\x07;\x04\x12\x03v\x08\x10\n\n\n\x03\x07;\x05\x12\x03v\x11\x15\n\n\n\x03\x07;\x01\x12\x03v\x16\x1d\n\n\n\x03\x07;\x03\x12\x03v %\n\t\n\x02\x07<\x12\x03x\x08\'\n\n\n\x03\x07<\x02\x12\x03[\x07%\n\n\n\x03\x07<\x04\x12\x03x\x08\x10\n\n\n\x03\x07<\x05\x12\x03x\x11\x15\n\n\n\x03\x07<\x01\x12\x03x\x16\x1e\n\n\n\x03\x07<\x03\x12\x03x!&\n\t\n\x02\x07=\x12\x03z\x08*\n\n\n\x03\x07=\x02\x12\x03[\x07%\n\n\n\x03\x07=\x04\x12\x03z\x08\x10\n\n\n\x03\x07=\x05\x12\x03z\x11\x15\n\n\n\x03\x07=\x01\x12\x03z\x16!\n\n\n\x03\x07=\x03\x12\x03z$)\n\t\n\x02\x07>\x12\x03|\x080\n\n\n\x03\x07>\x02\x12\x03[\x07%\n\n\n\x03\x07>\x04\x12\x03|\x08\x10\n\n\n\x03\x07>\x05\x12\x03|\x11\x15\n\n\n\x03\x07>\x01\x12\x03|\x16\'\n\n\n\x03\x07>\x03\x12\x03|*/\n\t\n\x02\x07?\x12\x03}\x08.\n\n\n\x03\x07?\x02\x12\x03[\x07%\n\n\n\x03\x07?\x04\x12\x03}\x08\x10\n\n\n\x03\x07?\x05\x12\x03}\x11\x15\n\n\n\x03\x07?\x01\x12\x03}\x16%\n\n\n\x03\x07?\x03\x12\x03}(-\n\x0b\n\x01\x07\x12\x06\x80\x01\x00\x90\x01\x01\n\n\n\x02\x07@\x12\x04\x81\x01\x08\'\n\x0b\n\x03\x07@\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07@\x04\x12\x04\x81\x01\x08\x10\n\x0b\n\x03\x07@\x05\x12\x04\x81\x01\x11\x15\n\x0b\n\x03\x07@\x01\x12\x04\x81\x01\x16\x1e\n\x0b\n\x03\x07@\x03\x12\x04\x81\x01!&\n\n\n\x02\x07A\x12\x04\x82\x01\x08$\n\x0b\n\x03\x07A\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07A\x04\x12\x04\x82\x01\x08\x10\n\x0b\n\x03\x07A\x05\x12\x04\x82\x01\x11\x15\n\x0b\n\x03\x07A\x01\x12\x04\x82\x01\x16\x1b\n\x0b\n\x03\x07A\x03\x12\x04\x82\x01\x1e#\n\n\n\x02\x07B\x12\x04\x83\x01\x08+\n\x0b\n\x03\x07B\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07B\x04\x12\x04\x83\x01\x08\x10\n\x0b\n\x03\x07B\x05\x12\x04\x83\x01\x11\x17\n\x0b\n\x03\x07B\x01\x12\x04\x83\x01\x18\"\n\x0b\n\x03\x07B\x03\x12\x04\x83\x01%*\n\n\n\x02\x07C\x12\x04\x84\x01\x08+\n\x0b\n\x03\x07C\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07C\x04\x12\x04\x84\x01\x08\x10\n\x0b\n\x03\x07C\x05\x12\x04\x84\x01\x11\x17\n\x0b\n\x03\x07C\x01\x12\x04\x84\x01\x18\"\n\x0b\n\x03\x07C\x03\x12\x04\x84\x01%*\n\n\n\x02\x07D\x12\x04\x85\x01\x08(\n\x0b\n\x03\x07D\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07D\x04\x12\x04\x85\x01\x08\x10\n\x0b\n\x03\x07D\x05\x12\x04\x85\x01\x11\x17\n\x0b\n\x03\x07D\x01\x12\x04\x85\x01\x18\x1f\n\x0b\n\x03\x07D\x03\x12\x04\x85\x01\"\'\n\n\n\x02\x07E\x12\x04\x86\x01\x08)\n\x0b\n\x03\x07E\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07E\x04\x12\x04\x86\x01\x08\x10\n\x0b\n\x03\x07E\x05\x12\x04\x86\x01\x11\x17\n\x0b\n\x03\x07E\x01\x12\x04\x86\x01\x18 \n\x0b\n\x03\x07E\x03\x12\x04\x86\x01#(\n\n\n\x02\x07F\x12\x04\x87\x01\x08)\n\x0b\n\x03\x07F\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07F\x04\x12\x04\x87\x01\x08\x10\n\x0b\n\x03\x07F\x05\x12\x04\x87\x01\x11\x17\n\x0b\n\x03\x07F\x01\x12\x04\x87\x01\x18 \n\x0b\n\x03\x07F\x03\x12\x04\x87\x01#(\n\n\n\x02\x07G\x12\x04\x88\x01\x08(\n\x0b\n\x03\x07G\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07G\x04\x12\x04\x88\x01\x08\x10\n\x0b\n\x03\x07G\x05\x12\x04\x88\x01\x11\x17\n\x0b\n\x03\x07G\x01\x12\x04\x88\x01\x18\x1f\n\x0b\n\x03\x07G\x03\x12\x04\x88\x01\"\'\n\n\n\x02\x07H\x12\x04\x89\x01\x08*\n\x0b\n\x03\x07H\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07H\x04\x12\x04\x89\x01\x08\x10\n\x0b\n\x03\x07H\x05\x12\x04\x89\x01\x11\x17\n\x0b\n\x03\x07H\x01\x12\x04\x89\x01\x18!\n\x0b\n\x03\x07H\x03\x12\x04\x89\x01$)\n\n\n\x02\x07I\x12\x04\x8b\x01\x08&\n\x0b\n\x03\x07I\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07I\x04\x12\x04\x8b\x01\x08\x10\n\x0b\n\x03\x07I\x05\x12\x04\x8b\x01\x11\x15\n\x0b\n\x03\x07I\x01\x12\x04\x8b\x01\x16\x1d\n\x0b\n\x03\x07I\x03\x12\x04\x8b\x01 %\n\n\n\x02\x07J\x12\x04\x8c\x01\x08*\n\x0b\n\x03\x07J\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07J\x04\x12\x04\x8c\x01\x08\x10\n\x0b\n\x03\x07J\x05\x12\x04\x8c\x01\x11\x15\n\x0b\n\x03\x07J\x01\x12\x04\x8c\x01\x16!\n\x0b\n\x03\x07J\x03\x12\x04\x8c\x01$)\n\n\n\x02\x07K\x12\x04\x8d\x01\x08)\n\x0b\n\x03\x07K\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07K\x04\x12\x04\x8d\x01\x08\x10\n\x0b\n\x03\x07K\x05\x12\x04\x8d\x01\x11\x15\n\x0b\n\x03\x07K\x01\x12\x04\x8d\x01\x16 \n\x0b\n\x03\x07K\x03\x12\x04\x8d\x01#(\n\n\n\x02\x07L\x12\x04\x8f\x01\x08-\n\x0b\n\x03\x07L\x02\x12\x04\x80\x01\x07#\n\x0b\n\x03\x07L\x04\x12\x04\x8f\x01\x08\x10\n\x0b\n\x03\x07L\x05\x12\x04\x8f\x01\x11\x17\n\x0b\n\x03\x07L\x01\x12\x04\x8f\x01\x18$\n\x0b\n\x03\x07L\x03\x12\x04\x8f\x01\',\n\xed\x16\n\x1fibc/core/client/v1/client.proto\x12\x12ibc.core.client.v1\x1a\x14gogoproto/gogo.proto\x1a\x19google/protobuf/any.proto\"m\n\x15IdentifiedClientState\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x127\n\x0cclient_state\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x0bclientState\"\x93\x01\n\x18ConsensusStateWithHeight\x128\n\x06height\x18\x01 \x01(\x0b2\x1a.ibc.core.client.v1.HeightB\x04\xc8\xde\x1f\x00R\x06height\x12=\n\x0fconsensus_state\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x0econsensusState\"\x93\x01\n\x15ClientConsensusStates\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x12]\n\x10consensus_states\x18\x02 \x03(\x0b2,.ibc.core.client.v1.ConsensusStateWithHeightB\x04\xc8\xde\x1f\x00R\x0fconsensusStates\"d\n\x06Height\x12\'\n\x0frevision_number\x18\x01 \x01(\x04R\x0erevisionNumber\x12\'\n\x0frevision_height\x18\x02 \x01(\x04R\x0erevisionHeight:\x08\x88\xa0\x1f\x00\x98\xa0\x1f\x00\"1\n\x06Params\x12\'\n\x0fallowed_clients\x18\x01 \x03(\tR\x0eallowedClientsB:Z8github.com/cosmos/ibc-go/v8/modules/core/02-client/typesJ\x8c\x11\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\x1b\n\x08\n\x01\x08\x12\x03\x04\x00O\n\t\n\x02\x08\x0b\x12\x03\x04\x00O\n\t\n\x02\x03\x00\x12\x03\x06\x00\x1e\n\t\n\x02\x03\x01\x12\x03\x07\x00#\ng\n\x02\x04\x00\x12\x04\x0b\x00\x10\x01\x1a[ IdentifiedClientState defines a client state with an additional client\n identifier field.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x1d\n \n\x04\x04\x00\x02\x00\x12\x03\r\x02\x17\x1a\x13 client identifier\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\t\x12\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\x15\x16\n\x1b\n\x04\x04\x00\x02\x01\x12\x03\x0f\x02\'\x1a\x0e client state\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0f\x02\x15\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0f\x16\"\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0f%&\nb\n\x02\x04\x01\x12\x04\x14\x00\x19\x01\x1aV ConsensusStateWithHeight defines a consensus state with an additional height\n field.\n\n\n\n\x03\x04\x01\x01\x12\x03\x14\x08 \n%\n\x04\x04\x01\x02\x00\x12\x03\x16\x023\x1a\x18 consensus state height\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x16\t\x0f\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x16\x12\x13\n\x0c\n\x05\x04\x01\x02\x00\x08\x12\x03\x16\x142\n\x0f\n\x08\x04\x01\x02\x00\x08\xe9\xfb\x03\x12\x03\x16\x151\n\x1e\n\x04\x04\x01\x02\x01\x12\x03\x18\x02*\x1a\x11 consensus state\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x18\x02\x15\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x18\x16%\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x18()\n`\n\x02\x04\x02\x12\x04\x1d\x00\"\x01\x1aT ClientConsensusStates defines all the stored consensus states for a given\n client.\n\n\n\n\x03\x04\x02\x01\x12\x03\x1d\x08\x1d\n \n\x04\x04\x02\x02\x00\x12\x03\x1f\x02\x17\x1a\x13 client identifier\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x1f\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1f\t\x12\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1f\x15\x16\nL\n\x04\x04\x02\x02\x01\x12\x03!\x02X\x1a? consensus states and their heights associated with the client\n\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#\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03!$4\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03!78\n\x0c\n\x05\x04\x02\x02\x01\x08\x12\x03!9W\n\x0f\n\x08\x04\x02\x02\x01\x08\xe9\xfb\x03\x12\x03!:V\n\x9c\x04\n\x02\x04\x03\x12\x04.\x006\x01\x1a\x8f\x04 Height is a monotonically increasing data type\n that can be compared against another Height for the purposes of updating and\n freezing clients\n\n Normally the RevisionHeight is incremented at each height while keeping\n RevisionNumber the same. However some consensus algorithms may choose to\n reset the height in certain conditions e.g. hard forks, state-machine\n breaking changes In these cases, the RevisionNumber is incremented so that\n height continues to be monitonically increasing even as the RevisionHeight\n gets reset\n\n\n\n\x03\x04\x03\x01\x12\x03.\x08\x0e\n\n\n\x03\x04\x03\x07\x12\x03/\x02.\n\r\n\x06\x04\x03\x07\x81\xf4\x03\x12\x03/\x02.\n\n\n\x03\x04\x03\x07\x12\x030\x02.\n\r\n\x06\x04\x03\x07\x83\xf4\x03\x12\x030\x02.\n;\n\x04\x04\x03\x02\x00\x12\x033\x02\x1d\x1a. the revision that the client is currently on\n\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x033\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x033\t\x18\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x033\x1b\x1c\n3\n\x04\x04\x03\x02\x01\x12\x035\x02\x1d\x1a& the height within the given revision\n\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x035\t\x18\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x035\x1b\x1c\nD\n\x02\x04\x04\x12\x049\x00>\x01\x1a8 Params defines the set of IBC light client parameters.\n\n\n\n\x03\x04\x04\x01\x12\x039\x08\x0e\n\x80\x02\n\x04\x04\x04\x02\x00\x12\x03=\x02&\x1a\xf2\x01 allowed_clients defines the list of allowed client state types which can be created\n and interacted with. If a client type is removed from the allowed clients list, usage\n of this client will be disabled until it is added again to the list.\n\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03=\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03=\x0b\x11\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03=\x12!\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03=$%b\x06proto3\n\xd8#\n(penumbra/core/component/ibc/v1/ibc.proto\x12\x1epenumbra.core.component.ibc.v1\x1a\x19google/protobuf/any.proto\x1a\x1fibc/core/client/v1/client.proto\x1a\"penumbra/core/asset/v1/asset.proto\x1a penumbra/core/keys/v1/keys.proto\x1a\x1epenumbra/core/num/v1/num.proto\"?\n\x08IbcRelay\x123\n\nraw_action\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\trawAction\"\x8f\x01\n\x17FungibleTokenPacketData\x12\x14\n\x05denom\x18\x01 \x01(\tR\x05denom\x12\x16\n\x06amount\x18\x02 \x01(\tR\x06amount\x12\x16\n\x06sender\x18\x03 \x01(\tR\x06sender\x12\x1a\n\x08receiver\x18\x04 \x01(\tR\x08receiver\x12\x12\n\x04memo\x18\x05 \x01(\tR\x04memo\"\x8c\x03\n\x0fIcs20Withdrawal\x124\n\x06amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06amount\x123\n\x05denom\x18\x02 \x01(\x0b2\x1d.penumbra.core.asset.v1.DenomR\x05denom\x12:\n\x19destination_chain_address\x18\x03 \x01(\tR\x17destinationChainAddress\x12E\n\x0ereturn_address\x18\x04 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\rreturnAddress\x12A\n\x0etimeout_height\x18\x05 \x01(\x0b2\x1a.ibc.core.client.v1.HeightR\rtimeoutHeight\x12!\n\x0ctimeout_time\x18\x06 \x01(\x04R\x0btimeoutTime\x12%\n\x0esource_channel\x18\x07 \x01(\tR\rsourceChannel\"\xb4\x01\n\nClientData\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x127\n\x0cclient_state\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x0bclientState\x12%\n\x0eprocessed_time\x18\x03 \x01(\tR\rprocessedTime\x12)\n\x10processed_height\x18\x04 \x01(\x04R\x0fprocessedHeight\")\n\rClientCounter\x12\x18\n\x07counter\x18\x01 \x01(\x04R\x07counter\"O\n\x0eConsensusState\x12=\n\x0fconsensus_state\x18\x01 \x01(\x0b2\x14.google.protobuf.AnyR\x0econsensusState\"G\n\x0fVerifiedHeights\x124\n\x07heights\x18\x01 \x03(\x0b2\x1a.ibc.core.client.v1.HeightR\x07heights\"-\n\x11ConnectionCounter\x12\x18\n\x07counter\x18\x01 \x01(\x04R\x07counter\"5\n\x11ClientConnections\x12 \n\x0bconnections\x18\x01 \x03(\tR\x0bconnections\"\xc0\x01\n\rIbcParameters\x12\x1f\n\x0bibc_enabled\x18\x01 \x01(\x08R\nibcEnabled\x12E\n\x1finbound_ics20_transfers_enabled\x18\x02 \x01(\x08R\x1cinboundIcs20TransfersEnabled\x12G\n outbound_ics20_transfers_enabled\x18\x03 \x01(\x08R\x1doutboundIcs20TransfersEnabled\"^\n\x0eGenesisContent\x12L\n\nibc_params\x18\x01 \x01(\x0b2-.penumbra.core.component.ibc.v1.IbcParametersR\tibcParamsJ\xfa\x16\n\x06\x12\x04\x00\x00]\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\'\n\t\n\x02\x03\x00\x12\x03\x03\x00#\n\t\n\x02\x03\x01\x12\x03\x04\x00)\n\t\n\x02\x03\x02\x12\x03\x05\x00,\n\t\n\x02\x03\x03\x12\x03\x06\x00*\n\t\n\x02\x03\x04\x12\x03\x07\x00(\n\n\n\x02\x04\x00\x12\x04\t\x00\x0b\x01\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\x10\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\n\x02&\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\n\x02\x16\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n\x17!\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n$%\n\xd5\x01\n\x02\x04\x01\x12\x04\x10\x00\x1b\x01\x1a\xc8\x01 FungibleTokenPacketData defines a struct for the packet payload\n See FungibleTokenPacketData spec:\n https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures\n\n\n\n\x03\x04\x01\x01\x12\x03\x10\x08\x1f\n7\n\x04\x04\x01\x02\x00\x12\x03\x12\x02\x13\x1a* the token denomination to be transferred\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\x0e\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x12\x11\x12\n1\n\x04\x04\x01\x02\x01\x12\x03\x14\x02\x14\x1a$ the token amount to be transferred\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x14\t\x0f\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x14\x12\x13\n!\n\x04\x04\x01\x02\x02\x12\x03\x16\x02\x14\x1a\x14 the return address\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x16\t\x0f\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x16\x12\x13\n=\n\x04\x04\x01\x02\x03\x12\x03\x18\x02\x16\x1a0 the recipient address on the destination chain\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\x11\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x18\x14\x15\n\x1c\n\x04\x04\x01\x02\x04\x12\x03\x1a\x02\x12\x1a\x0f optional memo\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03\x1a\x02\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\x1a\t\r\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x1a\x10\x11\nI\n\x02\x04\x02\x12\x04\x1e\x002\x01\x1a= A Penumbra transaction action requesting an ICS20 transfer.\n\n\n\n\x03\x04\x02\x01\x12\x03\x1e\x08\x17\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1f\x02\x1b\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x1f\x02\x0f\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1f\x10\x16\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1f\x19\x1a\n\x0b\n\x04\x04\x02\x02\x01\x12\x03 \x02\x1b\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03 \x02\x10\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03 \x11\x16\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03 \x19\x1a\nK\n\x04\x04\x02\x02\x02\x12\x03#\x02\'\x1a> the address on the destination chain to send the transfer to\n\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\"\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03#%&\n|\n\x04\x04\x02\x02\x03\x12\x03\'\x02%\x1ao a \"sender\" penumbra address to use to return funds from this withdrawal.\n this should be an ephemeral address\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03\'\x02\x11\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\'\x12 \n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03\'#$\n\x83\x01\n\x04\x04\x02\x02\x04\x12\x03+\x020\x1av The height on the counterparty chain at which this transfer expires, and\n funds are sent back to the return address.\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03+\x02\x1c\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03+\x1d+\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03+./\n<\n\x04\x04\x02\x02\x05\x12\x03.\x02\x1a\x1a/ the timestamp at which this transfer expires.\n\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03.\x02\x08\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03.\t\x15\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03.\x18\x19\n9\n\x04\x04\x02\x02\x06\x12\x031\x02\x1c\x1a, the source channel used for the withdrawal\n\n\x0c\n\x05\x04\x02\x02\x06\x05\x12\x031\x02\x08\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x031\t\x17\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x031\x1a\x1b\n\n\n\x02\x04\x03\x12\x044\x009\x01\n\n\n\x03\x04\x03\x01\x12\x034\x08\x12\n\x0b\n\x04\x04\x03\x02\x00\x12\x035\x02\x17\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x035\t\x12\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x035\x15\x16\nK\n\x04\x04\x03\x02\x01\x12\x036\x02\'\"> NOTE: left as Any to allow us to add more client types later\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x036\x02\x15\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x036\x16\"\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x036%&\n\x0b\n\x04\x04\x03\x02\x02\x12\x037\x02\x1c\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x037\x02\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x037\t\x17\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x037\x1a\x1b\n\x0b\n\x04\x04\x03\x02\x03\x12\x038\x02\x1e\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x038\x02\x08\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x038\t\x19\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x038\x1c\x1d\n\n\n\x02\x04\x04\x12\x04;\x00=\x01\n\n\n\x03\x04\x04\x01\x12\x03;\x08\x15\n\x0b\n\x04\x04\x04\x02\x00\x12\x03<\x02\x15\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\n\n\x02\x04\x05\x12\x04?\x00A\x01\n\n\n\x03\x04\x05\x01\x12\x03?\x08\x16\n\x0b\n\x04\x04\x05\x02\x00\x12\x03@\x02*\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03@\x02\x15\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03@\x16%\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03@()\n\n\n\x02\x04\x06\x12\x04C\x00E\x01\n\n\n\x03\x04\x06\x01\x12\x03C\x08\x17\n\x0b\n\x04\x04\x06\x02\x00\x12\x03D\x022\n\x0c\n\x05\x04\x06\x02\x00\x04\x12\x03D\x02\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03D\x0b%\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03D&-\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03D01\n\n\n\x02\x04\x07\x12\x04G\x00I\x01\n\n\n\x03\x04\x07\x01\x12\x03G\x08\x19\n\x0b\n\x04\x04\x07\x02\x00\x12\x03H\x02\x15\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03H\x02\x08\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03H\t\x10\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03H\x13\x14\n\n\n\x02\x04\x08\x12\x04K\x00M\x01\n\n\n\x03\x04\x08\x01\x12\x03K\x08\x19\n\x0b\n\x04\x04\x08\x02\x00\x12\x03L\x02\"\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\x1d\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03L !\n%\n\x02\x04\t\x12\x04P\x00W\x01\x1a\x19 IBC configuration data.\n\n\n\n\x03\x04\t\x01\x12\x03P\x08\x15\nT\n\x04\x04\t\x02\x00\x12\x03R\x02\x17\x1aG Whether IBC (forming connections, processing IBC packets) is enabled.\n\n\x0c\n\x05\x04\t\x02\x00\x05\x12\x03R\x02\x06\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03R\x07\x12\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03R\x15\x16\n;\n\x04\x04\t\x02\x01\x12\x03T\x02+\x1a. Whether inbound ICS-20 transfers are enabled\n\n\x0c\n\x05\x04\t\x02\x01\x05\x12\x03T\x02\x06\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03T\x07&\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03T)*\n<\n\x04\x04\t\x02\x02\x12\x03V\x02,\x1a/ Whether outbound ICS-20 transfers are enabled\n\n\x0c\n\x05\x04\t\x02\x02\x05\x12\x03V\x02\x06\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03V\x07\'\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03V*+\n \n\x02\x04\n\x12\x04Z\x00]\x01\x1a\x14 IBC genesis state.\n\n\n\n\x03\x04\n\x01\x12\x03Z\x08\x16\n\x1e\n\x04\x04\n\x02\x00\x12\x03\\\x02\x1f\x1a\x11 IBC parameters.\n\n\x0c\n\x05\x04\n\x02\x00\x06\x12\x03\\\x02\x0f\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03\\\x10\x1a\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03\\\x1d\x1eb\x06proto3\n\x90\x9c\x01\n,penumbra/core/component/stake/v1/stake.proto\x12 penumbra.core.component.stake.v1\x1a\"penumbra/core/asset/v1/asset.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a penumbra/core/keys/v1/keys.proto\x1a\x1epenumbra/core/num/v1/num.proto\".\n\x16ZKUndelegateClaimProof\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\xb1\x03\n\tValidator\x12E\n\x0cidentity_key\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\x12#\n\rconsensus_key\x18\x02 \x01(\x0cR\x0cconsensusKey\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x18\n\x07website\x18\x04 \x01(\tR\x07website\x12 \n\x0bdescription\x18\x05 \x01(\tR\x0bdescription\x12\x18\n\x07enabled\x18\x08 \x01(\x08R\x07enabled\x12X\n\x0ffunding_streams\x18\x06 \x03(\x0b2/.penumbra.core.component.stake.v1.FundingStreamR\x0efundingStreams\x12\'\n\x0fsequence_number\x18\x07 \x01(\rR\x0esequenceNumber\x12K\n\x0egovernance_key\x18\t \x01(\x0b2$.penumbra.core.keys.v1.GovernanceKeyR\rgovernanceKey\"Z\n\rValidatorList\x12I\n\x0evalidator_keys\x18\x01 \x03(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\rvalidatorKeys\"\xd7\x02\n\rFundingStream\x12Z\n\nto_address\x18\x01 \x01(\x0b29.penumbra.core.component.stake.v1.FundingStream.ToAddressH\x00R\ttoAddress\x12m\n\x11to_community_pool\x18\x02 \x01(\x0b2?.penumbra.core.component.stake.v1.FundingStream.ToCommunityPoolH\x00R\x0ftoCommunityPool\x1a@\n\tToAddress\x12\x18\n\x07address\x18\x01 \x01(\tR\x07address\x12\x19\n\x08rate_bps\x18\x02 \x01(\rR\x07rateBps\x1a,\n\x0fToCommunityPool\x12\x19\n\x08rate_bps\x18\x02 \x01(\rR\x07rateBpsB\x0b\n\trecipient\"\x9e\x02\n\x08RateData\x12E\n\x0cidentity_key\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\x12#\n\x0bepoch_index\x18\x02 \x01(\x04B\x02\x18\x01R\nepochIndex\x12P\n\x15validator_reward_rate\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x13validatorRewardRate\x12T\n\x17validator_exchange_rate\x18\x05 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x15validatorExchangeRate\"\xc3\x01\n\x0cBaseRateData\x12\x1f\n\x0bepoch_index\x18\x01 \x01(\x04R\nepochIndex\x12F\n\x10base_reward_rate\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0ebaseRewardRate\x12J\n\x12base_exchange_rate\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x10baseExchangeRate\"\xb6\x02\n\x0fValidatorStatus\x12E\n\x0cidentity_key\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\x12F\n\x05state\x18\x02 \x01(\x0b20.penumbra.core.component.stake.v1.ValidatorStateR\x05state\x12?\n\x0cvoting_power\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0bvotingPower\x12S\n\rbonding_state\x18\x04 \x01(\x0b2..penumbra.core.component.stake.v1.BondingStateR\x0cbondingState\"\xda\x02\n\x0cBondingState\x12U\n\x05state\x18\x01 \x01(\x0e2?.penumbra.core.component.stake.v1.BondingState.BondingStateEnumR\x05state\x12,\n\x10unbonds_at_epoch\x18\x02 \x01(\x04B\x02\x18\x01R\x0eunbondsAtEpoch\x12*\n\x11unbonds_at_height\x18\x03 \x01(\x04R\x0funbondsAtHeight\"\x98\x01\n\x10BondingStateEnum\x12\"\n\x1eBONDING_STATE_ENUM_UNSPECIFIED\x10\x00\x12\x1d\n\x19BONDING_STATE_ENUM_BONDED\x10\x01\x12 \n\x1cBONDING_STATE_ENUM_UNBONDING\x10\x02\x12\x1f\n\x1bBONDING_STATE_ENUM_UNBONDED\x10\x03\"\xf7\x02\n\x0eValidatorState\x12Y\n\x05state\x18\x01 \x01(\x0e2C.penumbra.core.component.stake.v1.ValidatorState.ValidatorStateEnumR\x05state\"\x89\x02\n\x12ValidatorStateEnum\x12$\n VALIDATOR_STATE_ENUM_UNSPECIFIED\x10\x00\x12 \n\x1cVALIDATOR_STATE_ENUM_DEFINED\x10\x01\x12!\n\x1dVALIDATOR_STATE_ENUM_INACTIVE\x10\x02\x12\x1f\n\x1bVALIDATOR_STATE_ENUM_ACTIVE\x10\x03\x12\x1f\n\x1bVALIDATOR_STATE_ENUM_JAILED\x10\x04\x12#\n\x1fVALIDATOR_STATE_ENUM_TOMBSTONED\x10\x05\x12!\n\x1dVALIDATOR_STATE_ENUM_DISABLED\x10\x06\"\xee\x01\n\rValidatorInfo\x12I\n\tvalidator\x18\x01 \x01(\x0b2+.penumbra.core.component.stake.v1.ValidatorR\tvalidator\x12I\n\x06status\x18\x02 \x01(\x0b21.penumbra.core.component.stake.v1.ValidatorStatusR\x06status\x12G\n\trate_data\x18\x03 \x01(\x0b2*.penumbra.core.component.stake.v1.RateDataR\x08rateData\"{\n\x13ValidatorDefinition\x12I\n\tvalidator\x18\x01 \x01(\x0b2+.penumbra.core.component.stake.v1.ValidatorR\tvalidator\x12\x19\n\x08auth_sig\x18\x02 \x01(\x0cR\x07authSig\"\x90\x02\n\x08Delegate\x12Q\n\x12validator_identity\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x11validatorIdentity\x12\x1f\n\x0bepoch_index\x18\x02 \x01(\x04R\nepochIndex\x12E\n\x0funbonded_amount\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0eunbondedAmount\x12I\n\x11delegation_amount\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x10delegationAmount\"\xe7\x02\n\nUndelegate\x12Q\n\x12validator_identity\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x11validatorIdentity\x12.\n\x11start_epoch_index\x18\x02 \x01(\x04B\x02\x18\x01R\x0fstartEpochIndex\x12E\n\x0funbonded_amount\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0eunbondedAmount\x12I\n\x11delegation_amount\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x10delegationAmount\x12D\n\nfrom_epoch\x18\x05 \x01(\x0b2%.penumbra.core.component.sct.v1.EpochR\tfromEpoch\"r\n\x0fUndelegateClaim\x12I\n\x04body\x18\x01 \x01(\x0b25.penumbra.core.component.stake.v1.UndelegateClaimBodyR\x04body\x12\x14\n\x05proof\x18\x02 \x01(\x0cR\x05proof\"\xed\x02\n\x13UndelegateClaimBody\x12Q\n\x12validator_identity\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x11validatorIdentity\x12.\n\x11start_epoch_index\x18\x02 \x01(\x04B\x02\x18\x01R\x0fstartEpochIndex\x12C\n\x07penalty\x18\x03 \x01(\x0b2).penumbra.core.component.stake.v1.PenaltyR\x07penalty\x12X\n\x12balance_commitment\x18\x04 \x01(\x0b2).penumbra.core.asset.v1.BalanceCommitmentR\x11balanceCommitment\x124\n\x16unbonding_start_height\x18\x05 \x01(\x04R\x14unbondingStartHeight\"\xdb\x03\n\x13UndelegateClaimPlan\x12Q\n\x12validator_identity\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x11validatorIdentity\x12.\n\x11start_epoch_index\x18\x02 \x01(\x04B\x02\x18\x01R\x0fstartEpochIndex\x12C\n\x07penalty\x18\x04 \x01(\x0b2).penumbra.core.component.stake.v1.PenaltyR\x07penalty\x12G\n\x10unbonding_amount\x18\x05 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0funbondingAmount\x12)\n\x10balance_blinding\x18\x06 \x01(\x0cR\x0fbalanceBlinding\x12(\n\x10proof_blinding_r\x18\x07 \x01(\x0cR\x0eproofBlindingR\x12(\n\x10proof_blinding_s\x18\x08 \x01(\x0cR\x0eproofBlindingS\x124\n\x16unbonding_start_height\x18\t \x01(\x04R\x14unbondingStartHeight\"\xb5\x01\n\x11DelegationChanges\x12L\n\x0bdelegations\x18\x01 \x03(\x0b2*.penumbra.core.component.stake.v1.DelegateR\x0bdelegations\x12R\n\rundelegations\x18\x02 \x03(\x0b2,.penumbra.core.component.stake.v1.UndelegateR\rundelegations\"l\n\x06Uptime\x12+\n\x12as_of_block_height\x18\x01 \x01(\x04R\x0fasOfBlockHeight\x12\x1d\n\nwindow_len\x18\x02 \x01(\rR\twindowLen\x12\x16\n\x06bitvec\x18\x03 \x01(\x0cR\x06bitvec\"b\n\x14CurrentConsensusKeys\x12J\n\x0econsensus_keys\x18\x01 \x03(\x0b2#.penumbra.core.keys.v1.ConsensusKeyR\rconsensusKeys\"\x1f\n\x07Penalty\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\";\n\x14ValidatorInfoRequest\x12#\n\rshow_inactive\x18\x02 \x01(\x08R\x0cshowInactive\"o\n\x15ValidatorInfoResponse\x12V\n\x0evalidator_info\x18\x01 \x01(\x0b2/.penumbra.core.component.stake.v1.ValidatorInfoR\rvalidatorInfo\"_\n\x16ValidatorStatusRequest\x12E\n\x0cidentity_key\x18\x02 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\"d\n\x17ValidatorStatusResponse\x12I\n\x06status\x18\x01 \x01(\x0b21.penumbra.core.component.stake.v1.ValidatorStatusR\x06status\"\xb4\x01\n\x17ValidatorPenaltyRequest\x12E\n\x0cidentity_key\x18\x02 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\x12*\n\x11start_epoch_index\x18\x03 \x01(\x04R\x0fstartEpochIndex\x12&\n\x0fend_epoch_index\x18\x04 \x01(\x04R\rendEpochIndex\"_\n\x18ValidatorPenaltyResponse\x12C\n\x07penalty\x18\x01 \x01(\x0b2).penumbra.core.component.stake.v1.PenaltyR\x07penalty\"d\n\x1bCurrentValidatorRateRequest\x12E\n\x0cidentity_key\x18\x02 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\"^\n\x1cCurrentValidatorRateResponse\x12>\n\x04data\x18\x01 \x01(\x0b2*.penumbra.core.component.stake.v1.RateDataR\x04data\"\x82\x04\n\x0fStakeParameters\x12-\n\x10unbonding_epochs\x18\x01 \x01(\x04B\x02\x18\x01R\x0funbondingEpochs\x124\n\x16active_validator_limit\x18\x02 \x01(\x04R\x14activeValidatorLimit\x12(\n\x10base_reward_rate\x18\x03 \x01(\x04R\x0ebaseRewardRate\x12@\n\x1cslashing_penalty_misbehavior\x18\x04 \x01(\x04R\x1aslashingPenaltyMisbehavior\x12:\n\x19slashing_penalty_downtime\x18\x05 \x01(\x04R\x17slashingPenaltyDowntime\x127\n\x18signed_blocks_window_len\x18\x06 \x01(\x04R\x15signedBlocksWindowLen\x122\n\x15missed_blocks_maximum\x18\x07 \x01(\x04R\x13missedBlocksMaximum\x12L\n\x13min_validator_stake\x18\x08 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x11minValidatorStake\x12\'\n\x0funbonding_delay\x18\t \x01(\x04R\x0eunbondingDelay\"\xb3\x01\n\x0eGenesisContent\x12T\n\x0cstake_params\x18\x01 \x01(\x0b21.penumbra.core.component.stake.v1.StakeParametersR\x0bstakeParams\x12K\n\nvalidators\x18\x02 \x03(\x0b2+.penumbra.core.component.stake.v1.ValidatorR\nvalidators2\xc0\x04\n\x0cQueryService\x12\x82\x01\n\rValidatorInfo\x126.penumbra.core.component.stake.v1.ValidatorInfoRequest\x1a7.penumbra.core.component.stake.v1.ValidatorInfoResponse0\x01\x12\x86\x01\n\x0fValidatorStatus\x128.penumbra.core.component.stake.v1.ValidatorStatusRequest\x1a9.penumbra.core.component.stake.v1.ValidatorStatusResponse\x12\x89\x01\n\x10ValidatorPenalty\x129.penumbra.core.component.stake.v1.ValidatorPenaltyRequest\x1a:.penumbra.core.component.stake.v1.ValidatorPenaltyResponse\x12\x95\x01\n\x14CurrentValidatorRate\x12=.penumbra.core.component.stake.v1.CurrentValidatorRateRequest\x1a>.penumbra.core.component.stake.v1.CurrentValidatorRateResponseJ\xebc\n\x07\x12\x05\x00\x00\xb8\x02\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00)\n\t\n\x02\x03\x00\x12\x03\x03\x00,\n\t\n\x02\x03\x01\x12\x03\x04\x002\n\t\n\x02\x03\x02\x12\x03\x05\x00*\n\t\n\x02\x03\x03\x12\x03\x06\x00(\n3\n\x02\x04\x00\x12\x04\t\x00\x0b\x01\x1a\' A Penumbra ZK undelegate claim proof.\n\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\x1e\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\n\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\n\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n\x10\x11\n9\n\x02\x04\x01\x12\x04\x0e\x00%\x01\x1a- Describes a validator\'s configuration data.\n\n\n\n\x03\x04\x01\x01\x12\x03\x0e\x08\x11\n9\n\x04\x04\x01\x02\x00\x12\x03\x10\x02\'\x1a, The validator\'s identity verification key.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x10\x02\x15\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x10\x16\"\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x10%&\nP\n\x04\x04\x01\x02\x01\x12\x03\x12\x02\x1a\x1aC The validator\'s consensus pubkey for use in Tendermint (Ed25519).\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x12\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x12\x08\x15\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x12\x18\x19\n5\n\x04\x04\x01\x02\x02\x12\x03\x14\x02\x12\x1a( The validator\'s (human-readable) name.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x14\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x14\t\r\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x14\x10\x11\n\'\n\x04\x04\x01\x02\x03\x12\x03\x16\x02\x15\x1a\x1a The validator\'s website.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x16\t\x10\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x16\x13\x14\n+\n\x04\x04\x01\x02\x04\x12\x03\x18\x02\x19\x1a\x1e The validator\'s description.\n\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\x18\t\x14\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x18\x17\x18\n\x86\x01\n\x04\x04\x01\x02\x05\x12\x03\x1c\x02\x13\x1ay Whether the validator is enabled or not.\n\n Disabled validators cannot be delegated to, and immediately begin unbonding.\n\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x03\x1c\x02\x06\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03\x1c\x07\x0e\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03\x1c\x11\x12\nO\n\x04\x04\x01\x02\x06\x12\x03\x1e\x02-\x1aB A list of funding streams describing the validator\'s commission.\n\n\x0c\n\x05\x04\x01\x02\x06\x04\x12\x03\x1e\x02\n\n\x0c\n\x05\x04\x01\x02\x06\x06\x12\x03\x1e\x0b\x18\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x03\x1e\x19(\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x03\x1e+,\n\xc6\x01\n\x04\x04\x01\x02\x07\x12\x03\"\x02\x1d\x1a\xb8\x01 The sequence number determines which validator data takes priority, and\n prevents replay attacks.  The chain only accepts new validator definitions\n with increasing sequence numbers.\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\x18\n\x0c\n\x05\x04\x01\x02\x07\x03\x12\x03\"\x1b\x1c\n.\n\x04\x04\x01\x02\x08\x12\x03$\x02+\x1a! The validator\'s governance key.\n\n\x0c\n\x05\x04\x01\x02\x08\x06\x12\x03$\x02\x17\n\x0c\n\x05\x04\x01\x02\x08\x01\x12\x03$\x18&\n\x0c\n\x05\x04\x01\x02\x08\x03\x12\x03$)*\n?\n\x02\x04\x02\x12\x04(\x00*\x01\x1a3 For storing the list of keys of known validators.\n\n\n\n\x03\x04\x02\x01\x12\x03(\x08\x15\n\x0b\n\x04\x04\x02\x02\x00\x12\x03)\x022\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03)\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03)\x0b\x1e\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03)\x1f-\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03)01\n4\n\x02\x04\x03\x12\x04-\x00A\x01\x1a( A portion of a validator\'s commission.\n\n\n\n\x03\x04\x03\x01\x12\x03-\x08\x15\n\x0c\n\x04\x04\x03\x03\x00\x12\x04.\x024\x03\n\x0c\n\x05\x04\x03\x03\x00\x01\x12\x03.\n\x13\n@\n\x06\x04\x03\x03\x00\x02\x00\x12\x030\x04\x17\x1a1 The destination address for the funding stream.\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x030\x04\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x030\x0b\x12\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x030\x15\x16\n\x90\x01\n\x06\x04\x03\x03\x00\x02\x01\x12\x033\x04\x18\x1a\x80\x01 The portion of the staking reward for the entire delegation pool\n allocated to this funding stream, specified in basis points.\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x05\x12\x033\x04\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x01\x12\x033\x0b\x13\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x03\x12\x033\x16\x17\n\x0c\n\x04\x04\x03\x03\x01\x12\x046\x02:\x03\n\x0c\n\x05\x04\x03\x03\x01\x01\x12\x036\n\x19\n\x90\x01\n\x06\x04\x03\x03\x01\x02\x00\x12\x039\x04\x18\x1a\x80\x01 The portion of the staking reward for the entire delegation pool\n allocated to this funding stream, specified in basis points.\n\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x05\x12\x039\x04\n\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x01\x12\x039\x0b\x13\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x03\x12\x039\x16\x17\n4\n\x04\x04\x03\x08\x00\x12\x04=\x02@\x03\x1a& The recipient of the funding stream.\n\n\x0c\n\x05\x04\x03\x08\x00\x01\x12\x03=\x08\x11\n\x0b\n\x04\x04\x03\x02\x00\x12\x03>\x04\x1d\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03>\x04\r\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03>\x0e\x18\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03>\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x01\x12\x03?\x04*\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03?\x04\x13\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03?\x14%\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03?()\ne\n\x02\x04\x04\x12\x04D\x00M\x01\x1aY Describes the reward and exchange rates and voting power for a validator in some epoch.\n\n\n\n\x03\x04\x04\x01\x12\x03D\x08\x10\n\x0b\n\x04\x04\x04\x02\x00\x12\x03E\x02\'\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03E\x02\x15\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03E\x16\"\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03E%&\n\x0b\n\x04\x04\x04\x02\x01\x12\x03F\x02-\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03F\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03F\t\x14\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03F\x17\x18\n\x0c\n\x05\x04\x04\x02\x01\x08\x12\x03F\x19,\n\r\n\x06\x04\x04\x02\x01\x08\x03\x12\x03F\x1a+\n\x0b\n\x04\x04\x04\x02\x02\x12\x03G\x02*\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03G\x02\x0f\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03G\x10%\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03G()\n\xf9\x01\n\x04\x04\x04\x02\x03\x12\x03L\x02,\x1a\xeb\x01 The validator exchange rate between delegation tokens and staking tokens.\n The rate is expressed in fixed-point representation with a scaling factor\n of 10^8. For example, a decimal rate of `1.234` will be represented as\n `123400000`\n\n\x0c\n\x05\x04\x04\x02\x03\x06\x12\x03L\x02\x0f\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03L\x10\'\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03L*+\nI\n\x02\x04\x05\x12\x04P\x00T\x01\x1a= Describes the base reward and exchange rates in some epoch.\n\n\n\n\x03\x04\x05\x01\x12\x03P\x08\x14\n\x0b\n\x04\x04\x05\x02\x00\x12\x03Q\x02\x19\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03Q\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03Q\t\x14\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03Q\x17\x18\n\x0b\n\x04\x04\x05\x02\x01\x12\x03R\x02%\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03R\x02\x0f\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03R\x10 \n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03R#$\n\x0b\n\x04\x04\x05\x02\x02\x12\x03S\x02\'\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03S\x02\x0f\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03S\x10\"\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03S%&\nA\n\x02\x04\x06\x12\x04W\x00\\\x01\x1a5 Describes the current state of a validator on-chain\n\n\n\n\x03\x04\x06\x01\x12\x03W\x08\x17\n\x0b\n\x04\x04\x06\x02\x00\x12\x03X\x02\'\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03X\x02\x15\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03X\x16\"\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03X%&\n\x0b\n\x04\x04\x06\x02\x01\x12\x03Y\x02\x1b\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03Y\x02\x10\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03Y\x11\x16\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03Y\x19\x1a\n\x0b\n\x04\x04\x06\x02\x02\x12\x03Z\x02!\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03Z\x02\x0f\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03Z\x10\x1c\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03Z\x1f \n\x0b\n\x04\x04\x06\x02\x03\x12\x03[\x02!\n\x0c\n\x05\x04\x06\x02\x03\x06\x12\x03[\x02\x0e\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03[\x0f\x1c\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03[\x1f \nH\n\x02\x04\x07\x12\x04_\x00i\x01\x1a< Describes the unbonding state of a validator\'s stake pool.\n\n\n\n\x03\x04\x07\x01\x12\x03_\x08\x14\n\x0c\n\x04\x04\x07\x04\x00\x12\x04`\x02e\x03\n\x0c\n\x05\x04\x07\x04\x00\x01\x12\x03`\x07\x17\n\r\n\x06\x04\x07\x04\x00\x02\x00\x12\x03a\x04\'\n\x0e\n\x07\x04\x07\x04\x00\x02\x00\x01\x12\x03a\x04\"\n\x0e\n\x07\x04\x07\x04\x00\x02\x00\x02\x12\x03a%&\n\r\n\x06\x04\x07\x04\x00\x02\x01\x12\x03b\x04\"\n\x0e\n\x07\x04\x07\x04\x00\x02\x01\x01\x12\x03b\x04\x1d\n\x0e\n\x07\x04\x07\x04\x00\x02\x01\x02\x12\x03b !\n\r\n\x06\x04\x07\x04\x00\x02\x02\x12\x03c\x04%\n\x0e\n\x07\x04\x07\x04\x00\x02\x02\x01\x12\x03c\x04 \n\x0e\n\x07\x04\x07\x04\x00\x02\x02\x02\x12\x03c#$\n\r\n\x06\x04\x07\x04\x00\x02\x03\x12\x03d\x04$\n\x0e\n\x07\x04\x07\x04\x00\x02\x03\x01\x12\x03d\x04\x1f\n\x0e\n\x07\x04\x07\x04\x00\x02\x03\x02\x12\x03d\"#\n\x0b\n\x04\x04\x07\x02\x00\x12\x03f\x02\x1d\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03f\x02\x12\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03f\x13\x18\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03f\x1b\x1c\n\x0b\n\x04\x04\x07\x02\x01\x12\x03g\x022\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03g\x02\x08\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03g\t\x19\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03g\x1c\x1d\n\x0c\n\x05\x04\x07\x02\x01\x08\x12\x03g\x1e1\n\r\n\x06\x04\x07\x02\x01\x08\x03\x12\x03g\x1f0\n\x0b\n\x04\x04\x07\x02\x02\x12\x03h\x02\x1f\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03h\x02\x08\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03h\t\x1a\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03h\x1d\x1e\n0\n\x02\x04\x08\x12\x04l\x00w\x01\x1a$ Describes the state of a validator\n\n\n\n\x03\x04\x08\x01\x12\x03l\x08\x16\n\x0c\n\x04\x04\x08\x04\x00\x12\x04m\x02u\x03\n\x0c\n\x05\x04\x08\x04\x00\x01\x12\x03m\x07\x19\n\r\n\x06\x04\x08\x04\x00\x02\x00\x12\x03n\x04)\n\x0e\n\x07\x04\x08\x04\x00\x02\x00\x01\x12\x03n\x04$\n\x0e\n\x07\x04\x08\x04\x00\x02\x00\x02\x12\x03n\'(\n\r\n\x06\x04\x08\x04\x00\x02\x01\x12\x03o\x04%\n\x0e\n\x07\x04\x08\x04\x00\x02\x01\x01\x12\x03o\x04 \n\x0e\n\x07\x04\x08\x04\x00\x02\x01\x02\x12\x03o#$\n\r\n\x06\x04\x08\x04\x00\x02\x02\x12\x03p\x04&\n\x0e\n\x07\x04\x08\x04\x00\x02\x02\x01\x12\x03p\x04!\n\x0e\n\x07\x04\x08\x04\x00\x02\x02\x02\x12\x03p$%\n\r\n\x06\x04\x08\x04\x00\x02\x03\x12\x03q\x04$\n\x0e\n\x07\x04\x08\x04\x00\x02\x03\x01\x12\x03q\x04\x1f\n\x0e\n\x07\x04\x08\x04\x00\x02\x03\x02\x12\x03q\"#\n\r\n\x06\x04\x08\x04\x00\x02\x04\x12\x03r\x04$\n\x0e\n\x07\x04\x08\x04\x00\x02\x04\x01\x12\x03r\x04\x1f\n\x0e\n\x07\x04\x08\x04\x00\x02\x04\x02\x12\x03r\"#\n\r\n\x06\x04\x08\x04\x00\x02\x05\x12\x03s\x04(\n\x0e\n\x07\x04\x08\x04\x00\x02\x05\x01\x12\x03s\x04#\n\x0e\n\x07\x04\x08\x04\x00\x02\x05\x02\x12\x03s&\'\n\r\n\x06\x04\x08\x04\x00\x02\x06\x12\x03t\x04&\n\x0e\n\x07\x04\x08\x04\x00\x02\x06\x01\x12\x03t\x04!\n\x0e\n\x07\x04\x08\x04\x00\x02\x06\x02\x12\x03t$%\n\x0b\n\x04\x04\x08\x02\x00\x12\x03v\x02\x1f\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03v\x02\x14\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03v\x15\x1a\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03v\x1d\x1e\n?\n\x02\x04\t\x12\x04z\x00~\x01\x1a3 Combines all validator info into a single packet.\n\n\n\n\x03\x04\t\x01\x12\x03z\x08\x15\n\x0b\n\x04\x04\t\x02\x00\x12\x03{\x02\x1a\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03{\x02\x0b\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03{\x0c\x15\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03{\x18\x19\n\x0b\n\x04\x04\t\x02\x01\x12\x03|\x02\x1d\n\x0c\n\x05\x04\t\x02\x01\x06\x12\x03|\x02\x11\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03|\x12\x18\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03|\x1b\x1c\n\x0b\n\x04\x04\t\x02\x02\x12\x03}\x02\x19\n\x0c\n\x05\x04\t\x02\x02\x06\x12\x03}\x02\n\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03}\x0b\x14\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03}\x17\x18\n>\n\x02\x04\n\x12\x06\x81\x01\x00\x86\x01\x01\x1a0 A transaction action (re)defining a validator.\n\n\x0b\n\x03\x04\n\x01\x12\x04\x81\x01\x08\x1b\n9\n\x04\x04\n\x02\x00\x12\x04\x83\x01\x02\x1a\x1a+ The configuration data for the validator.\n\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\x83\x01\x02\x0b\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x83\x01\x0c\x15\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x83\x01\x18\x19\nT\n\x04\x04\n\x02\x01\x12\x04\x85\x01\x02\x15\x1aF A signature by the validator\'s identity key over the validator data.\n\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\x85\x01\x02\x07\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\x85\x01\x08\x10\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\x85\x01\x13\x14\nS\n\x02\x04\x0b\x12\x06\x89\x01\x00\x98\x01\x01\x1aE A transaction action adding stake to a validator\'s delegation pool.\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x89\x01\x08\x10\nA\n\x04\x04\x0b\x02\x00\x12\x04\x8b\x01\x02-\x1a3 The identity key of the validator to delegate to.\n\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\x8b\x01\x02\x15\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\x8b\x01\x16(\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\x8b\x01+,\n~\n\x04\x04\x0b\x02\x01\x12\x04\x8e\x01\x02\x19\x1ap The index of the epoch in which this delegation was performed.\n The delegation takes effect in the next epoch.\n\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\x8e\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\x8e\x01\t\x14\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\x8e\x01\x17\x18\n\x98\x01\n\x04\x04\x0b\x02\x02\x12\x04\x91\x01\x02$\x1a\x89\x01 The delegation amount, in units of unbonded stake.\n TODO: use flow aggregation to hide this, replacing it with bytes amount_ciphertext;\n\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\x91\x01\x02\x0f\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\x91\x01\x10\x1f\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\x91\x01\"#\n\xa7\x02\n\x04\x04\x0b\x02\x03\x12\x04\x97\x01\x02&\x1a\x98\x02 The amount of delegation tokens produced by this action.\n\n This is implied by the validator\'s exchange rate in the specified epoch\n (and should be checked in transaction validation!), but including it allows\n stateless verification that the transaction is internally consistent.\n\n\r\n\x05\x04\x0b\x02\x03\x06\x12\x04\x97\x01\x02\x0f\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\x97\x01\x10!\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x97\x01$%\nZ\n\x02\x04\x0c\x12\x06\x9b\x01\x00\xaa\x01\x01\x1aL A transaction action withdrawing stake from a validator\'s delegation pool.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x9b\x01\x08\x12\nE\n\x04\x04\x0c\x02\x00\x12\x04\x9d\x01\x02-\x1a7 The identity key of the validator to undelegate from.\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\x9d\x01\x02\x15\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x9d\x01\x16(\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x9d\x01+,\nP\n\x04\x04\x0c\x02\x01\x12\x04\x9f\x01\x023\x1aB The index of the epoch in which this undelegation was performed.\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x9f\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x9f\x01\t\x1a\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\x9f\x01\x1d\x1e\n\r\n\x05\x04\x0c\x02\x01\x08\x12\x04\x9f\x01\x1f2\n\x0e\n\x06\x04\x0c\x02\x01\x08\x03\x12\x04\x9f\x01 1\nG\n\x04\x04\x0c\x02\x02\x12\x04\xa1\x01\x02$\x1a9 The amount to undelegate, in units of unbonding tokens.\n\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\xa1\x01\x02\x0f\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\xa1\x01\x10\x1f\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xa1\x01\"#\n\xa7\x02\n\x04\x04\x0c\x02\x03\x12\x04\xa7\x01\x02&\x1a\x98\x02 The amount of delegation tokens consumed by this action.\n\n This is implied by the validator\'s exchange rate in the specified epoch\n (and should be checked in transaction validation!), but including it allows\n stateless verification that the transaction is internally consistent.\n\n\r\n\x05\x04\x0c\x02\x03\x06\x12\x04\xa7\x01\x02\x0f\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xa7\x01\x10!\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xa7\x01$%\nA\n\x04\x04\x0c\x02\x04\x12\x04\xa9\x01\x026\x1a3 The epoch in which this delegation was performed.\n\n\r\n\x05\x04\x0c\x02\x04\x06\x12\x04\xa9\x01\x02&\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\xa9\x01\'1\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\xa9\x0145\n\x8b\x01\n\x02\x04\r\x12\x06\xae\x01\x00\xb1\x01\x01\x1a} A transaction action finishing an undelegation, converting (slashable)\n \"unbonding tokens\" to (unslashable) staking tokens.\n\n\x0b\n\x03\x04\r\x01\x12\x04\xae\x01\x08\x17\n\x0c\n\x04\x04\r\x02\x00\x12\x04\xaf\x01\x02\x1f\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xaf\x01\x02\x15\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xaf\x01\x16\x1a\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xaf\x01\x1d\x1e\n\x0c\n\x04\x04\r\x02\x01\x12\x04\xb0\x01\x02\x12\n\r\n\x05\x04\r\x02\x01\x05\x12\x04\xb0\x01\x02\x07\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\xb0\x01\x08\r\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xb0\x01\x10\x11\n\x0c\n\x02\x04\x0e\x12\x06\xb3\x01\x00\xbf\x01\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\xb3\x01\x08\x1b\nN\n\x04\x04\x0e\x02\x00\x12\x04\xb5\x01\x02-\x1a@ The identity key of the validator to finish undelegating from.\n\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\xb5\x01\x02\x15\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xb5\x01\x16(\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xb5\x01+,\nO\n\x04\x04\x0e\x02\x01\x12\x04\xb7\x01\x023\x1aA The epoch in which unbonding began, used to verify the penalty.\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xb7\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xb7\x01\t\x1a\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xb7\x01\x1d\x1e\n\r\n\x05\x04\x0e\x02\x01\x08\x12\x04\xb7\x01\x1f2\n\x0e\n\x06\x04\x0e\x02\x01\x08\x03\x12\x04\xb7\x01 1\ns\n\x04\x04\x0e\x02\x02\x12\x04\xba\x01\x02\x16\x1ae The penalty applied to undelegation, in bps^2 (10e-8).\n In the happy path (no slashing), this is 0.\n\n\r\n\x05\x04\x0e\x02\x02\x06\x12\x04\xba\x01\x02\t\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xba\x01\n\x11\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\xba\x01\x14\x15\nM\n\x04\x04\x0e\x02\x03\x12\x04\xbc\x01\x024\x1a? The action\'s contribution to the transaction\'s value balance.\n\n\r\n\x05\x04\x0e\x02\x03\x06\x12\x04\xbc\x01\x02\x1c\n\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\xbc\x01\x1d/\n\r\n\x05\x04\x0e\x02\x03\x03\x12\x04\xbc\x0123\nO\n\x04\x04\x0e\x02\x04\x12\x04\xbe\x01\x02$\x1aA/ The starting height of the epoch during which unbonding began.\n\n\r\n\x05\x04\x0e\x02\x04\x05\x12\x04\xbe\x01\x02\x08\n\r\n\x05\x04\x0e\x02\x04\x01\x12\x04\xbe\x01\t\x1f\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\xbe\x01\"#\n\x0c\n\x02\x04\x0f\x12\x06\xc1\x01\x00\xd4\x01\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xc1\x01\x08\x1b\nN\n\x04\x04\x0f\x02\x00\x12\x04\xc3\x01\x02-\x1a@ The identity key of the validator to finish undelegating from.\n\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xc3\x01\x02\x15\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xc3\x01\x16(\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xc3\x01+,\nO\n\x04\x04\x0f\x02\x01\x12\x04\xc5\x01\x023\x1aA The epoch in which unbonding began, used to verify the penalty.\n\n\r\n\x05\x04\x0f\x02\x01\x05\x12\x04\xc5\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xc5\x01\t\x1a\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xc5\x01\x1d\x1e\n\r\n\x05\x04\x0f\x02\x01\x08\x12\x04\xc5\x01\x1f2\n\x0e\n\x06\x04\x0f\x02\x01\x08\x03\x12\x04\xc5\x01 1\ns\n\x04\x04\x0f\x02\x02\x12\x04\xc8\x01\x02\x16\x1ae The penalty applied to undelegation, in bps^2 (10e-8).\n In the happy path (no slashing), this is 0.\n\n\r\n\x05\x04\x0f\x02\x02\x06\x12\x04\xc8\x01\x02\t\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xc8\x01\n\x11\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xc8\x01\x14\x15\n\x86\x01\n\x04\x04\x0f\x02\x03\x12\x04\xcb\x01\x02%\x1ax The amount of unbonding tokens to claim.\n This is a bare number because its denom is determined by the preceding data.\n\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\xcb\x01\x02\x0f\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xcb\x01\x10 \n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xcb\x01#$\nF\n\x04\x04\x0f\x02\x04\x12\x04\xcd\x01\x02\x1d\x1a8 The blinding factor to use for the balance commitment.\n\n\r\n\x05\x04\x0f\x02\x04\x05\x12\x04\xcd\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x04\x01\x12\x04\xcd\x01\x08\x18\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\xcd\x01\x1b\x1c\nS\n\x04\x04\x0f\x02\x05\x12\x04\xcf\x01\x02\x1d\x1aE The first blinding factor to use for the ZK undelegate claim proof.\n\n\r\n\x05\x04\x0f\x02\x05\x05\x12\x04\xcf\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x05\x01\x12\x04\xcf\x01\x08\x18\n\r\n\x05\x04\x0f\x02\x05\x03\x12\x04\xcf\x01\x1b\x1c\nT\n\x04\x04\x0f\x02\x06\x12\x04\xd1\x01\x02\x1d\x1aF The second blinding factor to use for the ZK undelegate claim proof.\n\n\r\n\x05\x04\x0f\x02\x06\x05\x12\x04\xd1\x01\x02\x07\n\r\n\x05\x04\x0f\x02\x06\x01\x12\x04\xd1\x01\x08\x18\n\r\n\x05\x04\x0f\x02\x06\x03\x12\x04\xd1\x01\x1b\x1c\n8\n\x04\x04\x0f\x02\x07\x12\x04\xd3\x01\x02$\x1a* The height during which unbonding began.\n\n\r\n\x05\x04\x0f\x02\x07\x05\x12\x04\xd3\x01\x02\x08\n\r\n\x05\x04\x0f\x02\x07\x01\x12\x04\xd3\x01\t\x1f\n\r\n\x05\x04\x0f\x02\x07\x03\x12\x04\xd3\x01\"#\n@\n\x02\x04\x10\x12\x06\xd7\x01\x00\xda\x01\x01\x1a2 A list of pending delegations and undelegations.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xd7\x01\x08\x19\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xd8\x01\x02$\n\r\n\x05\x04\x10\x02\x00\x04\x12\x04\xd8\x01\x02\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xd8\x01\x0b\x13\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xd8\x01\x14\x1f\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xd8\x01\"#\n\x0c\n\x04\x04\x10\x02\x01\x12\x04\xd9\x01\x02(\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\xd9\x01\x02\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xd9\x01\x0b\x15\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xd9\x01\x16#\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xd9\x01&\'\n-\n\x02\x04\x11\x12\x06\xdd\x01\x00\xe1\x01\x01\x1a\x1f Track\'s a validator\'s uptime.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xdd\x01\x08\x0e\n\x0c\n\x04\x04\x11\x02\x00\x12\x04\xde\x01\x02 \n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xde\x01\x02\x08\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xde\x01\t\x1b\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xde\x01\x1e\x1f\n\x0c\n\x04\x04\x11\x02\x01\x12\x04\xdf\x01\x02\x18\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\xdf\x01\x02\x08\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xdf\x01\t\x13\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xdf\x01\x16\x17\n\x0c\n\x04\x04\x11\x02\x02\x12\x04\xe0\x01\x02\x13\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\xe0\x01\x02\x07\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xe0\x01\x08\x0e\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xe0\x01\x11\x12\nt\n\x02\x04\x12\x12\x06\xe5\x01\x00\xe7\x01\x01\x1af Tracks our view of Tendermint\'s view of the validator set, so we can keep it\n from getting confused.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xe5\x01\x08\x1c\n\x0c\n\x04\x04\x12\x02\x00\x12\x04\xe6\x01\x023\n\r\n\x05\x04\x12\x02\x00\x04\x12\x04\xe6\x01\x02\n\n\r\n\x05\x04\x12\x02\x00\x06\x12\x04\xe6\x01\x0b\x1f\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xe6\x01 .\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xe6\x0112\nO\n\x02\x04\x13\x12\x06\xea\x01\x00\xec\x01\x01\x1aA Tracks slashing penalties applied to a validator in some epoch.\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xea\x01\x08\x0f\n\x0c\n\x04\x04\x13\x02\x00\x12\x04\xeb\x01\x02\x12\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xeb\x01\x02\x07\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xeb\x01\x08\r\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xeb\x01\x10\x11\n;\n\x02\x06\x00\x12\x06\xef\x01\x00\xf5\x01\x01\x1a- Query operations for the staking component.\n\n\x0b\n\x03\x06\x00\x01\x12\x04\xef\x01\x08\x14\nB\n\x04\x06\x00\x02\x00\x12\x04\xf1\x01\x02Q\x1a4 Queries the current validator set, with filtering.\n\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xf1\x01\x06\x13\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xf1\x01\x14(\n\r\n\x05\x06\x00\x02\x00\x06\x12\x04\xf1\x0139\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xf1\x01:O\n\x0c\n\x04\x06\x00\x02\x01\x12\x04\xf2\x01\x02P\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xf2\x01\x06\x15\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xf2\x01\x16,\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xf2\x017N\n\x0c\n\x04\x06\x00\x02\x02\x12\x04\xf3\x01\x02S\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xf3\x01\x06\x16\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xf3\x01\x17.\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xf3\x019Q\n\x0c\n\x04\x06\x00\x02\x03\x12\x04\xf4\x01\x02_\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\xf4\x01\x06\x1a\n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\xf4\x01\x1b6\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\xf4\x01A]\n?\n\x02\x04\x14\x12\x06\xf8\x01\x00\xfb\x01\x01\x1a1 Requests information on the chain\'s validators.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xf8\x01\x08\x1c\n<\n\x04\x04\x14\x02\x00\x12\x04\xfa\x01\x02\x19\x1a. Whether or not to return inactive validators\n\n\r\n\x05\x04\x14\x02\x00\x05\x12\x04\xfa\x01\x02\x06\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xfa\x01\x07\x14\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xfa\x01\x17\x18\n\x0c\n\x02\x04\x15\x12\x06\xfd\x01\x00\xff\x01\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xfd\x01\x08\x1d\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\xfe\x01\x02;\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\xfe\x01\x02\'\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xfe\x01(6\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xfe\x019:\n\x0c\n\x02\x04\x16\x12\x06\x81\x02\x00\x83\x02\x01\n\x0b\n\x03\x04\x16\x01\x12\x04\x81\x02\x08\x1e\n\x0c\n\x04\x04\x16\x02\x00\x12\x04\x82\x02\x02,\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\x82\x02\x02\x1a\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\x82\x02\x1b\'\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\x82\x02*+\n\x0c\n\x02\x04\x17\x12\x06\x85\x02\x00\x87\x02\x01\n\x0b\n\x03\x04\x17\x01\x12\x04\x85\x02\x08\x1f\n\x0c\n\x04\x04\x17\x02\x00\x12\x04\x86\x02\x025\n\r\n\x05\x04\x17\x02\x00\x06\x12\x04\x86\x02\x02)\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\x86\x02*0\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\x86\x0234\nW\n\x02\x04\x18\x12\x06\x8a\x02\x00\x8e\x02\x01\x1aI Requests the compounded penalty for a validator over a range of epochs.\n\n\x0b\n\x03\x04\x18\x01\x12\x04\x8a\x02\x08\x1f\n\x0c\n\x04\x04\x18\x02\x00\x12\x04\x8b\x02\x02,\n\r\n\x05\x04\x18\x02\x00\x06\x12\x04\x8b\x02\x02\x1a\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\x8b\x02\x1b\'\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\x8b\x02*+\n\x0c\n\x04\x04\x18\x02\x01\x12\x04\x8c\x02\x02\x1f\n\r\n\x05\x04\x18\x02\x01\x05\x12\x04\x8c\x02\x02\x08\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\x8c\x02\t\x1a\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\x8c\x02\x1d\x1e\n\x0c\n\x04\x04\x18\x02\x02\x12\x04\x8d\x02\x02\x1d\n\r\n\x05\x04\x18\x02\x02\x05\x12\x04\x8d\x02\x02\x08\n\r\n\x05\x04\x18\x02\x02\x01\x12\x04\x8d\x02\t\x18\n\r\n\x05\x04\x18\x02\x02\x03\x12\x04\x8d\x02\x1b\x1c\n\x0c\n\x02\x04\x19\x12\x06\x90\x02\x00\x92\x02\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\x90\x02\x08 \n\x0c\n\x04\x04\x19\x02\x00\x12\x04\x91\x02\x02.\n\r\n\x05\x04\x19\x02\x00\x06\x12\x04\x91\x02\x02!\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\x91\x02\")\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\x91\x02,-\n\x0c\n\x02\x04\x1a\x12\x06\x94\x02\x00\x96\x02\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\x94\x02\x08#\n\x0c\n\x04\x04\x1a\x02\x00\x12\x04\x95\x02\x02,\n\r\n\x05\x04\x1a\x02\x00\x06\x12\x04\x95\x02\x02\x1a\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\x95\x02\x1b\'\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\x95\x02*+\n\x0c\n\x02\x04\x1b\x12\x06\x98\x02\x00\x9a\x02\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\x98\x02\x08$\n\x0c\n\x04\x04\x1b\x02\x00\x12\x04\x99\x02\x02,\n\r\n\x05\x04\x1b\x02\x00\x06\x12\x04\x99\x02\x02\"\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\x99\x02#\'\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\x99\x02*+\n+\n\x02\x04\x1c\x12\x06\x9d\x02\x00\xb0\x02\x01\x1a\x1d Staking configuration data.\n\n\x0b\n\x03\x04\x1c\x01\x12\x04\x9d\x02\x08\x17\nQ\n\x04\x04\x1c\x02\x00\x12\x04\x9f\x02\x022\x1aC The number of epochs an unbonding note for before being released.\n\n\r\n\x05\x04\x1c\x02\x00\x05\x12\x04\x9f\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\x9f\x02\t\x19\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\x9f\x02\x1c\x1d\n\r\n\x05\x04\x1c\x02\x00\x08\x12\x04\x9f\x02\x1e1\n\x0e\n\x06\x04\x1c\x02\x00\x08\x03\x12\x04\x9f\x02\x1f0\nF\n\x04\x04\x1c\x02\x01\x12\x04\xa1\x02\x02$\x1a8 The maximum number of validators in the consensus set.\n\n\r\n\x05\x04\x1c\x02\x01\x05\x12\x04\xa1\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x01\x01\x12\x04\xa1\x02\t\x1f\n\r\n\x05\x04\x1c\x02\x01\x03\x12\x04\xa1\x02\"#\nO\n\x04\x04\x1c\x02\x02\x12\x04\xa3\x02\x02\x1e\x1aA The base reward rate, expressed in basis points of basis points\n\n\r\n\x05\x04\x1c\x02\x02\x05\x12\x04\xa3\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x02\x01\x12\x04\xa3\x02\t\x19\n\r\n\x05\x04\x1c\x02\x02\x03\x12\x04\xa3\x02\x1c\x1d\n<\n\x04\x04\x1c\x02\x03\x12\x04\xa5\x02\x02*\x1a. The penalty for slashing due to misbehavior.\n\n\r\n\x05\x04\x1c\x02\x03\x05\x12\x04\xa5\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x03\x01\x12\x04\xa5\x02\t%\n\r\n\x05\x04\x1c\x02\x03\x03\x12\x04\xa5\x02()\n9\n\x04\x04\x1c\x02\x04\x12\x04\xa7\x02\x02\'\x1a+ The penalty for slashing due to downtime.\n\n\r\n\x05\x04\x1c\x02\x04\x05\x12\x04\xa7\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x04\x01\x12\x04\xa7\x02\t\"\n\r\n\x05\x04\x1c\x02\x04\x03\x12\x04\xa7\x02%&\nI\n\x04\x04\x1c\x02\x05\x12\x04\xa9\x02\x02&\x1a; The number of blocks in the window to check for downtime.\n\n\r\n\x05\x04\x1c\x02\x05\x05\x12\x04\xa9\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x05\x01\x12\x04\xa9\x02\t!\n\r\n\x05\x04\x1c\x02\x05\x03\x12\x04\xa9\x02$%\nl\n\x04\x04\x1c\x02\x06\x12\x04\xab\x02\x02#\x1a^ The maximum number of blocks in the window each validator can miss signing without slashing.\n\n\r\n\x05\x04\x1c\x02\x06\x05\x12\x04\xab\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x06\x01\x12\x04\xab\x02\t\x1e\n\r\n\x05\x04\x1c\x02\x06\x03\x12\x04\xab\x02!\"\nc\n\x04\x04\x1c\x02\x07\x12\x04\xad\x02\x02(\x1aU The minimum amount of stake required for a validator to be indexed by the protocol.\n\n\r\n\x05\x04\x1c\x02\x07\x06\x12\x04\xad\x02\x02\x0f\n\r\n\x05\x04\x1c\x02\x07\x01\x12\x04\xad\x02\x10#\n\r\n\x05\x04\x1c\x02\x07\x03\x12\x04\xad\x02&\'\n^\n\x04\x04\x1c\x02\x08\x12\x04\xaf\x02\x02\x1d\x1aP The number of blocks that must elapse before an unbonding note can be claimed.\n\n\r\n\x05\x04\x1c\x02\x08\x05\x12\x04\xaf\x02\x02\x08\n\r\n\x05\x04\x1c\x02\x08\x01\x12\x04\xaf\x02\t\x18\n\r\n\x05\x04\x1c\x02\x08\x03\x12\x04\xaf\x02\x1b\x1c\n7\n\x02\x04\x1d\x12\x06\xb3\x02\x00\xb8\x02\x01\x1a) Genesis data for the staking component.\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\xb3\x02\x08\x16\nY\n\x04\x04\x1d\x02\x00\x12\x04\xb5\x02\x02#\x1aK The configuration parameters for the staking component present at genesis\n\n\r\n\x05\x04\x1d\x02\x00\x06\x12\x04\xb5\x02\x02\x11\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xb5\x02\x12\x1e\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xb5\x02!\"\n:\n\x04\x04\x1d\x02\x01\x12\x04\xb7\x02\x02-\x1a, The list of validators present at genesis.\n\n\r\n\x05\x04\x1d\x02\x01\x04\x12\x04\xb7\x02\x02\n\n\r\n\x05\x04\x1d\x02\x01\x06\x12\x04\xb7\x02\x0b\x1d\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\xb7\x02\x1e(\n\r\n\x05\x04\x1d\x02\x01\x03\x12\x04\xb7\x02+,b\x06proto3\n\xcb\xf6\x01\n6penumbra/core/component/governance/v1/governance.proto\x12%penumbra.core.component.governance.v1\x1a\x19google/protobuf/any.proto\x1a\"penumbra/core/asset/v1/asset.proto\x1a>penumbra/core/component/community_pool/v1/community_pool.proto\x1a(penumbra/core/component/dex/v1/dex.proto\x1a<penumbra/core/component/distributions/v1/distributions.proto\x1a(penumbra/core/component/fee/v1/fee.proto\x1a0penumbra/core/component/funding/v1/funding.proto\x1a(penumbra/core/component/ibc/v1/ibc.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a<penumbra/core/component/shielded_pool/v1/shielded_pool.proto\x1a,penumbra/core/component/stake/v1/stake.proto\x1a penumbra/core/keys/v1/keys.proto\x1a\x1epenumbra/core/num/v1/num.proto\x1a4penumbra/crypto/decaf377_rdsa/v1/decaf377_rdsa.proto\",\n\x14ZKDelegatorVoteProof\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\xa2\x01\n\x0eProposalSubmit\x12K\n\x08proposal\x18\x01 \x01(\x0b2/.penumbra.core.component.governance.v1.ProposalR\x08proposal\x12C\n\x0edeposit_amount\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\rdepositAmount\"F\n\x10ProposalWithdraw\x12\x1a\n\x08proposal\x18\x01 \x01(\x04R\x08proposal\x12\x16\n\x06reason\x18\x02 \x01(\tR\x06reason\"\xc9\x01\n\x14ProposalDepositClaim\x12\x1a\n\x08proposal\x18\x01 \x01(\x04R\x08proposal\x12C\n\x0edeposit_amount\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\rdepositAmount\x12P\n\x07outcome\x18\x03 \x01(\x0b26.penumbra.core.component.governance.v1.ProposalOutcomeR\x07outcome\"\xae\x01\n\rValidatorVote\x12L\n\x04body\x18\x01 \x01(\x0b28.penumbra.core.component.governance.v1.ValidatorVoteBodyR\x04body\x12O\n\x08auth_sig\x18\x02 \x01(\x0b24.penumbra.crypto.decaf377_rdsa.v1.SpendAuthSignatureR\x07authSig\"-\n\x13ValidatorVoteReason\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\"\xd8\x02\n\x11ValidatorVoteBody\x12\x1a\n\x08proposal\x18\x01 \x01(\x04R\x08proposal\x12?\n\x04vote\x18\x02 \x01(\x0b2+.penumbra.core.component.governance.v1.VoteR\x04vote\x12E\n\x0cidentity_key\x18\x03 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\x12K\n\x0egovernance_key\x18\x04 \x01(\x0b2$.penumbra.core.keys.v1.GovernanceKeyR\rgovernanceKey\x12R\n\x06reason\x18\x05 \x01(\x0b2:.penumbra.core.component.governance.v1.ValidatorVoteReasonR\x06reason\"\x81\x02\n\rDelegatorVote\x12L\n\x04body\x18\x01 \x01(\x0b28.penumbra.core.component.governance.v1.DelegatorVoteBodyR\x04body\x12O\n\x08auth_sig\x18\x02 \x01(\x0b24.penumbra.crypto.decaf377_rdsa.v1.SpendAuthSignatureR\x07authSig\x12Q\n\x05proof\x18\x03 \x01(\x0b2;.penumbra.core.component.governance.v1.ZKDelegatorVoteProofR\x05proof\"\xa4\x03\n\x11DelegatorVoteBody\x12\x1a\n\x08proposal\x18\x01 \x01(\x04R\x08proposal\x12%\n\x0estart_position\x18\x02 \x01(\x04R\rstartPosition\x12?\n\x04vote\x18\x03 \x01(\x0b2+.penumbra.core.component.governance.v1.VoteR\x04vote\x123\n\x05value\x18\x04 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\x12E\n\x0funbonded_amount\x18\x05 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0eunbondedAmount\x12G\n\tnullifier\x18\x06 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x12F\n\x02rk\x18\x07 \x01(\x0b26.penumbra.crypto.decaf377_rdsa.v1.SpendVerificationKeyR\x02rk\"\xf6\x03\n\x11DelegatorVoteView\x12\\\n\x07visible\x18\x01 \x01(\x0b2@.penumbra.core.component.governance.v1.DelegatorVoteView.VisibleH\x00R\x07visible\x12Y\n\x06opaque\x18\x02 \x01(\x0b2?.penumbra.core.component.governance.v1.DelegatorVoteView.OpaqueH\x00R\x06opaque\x1a\xae\x01\n\x07Visible\x12[\n\x0edelegator_vote\x18\x01 \x01(\x0b24.penumbra.core.component.governance.v1.DelegatorVoteR\rdelegatorVote\x12F\n\x04note\x18\x02 \x01(\x0b22.penumbra.core.component.shielded_pool.v1.NoteViewR\x04note\x1ae\n\x06Opaque\x12[\n\x0edelegator_vote\x18\x01 \x01(\x0b24.penumbra.core.component.governance.v1.DelegatorVoteR\rdelegatorVoteB\x10\n\x0edelegator_vote\"\xd5\x03\n\x11DelegatorVotePlan\x12\x1a\n\x08proposal\x18\x01 \x01(\x04R\x08proposal\x12%\n\x0estart_position\x18\x02 \x01(\x04R\rstartPosition\x12?\n\x04vote\x18\x03 \x01(\x0b2+.penumbra.core.component.governance.v1.VoteR\x04vote\x12O\n\x0bstaked_note\x18\x04 \x01(\x0b2..penumbra.core.component.shielded_pool.v1.NoteR\nstakedNote\x120\n\x14staked_note_position\x18\x05 \x01(\x04R\x12stakedNotePosition\x12E\n\x0funbonded_amount\x18\x06 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0eunbondedAmount\x12\x1e\n\nrandomizer\x18\x07 \x01(\x0cR\nrandomizer\x12(\n\x10proof_blinding_r\x18\x08 \x01(\x0cR\x0eproofBlindingR\x12(\n\x10proof_blinding_s\x18\t \x01(\x0cR\x0eproofBlindingS\"K\n\x14CommunityPoolDeposit\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\"I\n\x12CommunityPoolSpend\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\"\x84\x01\n\x13CommunityPoolOutput\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\x128\n\x07address\x18\x02 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\"\x97\x01\n\x04Vote\x12D\n\x04vote\x18\x01 \x01(\x0e20.penumbra.core.component.governance.v1.Vote.VoteR\x04vote\"I\n\x04Vote\x12\x14\n\x10VOTE_UNSPECIFIED\x10\x00\x12\x10\n\x0cVOTE_ABSTAIN\x10\x01\x12\x0c\n\x08VOTE_YES\x10\x02\x12\x0b\n\x07VOTE_NO\x10\x03\"\xf0\x04\n\rProposalState\x12U\n\x06voting\x18\x02 \x01(\x0b2;.penumbra.core.component.governance.v1.ProposalState.VotingH\x00R\x06voting\x12^\n\twithdrawn\x18\x03 \x01(\x0b2>.penumbra.core.component.governance.v1.ProposalState.WithdrawnH\x00R\twithdrawn\x12[\n\x08finished\x18\x04 \x01(\x0b2=.penumbra.core.component.governance.v1.ProposalState.FinishedH\x00R\x08finished\x12X\n\x07claimed\x18\x05 \x01(\x0b2<.penumbra.core.component.governance.v1.ProposalState.ClaimedH\x00R\x07claimed\x1a\x08\n\x06Voting\x1a#\n\tWithdrawn\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x1a\\\n\x08Finished\x12P\n\x07outcome\x18\x01 \x01(\x0b26.penumbra.core.component.governance.v1.ProposalOutcomeR\x07outcome\x1a[\n\x07Claimed\x12P\n\x07outcome\x18\x01 \x01(\x0b26.penumbra.core.component.governance.v1.ProposalOutcomeR\x07outcomeB\x07\n\x05state\"\xae\x04\n\x0fProposalOutcome\x12W\n\x06passed\x18\x01 \x01(\x0b2=.penumbra.core.component.governance.v1.ProposalOutcome.PassedH\x00R\x06passed\x12W\n\x06failed\x18\x02 \x01(\x0b2=.penumbra.core.component.governance.v1.ProposalOutcome.FailedH\x00R\x06failed\x12Z\n\x07slashed\x18\x03 \x01(\x0b2>.penumbra.core.component.governance.v1.ProposalOutcome.SlashedH\x00R\x07slashed\x1a#\n\tWithdrawn\x12\x16\n\x06reason\x18\x01 \x01(\tR\x06reason\x1a\x08\n\x06Passed\x1ah\n\x06Failed\x12^\n\twithdrawn\x18\x01 \x01(\x0b2@.penumbra.core.component.governance.v1.ProposalOutcome.WithdrawnR\twithdrawn\x1ai\n\x07Slashed\x12^\n\twithdrawn\x18\x01 \x01(\x0b2@.penumbra.core.component.governance.v1.ProposalOutcome.WithdrawnR\twithdrawnB\t\n\x07outcome\"C\n\x05Tally\x12\x10\n\x03yes\x18\x01 \x01(\x04R\x03yes\x12\x0e\n\x02no\x18\x02 \x01(\x04R\x02no\x12\x18\n\x07abstain\x18\x03 \x01(\x04R\x07abstain\"\xcc\n\n\x08Proposal\x12\x0e\n\x02id\x18\x04 \x01(\x04R\x02id\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12Y\n\tsignaling\x18\x05 \x01(\x0b29.penumbra.core.component.governance.v1.Proposal.SignalingH\x00R\tsignaling\x12Y\n\temergency\x18\x06 \x01(\x0b29.penumbra.core.component.governance.v1.Proposal.EmergencyH\x00R\temergency\x12l\n\x10parameter_change\x18\x07 \x01(\x0b2?.penumbra.core.component.governance.v1.Proposal.ParameterChangeH\x00R\x0fparameterChange\x12v\n\x14community_pool_spend\x18\x08 \x01(\x0b2B.penumbra.core.component.governance.v1.Proposal.CommunityPoolSpendH\x00R\x12communityPoolSpend\x12`\n\x0cupgrade_plan\x18\t \x01(\x0b2;.penumbra.core.component.governance.v1.Proposal.UpgradePlanH\x00R\x0bupgradePlan\x12m\n\x11freeze_ibc_client\x18\n \x01(\x0b2?.penumbra.core.component.governance.v1.Proposal.FreezeIbcClientH\x00R\x0ffreezeIbcClient\x12s\n\x13unfreeze_ibc_client\x18\x0b \x01(\x0b2A.penumbra.core.component.governance.v1.Proposal.UnfreezeIbcClientH\x00R\x11unfreezeIbcClient\x1a#\n\tSignaling\x12\x16\n\x06commit\x18\x01 \x01(\tR\x06commit\x1a*\n\tEmergency\x12\x1d\n\nhalt_chain\x18\x01 \x01(\x08R\thaltChain\x1a\xd9\x01\n\x0fParameterChange\x12b\n\x0eold_parameters\x18\x01 \x01(\x0b2;.penumbra.core.component.governance.v1.ChangedAppParametersR\roldParameters\x12b\n\x0enew_parameters\x18\x02 \x01(\x0b2;.penumbra.core.component.governance.v1.ChangedAppParametersR\rnewParameters\x1aU\n\x12CommunityPoolSpend\x12?\n\x10transaction_plan\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x0ftransactionPlan\x1a%\n\x0bUpgradePlan\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x1a.\n\x0fFreezeIbcClient\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientId\x1a0\n\x11UnfreezeIbcClient\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08clientIdB\t\n\x07payload\"6\n\x13ProposalInfoRequest\x12\x1f\n\x0bproposal_id\x18\x02 \x01(\x04R\nproposalId\"k\n\x14ProposalInfoResponse\x12,\n\x12start_block_height\x18\x01 \x01(\x04R\x10startBlockHeight\x12%\n\x0estart_position\x18\x02 \x01(\x04R\rstartPosition\"6\n\x13ProposalDataRequest\x12\x1f\n\x0bproposal_id\x18\x02 \x01(\x04R\nproposalId\"\x84\x03\n\x14ProposalDataResponse\x12K\n\x08proposal\x18\x01 \x01(\x0b2/.penumbra.core.component.governance.v1.ProposalR\x08proposal\x12,\n\x12start_block_height\x18\x02 \x01(\x04R\x10startBlockHeight\x12(\n\x10end_block_height\x18\x03 \x01(\x04R\x0eendBlockHeight\x12%\n\x0estart_position\x18\x04 \x01(\x04R\rstartPosition\x12J\n\x05state\x18\x05 \x01(\x0b24.penumbra.core.component.governance.v1.ProposalStateR\x05state\x12T\n\x17proposal_deposit_amount\x18\x06 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x15proposalDepositAmount\":\n\x17ProposalRateDataRequest\x12\x1f\n\x0bproposal_id\x18\x02 \x01(\x04R\nproposalId\"c\n\x18ProposalRateDataResponse\x12G\n\trate_data\x18\x01 \x01(\x0b2*.penumbra.core.component.stake.v1.RateDataR\x08rateData\"1\n\x13ProposalListRequest\x12\x1a\n\x08inactive\x18\x02 \x01(\x08R\x08inactive\"\xae\x02\n\x14ProposalListResponse\x12K\n\x08proposal\x18\x01 \x01(\x0b2/.penumbra.core.component.governance.v1.ProposalR\x08proposal\x12,\n\x12start_block_height\x18\x02 \x01(\x04R\x10startBlockHeight\x12(\n\x10end_block_height\x18\x03 \x01(\x04R\x0eendBlockHeight\x12%\n\x0estart_position\x18\x04 \x01(\x04R\rstartPosition\x12J\n\x05state\x18\x05 \x01(\x0b24.penumbra.core.component.governance.v1.ProposalStateR\x05state\"8\n\x15ValidatorVotesRequest\x12\x1f\n\x0bproposal_id\x18\x02 \x01(\x04R\nproposalId\"\xa0\x01\n\x16ValidatorVotesResponse\x12?\n\x04vote\x18\x01 \x01(\x0b2+.penumbra.core.component.governance.v1.VoteR\x04vote\x12E\n\x0cidentity_key\x18\x02 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\"\xc8\x02\n\x14GovernanceParameters\x124\n\x16proposal_voting_blocks\x18\x01 \x01(\x04R\x14proposalVotingBlocks\x12T\n\x17proposal_deposit_amount\x18\x02 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x15proposalDepositAmount\x122\n\x15proposal_valid_quorum\x18\x03 \x01(\tR\x13proposalValidQuorum\x126\n\x17proposal_pass_threshold\x18\x04 \x01(\tR\x15proposalPassThreshold\x128\n\x18proposal_slash_threshold\x18\x05 \x01(\tR\x16proposalSlashThreshold\"z\n\x0eGenesisContent\x12h\n\x11governance_params\x18\x01 \x01(\x0b2;.penumbra.core.component.governance.v1.GovernanceParametersR\x10governanceParams\"\xce\x07\n\x14ChangedAppParameters\x12L\n\nsct_params\x18\x01 \x01(\x0b2-.penumbra.core.component.sct.v1.SctParametersR\tsctParams\x12v\n\x15community_pool_params\x18\x02 \x01(\x0b2B.penumbra.core.component.community_pool.v1.CommunityPoolParametersR\x13communityPoolParams\x12h\n\x11governance_params\x18\x03 \x01(\x0b2;.penumbra.core.component.governance.v1.GovernanceParametersR\x10governanceParams\x12L\n\nibc_params\x18\x04 \x01(\x0b2-.penumbra.core.component.ibc.v1.IbcParametersR\tibcParams\x12T\n\x0cstake_params\x18\x05 \x01(\x0b21.penumbra.core.component.stake.v1.StakeParametersR\x0bstakeParams\x12L\n\nfee_params\x18\x06 \x01(\x0b2-.penumbra.core.component.fee.v1.FeeParametersR\tfeeParams\x12t\n\x14distributions_params\x18\x07 \x01(\x0b2A.penumbra.core.component.distributions.v1.DistributionsParametersR\x13distributionsParams\x12\\\n\x0efunding_params\x18\x08 \x01(\x0b25.penumbra.core.component.funding.v1.FundingParametersR\rfundingParams\x12r\n\x14shielded_pool_params\x18\t \x01(\x0b2@.penumbra.core.component.shielded_pool.v1.ShieldedPoolParametersR\x12shieldedPoolParams\x12L\n\ndex_params\x18\n \x01(\x0b2-.penumbra.core.component.dex.v1.DexParametersR\tdexParams\"\xb7\x01\n\x17ChangedAppParametersSet\x12M\n\x03old\x18\x01 \x01(\x0b2;.penumbra.core.component.governance.v1.ChangedAppParametersR\x03old\x12M\n\x03new\x18\x02 \x01(\x0b2;.penumbra.core.component.governance.v1.ChangedAppParametersR\x03new\"\x8b\x01\n!VotingPowerAtProposalStartRequest\x12\x1f\n\x0bproposal_id\x18\x02 \x01(\x04R\nproposalId\x12E\n\x0cidentity_key\x18\x03 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\"G\n\"VotingPowerAtProposalStartResponse\x12!\n\x0cvoting_power\x18\x01 \x01(\x04R\x0bvotingPower\"M\n*AllTalliedDelegatorVotesForProposalRequest\x12\x1f\n\x0bproposal_id\x18\x02 \x01(\x04R\nproposalId\"\xb8\x01\n+AllTalliedDelegatorVotesForProposalResponse\x12B\n\x05tally\x18\x01 \x01(\x0b2,.penumbra.core.component.governance.v1.TallyR\x05tally\x12E\n\x0cidentity_key\x18\x02 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\"\x17\n\x15NextProposalIdRequest\"B\n\x16NextProposalIdResponse\x12(\n\x10next_proposal_id\x18\x01 \x01(\x04R\x0enextProposalId\"G\n\x05Ratio\x12\x1c\n\tnumerator\x18\x01 \x01(\x04R\tnumerator\x12 \n\x0bdenominator\x18\x02 \x01(\x04R\x0bdenominator\"^\n\x12EventDelegatorVote\x12H\n\x04vote\x18\x01 \x01(\x0b24.penumbra.core.component.governance.v1.DelegatorVoteR\x04vote\"}\n\x19EventProposalDepositClaim\x12`\n\rdeposit_claim\x18\x01 \x01(\x0b2;.penumbra.core.component.governance.v1.ProposalDepositClaimR\x0cdepositClaim\"^\n\x12EventValidatorVote\x12H\n\x04vote\x18\x01 \x01(\x0b24.penumbra.core.component.governance.v1.ValidatorVoteR\x04vote\"l\n\x15EventProposalWithdraw\x12S\n\x08withdraw\x18\x01 \x01(\x0b27.penumbra.core.component.governance.v1.ProposalWithdrawR\x08withdraw\"d\n\x13EventProposalSubmit\x12M\n\x06submit\x18\x01 \x01(\x0b25.penumbra.core.component.governance.v1.ProposalSubmitR\x06submit\"a\n\x12EventEnactProposal\x12K\n\x08proposal\x18\x01 \x01(\x0b2/.penumbra.core.component.governance.v1.ProposalR\x08proposal\"b\n\x13EventProposalFailed\x12K\n\x08proposal\x18\x01 \x01(\x0b2/.penumbra.core.component.governance.v1.ProposalR\x08proposal\"c\n\x14EventProposalSlashed\x12K\n\x08proposal\x18\x01 \x01(\x0b2/.penumbra.core.component.governance.v1.ProposalR\x08proposal2\xed\t\n\x0cQueryService\x12\x87\x01\n\x0cProposalInfo\x12:.penumbra.core.component.governance.v1.ProposalInfoRequest\x1a;.penumbra.core.component.governance.v1.ProposalInfoResponse\x12\x89\x01\n\x0cProposalList\x12:.penumbra.core.component.governance.v1.ProposalListRequest\x1a;.penumbra.core.component.governance.v1.ProposalListResponse0\x01\x12\x87\x01\n\x0cProposalData\x12:.penumbra.core.component.governance.v1.ProposalDataRequest\x1a;.penumbra.core.component.governance.v1.ProposalDataResponse\x12\x8d\x01\n\x0eNextProposalId\x12<.penumbra.core.component.governance.v1.NextProposalIdRequest\x1a=.penumbra.core.component.governance.v1.NextProposalIdResponse\x12\x8f\x01\n\x0eValidatorVotes\x12<.penumbra.core.component.governance.v1.ValidatorVotesRequest\x1a=.penumbra.core.component.governance.v1.ValidatorVotesResponse0\x01\x12\xb1\x01\n\x1aVotingPowerAtProposalStart\x12H.penumbra.core.component.governance.v1.VotingPowerAtProposalStartRequest\x1aI.penumbra.core.component.governance.v1.VotingPowerAtProposalStartResponse\x12\xce\x01\n#AllTalliedDelegatorVotesForProposal\x12Q.penumbra.core.component.governance.v1.AllTalliedDelegatorVotesForProposalRequest\x1aR.penumbra.core.component.governance.v1.AllTalliedDelegatorVotesForProposalResponse0\x01\x12\x95\x01\n\x10ProposalRateData\x12>.penumbra.core.component.governance.v1.ProposalRateDataRequest\x1a?.penumbra.core.component.governance.v1.ProposalRateDataResponse0\x01J\x88\x97\x01\n\x07\x12\x05\x00\x00\x9f\x04\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00.\n\t\n\x02\x03\x00\x12\x03\x03\x00#\n\t\n\x02\x03\x01\x12\x03\x04\x00,\n\t\n\x02\x03\x02\x12\x03\x05\x00H\n\t\n\x02\x03\x03\x12\x03\x06\x002\n\t\n\x02\x03\x04\x12\x03\x07\x00F\n\t\n\x02\x03\x05\x12\x03\x08\x002\n\t\n\x02\x03\x06\x12\x03\t\x00:\n\t\n\x02\x03\x07\x12\x03\n\x002\n\t\n\x02\x03\x08\x12\x03\x0b\x002\n\t\n\x02\x03\t\x12\x03\x0c\x00F\n\t\n\x02\x03\n\x12\x03\r\x006\n\t\n\x02\x03\x0b\x12\x03\x0e\x00*\n\t\n\x02\x03\x0c\x12\x03\x0f\x00(\n\t\n\x02\x03\r\x12\x03\x10\x00>\n1\n\x02\x04\x00\x12\x04\x13\x00\x15\x01\x1a% A Penumbra ZK delegator vote proof.\n\n\n\n\x03\x04\x00\x01\x12\x03\x13\x08\x1c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x14\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x14\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14\x10\x11\n\n\n\x02\x04\x01\x12\x04\x17\x00\x1c\x01\n\n\n\x03\x04\x01\x01\x12\x03\x17\x08\x16\n,\n\x04\x04\x01\x02\x00\x12\x03\x19\x02&\x1a\x1f The proposal to be submitted.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x19\x02\x18\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x19\x19!\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x19$%\n2\n\x04\x04\x01\x02\x01\x12\x03\x1b\x02#\x1a% The amount of the proposal deposit.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x1b\x02\x0f\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x1b\x10\x1e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1b!\"\n\n\n\x02\x04\x02\x12\x04\x1e\x00#\x01\n\n\n\x03\x04\x02\x01\x12\x03\x1e\x08\x18\n,\n\x04\x04\x02\x02\x00\x12\x03 \x02\x16\x1a\x1f The proposal to be withdrawn.\n\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\x11\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03 \x14\x15\n;\n\x04\x04\x02\x02\x01\x12\x03\"\x02\x14\x1a. The reason for the proposal being withdrawn.\n\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\x0f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\"\x12\x13\n\n\n\x02\x04\x03\x12\x04%\x00,\x01\n\n\n\x03\x04\x03\x01\x12\x03%\x08\x1c\n5\n\x04\x04\x03\x02\x00\x12\x03\'\x02\x16\x1a( The proposal to claim the deposit for.\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\x11\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\'\x14\x15\n+\n\x04\x04\x03\x02\x01\x12\x03)\x02#\x1a\x1e The expected deposit amount.\n\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03)\x02\x0f\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03)\x10\x1e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03)!\"\n+\n\x04\x04\x03\x02\x02\x12\x03+\x02\x1e\x1a\x1e The outcome of the proposal.\n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03+\x02\x11\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03+\x12\x19\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03+\x1c\x1d\n\n\n\x02\x04\x04\x12\x04.\x003\x01\n\n\n\x03\x04\x04\x01\x12\x03.\x08\x15\n/\n\x04\x04\x04\x02\x00\x12\x030\x02\x1d\x1a\" The effecting data for the vote.\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x030\x02\x13\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x030\x14\x18\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x030\x1b\x1c\nD\n\x04\x04\x04\x02\x01\x12\x032\x02C\x1a7 The vote authorization signature is authorizing data.\n\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x032\x025\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x0326>\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x032AB\n\n\n\x02\x04\x05\x12\x045\x007\x01\n\n\n\x03\x04\x05\x01\x12\x035\x08\x1b\n\x0b\n\x04\x04\x05\x02\x00\x12\x036\x02\x14\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x036\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x036\t\x0f\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x036\x12\x13\n\n\n\x02\x04\x06\x12\x049\x00D\x01\n\n\n\x03\x04\x06\x01\x12\x039\x08\x19\n+\n\x04\x04\x06\x02\x00\x12\x03;\x02\x16\x1a\x1e The proposal being voted on.\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03;\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03;\t\x11\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03;\x14\x15\n\x18\n\x04\x04\x06\x02\x01\x12\x03=\x02\x1e\x1a\x0b The vote.\n\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03=\x02\x14\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03=\x15\x19\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03=\x1c\x1d\n&\n\x04\x04\x06\x02\x02\x12\x03?\x02\'\x1a\x19 The validator identity.\n\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03?\x02\x15\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03?\x16\"\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03?%&\n,\n\x04\x04\x06\x02\x03\x12\x03A\x02+\x1a\x1f The validator governance key.\n\n\x0c\n\x05\x04\x06\x02\x03\x06\x12\x03A\x02\x17\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03A\x18&\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03A)*\n+\n\x04\x04\x06\x02\x04\x12\x03C\x02!\x1a\x1e A justification of the vote.\n\n\x0c\n\x05\x04\x06\x02\x04\x06\x12\x03C\x02\x15\n\x0c\n\x05\x04\x06\x02\x04\x01\x12\x03C\x16\x1c\n\x0c\n\x05\x04\x06\x02\x04\x03\x12\x03C\x1f \n\n\n\x02\x04\x07\x12\x04F\x00M\x01\n\n\n\x03\x04\x07\x01\x12\x03F\x08\x15\n/\n\x04\x04\x07\x02\x00\x12\x03H\x02\x1d\x1a\" The effecting data for the vote.\n\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03H\x02\x13\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03H\x14\x18\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03H\x1b\x1c\nD\n\x04\x04\x07\x02\x01\x12\x03J\x02C\x1a7 The vote authorization signature is authorizing data.\n\n\x0c\n\x05\x04\x07\x02\x01\x06\x12\x03J\x025\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03J6>\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03JAB\n2\n\x04\x04\x07\x02\x02\x12\x03L\x02!\x1a% The vote proof is authorizing data.\n\n\x0c\n\x05\x04\x07\x02\x02\x06\x12\x03L\x02\x16\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03L\x17\x1c\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03L\x1f \n\n\n\x02\x04\x08\x12\x04O\x00^\x01\n\n\n\x03\x04\x08\x01\x12\x03O\x08\x19\n+\n\x04\x04\x08\x02\x00\x12\x03Q\x02\x16\x1a\x1e The proposal being voted on.\n\n\x0c\n\x05\x04\x08\x02\x00\x05\x12\x03Q\x02\x08\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03Q\t\x11\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03Q\x14\x15\n=\n\x04\x04\x08\x02\x01\x12\x03S\x02\x1c\x1a0 The start position of the proposal in the TCT.\n\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03S\x02\x08\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03S\t\x17\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03S\x1a\x1b\n\x18\n\x04\x04\x08\x02\x02\x12\x03U\x02\x1e\x1a\x0b The vote.\n\n\x0c\n\x05\x04\x08\x02\x02\x06\x12\x03U\x02\x14\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03U\x15\x19\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03U\x1c\x1d\n0\n\x04\x04\x08\x02\x03\x12\x03W\x02\x1b\x1a# The value of the delegation note.\n\n\x0c\n\x05\x04\x08\x02\x03\x06\x12\x03W\x02\x10\n\x0c\n\x05\x04\x08\x02\x03\x01\x12\x03W\x11\x16\n\x0c\n\x05\x04\x08\x02\x03\x03\x12\x03W\x19\x1a\nG\n\x04\x04\x08\x02\x04\x12\x03Y\x02$\x1a: The amount of the delegation note, in unbonded penumbra.\n\n\x0c\n\x05\x04\x08\x02\x04\x06\x12\x03Y\x02\x0f\n\x0c\n\x05\x04\x08\x02\x04\x01\x12\x03Y\x10\x1f\n\x0c\n\x05\x04\x08\x02\x04\x03\x12\x03Y\"#\n/\n\x04\x04\x08\x02\x05\x12\x03[\x02!\x1a\" The nullifier of the input note.\n\n\x0c\n\x05\x04\x08\x02\x05\x06\x12\x03[\x02\x12\n\x0c\n\x05\x04\x08\x02\x05\x01\x12\x03[\x13\x1c\n\x0c\n\x05\x04\x08\x02\x05\x03\x12\x03[\x1f \nS\n\x04\x04\x08\x02\x06\x12\x03]\x026\x1aF The randomized validating key for the spend authorization signature.\n\n\x0c\n\x05\x04\x08\x02\x06\x06\x12\x03]\x02.\n\x0c\n\x05\x04\x08\x02\x06\x01\x12\x03]/1\n\x0c\n\x05\x04\x08\x02\x06\x03\x12\x03]45\n\n\n\x02\x04\t\x12\x04`\x00l\x01\n\n\n\x03\x04\t\x01\x12\x03`\x08\x19\n\x0c\n\x04\x04\t\x03\x00\x12\x04a\x02d\x03\n\x0c\n\x05\x04\t\x03\x00\x01\x12\x03a\n\x11\n\r\n\x06\x04\t\x03\x00\x02\x00\x12\x03b\x043\n\x0e\n\x07\x04\t\x03\x00\x02\x00\x06\x12\x03b\x04\x1f\n\x0e\n\x07\x04\t\x03\x00\x02\x00\x01\x12\x03b .\n\x0e\n\x07\x04\t\x03\x00\x02\x00\x03\x12\x03b12\n\r\n\x06\x04\t\x03\x00\x02\x01\x12\x03c\x04\'\n\x0e\n\x07\x04\t\x03\x00\x02\x01\x06\x12\x03c\x04\x1d\n\x0e\n\x07\x04\t\x03\x00\x02\x01\x01\x12\x03c\x1e\"\n\x0e\n\x07\x04\t\x03\x00\x02\x01\x03\x12\x03c%&\n\x0c\n\x04\x04\t\x03\x01\x12\x04e\x02g\x03\n\x0c\n\x05\x04\t\x03\x01\x01\x12\x03e\n\x10\n\r\n\x06\x04\t\x03\x01\x02\x00\x12\x03f\x043\n\x0e\n\x07\x04\t\x03\x01\x02\x00\x06\x12\x03f\x04\x1f\n\x0e\n\x07\x04\t\x03\x01\x02\x00\x01\x12\x03f .\n\x0e\n\x07\x04\t\x03\x01\x02\x00\x03\x12\x03f12\n\x0c\n\x04\x04\t\x08\x00\x12\x04h\x02k\x03\n\x0c\n\x05\x04\t\x08\x00\x01\x12\x03h\x08\x16\n\x0b\n\x04\x04\t\x02\x00\x12\x03i\x04\x18\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03i\x04\x0b\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03i\x0c\x13\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03i\x16\x17\n\x0b\n\x04\x04\t\x02\x01\x12\x03j\x04\x16\n\x0c\n\x05\x04\t\x02\x01\x06\x12\x03j\x04\n\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03j\x0b\x11\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03j\x14\x15\n\x0b\n\x02\x04\n\x12\x05n\x00\x81\x01\x01\n\n\n\x03\x04\n\x01\x12\x03n\x08\x19\n\'\n\x04\x04\n\x02\x00\x12\x03p\x02\x16\x1a\x1a The proposal to vote on.\n\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03p\x02\x08\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03p\t\x11\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03p\x14\x15\n=\n\x04\x04\n\x02\x01\x12\x03r\x02\x1c\x1a0 The start position of the proposal in the TCT.\n\n\x0c\n\x05\x04\n\x02\x01\x05\x12\x03r\x02\x08\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03r\t\x17\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03r\x1a\x1b\n \n\x04\x04\n\x02\x02\x12\x03t\x02\x1e\x1a\x13 The vote to cast.\n\n\x0c\n\x05\x04\n\x02\x02\x06\x12\x03t\x02\x14\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03t\x15\x19\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03t\x1c\x1d\n=\n\x04\x04\n\x02\x03\x12\x03v\x02(\x1a0 The delegation note to prove that we can vote.\n\n\x0c\n\x05\x04\n\x02\x03\x06\x12\x03v\x02\x17\n\x0c\n\x05\x04\n\x02\x03\x01\x12\x03v\x18#\n\x0c\n\x05\x04\n\x02\x03\x03\x12\x03v&\'\n4\n\x04\x04\n\x02\x04\x12\x03x\x02\"\x1a\' The position of that delegation note.\n\n\x0c\n\x05\x04\n\x02\x04\x05\x12\x03x\x02\x08\n\x0c\n\x05\x04\n\x02\x04\x01\x12\x03x\t\x1d\n\x0c\n\x05\x04\n\x02\x04\x03\x12\x03x !\nE\n\x04\x04\n\x02\x05\x12\x03z\x02$\x1a8 The unbonded amount equivalent to the delegation note.\n\n\x0c\n\x05\x04\n\x02\x05\x06\x12\x03z\x02\x0f\n\x0c\n\x05\x04\n\x02\x05\x01\x12\x03z\x10\x1f\n\x0c\n\x05\x04\n\x02\x05\x03\x12\x03z\"#\nG\n\x04\x04\n\x02\x06\x12\x03|\x02\x17\x1a: The randomizer to use for the proof of spend capability.\n\n\x0c\n\x05\x04\n\x02\x06\x05\x12\x03|\x02\x07\n\x0c\n\x05\x04\n\x02\x06\x01\x12\x03|\x08\x12\n\x0c\n\x05\x04\n\x02\x06\x03\x12\x03|\x15\x16\nP\n\x04\x04\n\x02\x07\x12\x03~\x02\x1d\x1aC The first blinding factor to use for the ZK delegator vote proof.\n\n\x0c\n\x05\x04\n\x02\x07\x05\x12\x03~\x02\x07\n\x0c\n\x05\x04\n\x02\x07\x01\x12\x03~\x08\x18\n\x0c\n\x05\x04\n\x02\x07\x03\x12\x03~\x1b\x1c\nR\n\x04\x04\n\x02\x08\x12\x04\x80\x01\x02\x1d\x1aD The second blinding factor to use for the ZK delegator vote proof.\n\n\r\n\x05\x04\n\x02\x08\x05\x12\x04\x80\x01\x02\x07\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\x80\x01\x08\x18\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\x80\x01\x1b\x1c\n\x0c\n\x02\x04\x0b\x12\x06\x83\x01\x00\x86\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\x83\x01\x08\x1c\n=\n\x04\x04\x0b\x02\x00\x12\x04\x85\x01\x02\x1b\x1a/ The value to deposit into the Community Pool.\n\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\x85\x01\x02\x10\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\x85\x01\x11\x16\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\x85\x01\x19\x1a\n\x0c\n\x02\x04\x0c\x12\x06\x88\x01\x00\x8b\x01\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\x88\x01\x08\x1a\n;\n\x04\x04\x0c\x02\x00\x12\x04\x8a\x01\x02\x1b\x1a- The value to spend from the Community Pool.\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\x8a\x01\x02\x10\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x8a\x01\x11\x16\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x8a\x01\x19\x1a\n\x0c\n\x02\x04\r\x12\x06\x8d\x01\x00\x92\x01\x01\n\x0b\n\x03\x04\r\x01\x12\x04\x8d\x01\x08\x1b\n<\n\x04\x04\r\x02\x00\x12\x04\x8f\x01\x02\x1b\x1a. The value to output from the Community Pool.\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\x8f\x01\x02\x10\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\x8f\x01\x11\x16\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\x8f\x01\x19\x1a\n2\n\x04\x04\r\x02\x01\x12\x04\x91\x01\x02\x1e\x1a$ The address to send the output to.\n\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\x91\x01\x02\x11\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\x91\x01\x12\x19\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\x91\x01\x1c\x1d\n%\n\x02\x04\x0e\x12\x06\x95\x01\x00\xa0\x01\x01\x1a\x17 A vote on a proposal.\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\x95\x01\x08\x0c\n\x19\n\x04\x04\x0e\x04\x00\x12\x06\x97\x01\x02\x9c\x01\x03\x1a\t A vote.\n\n\r\n\x05\x04\x0e\x04\x00\x01\x12\x04\x97\x01\x07\x0b\n\x0e\n\x06\x04\x0e\x04\x00\x02\x00\x12\x04\x98\x01\x04\x19\n\x0f\n\x07\x04\x0e\x04\x00\x02\x00\x01\x12\x04\x98\x01\x04\x14\n\x0f\n\x07\x04\x0e\x04\x00\x02\x00\x02\x12\x04\x98\x01\x17\x18\n\x0e\n\x06\x04\x0e\x04\x00\x02\x01\x12\x04\x99\x01\x04\x15\n\x0f\n\x07\x04\x0e\x04\x00\x02\x01\x01\x12\x04\x99\x01\x04\x10\n\x0f\n\x07\x04\x0e\x04\x00\x02\x01\x02\x12\x04\x99\x01\x13\x14\n\x0e\n\x06\x04\x0e\x04\x00\x02\x02\x12\x04\x9a\x01\x04\x11\n\x0f\n\x07\x04\x0e\x04\x00\x02\x02\x01\x12\x04\x9a\x01\x04\x0c\n\x0f\n\x07\x04\x0e\x04\x00\x02\x02\x02\x12\x04\x9a\x01\x0f\x10\n\x0e\n\x06\x04\x0e\x04\x00\x02\x03\x12\x04\x9b\x01\x04\x10\n\x0f\n\x07\x04\x0e\x04\x00\x02\x03\x01\x12\x04\x9b\x01\x04\x0b\n\x0f\n\x07\x04\x0e\x04\x00\x02\x03\x02\x12\x04\x9b\x01\x0e\x0f\n\x19\n\x04\x04\x0e\x02\x00\x12\x04\x9f\x01\x02\x10\x1a\x0b The vote.\n\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\x9f\x01\x02\x06\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x9f\x01\x07\x0b\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x9f\x01\x0e\x0f\n0\n\x02\x04\x0f\x12\x06\xa3\x01\x00\xbe\x01\x01\x1a\" The current state of a proposal.\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\xa3\x01\x08\x15\nf\n\x04\x04\x0f\x03\x00\x12\x04\xa5\x01\x02\x13\x1aX Voting is in progress and the proposal has not yet concluded voting or been withdrawn.\n\n\r\n\x05\x04\x0f\x03\x00\x01\x12\x04\xa5\x01\n\x10\n]\n\x04\x04\x0f\x03\x01\x12\x06\xa8\x01\x02\xab\x01\x03\x1aM The proposal has been withdrawn but the voting period is not yet concluded.\n\n\r\n\x05\x04\x0f\x03\x01\x01\x12\x04\xa8\x01\n\x13\n0\n\x06\x04\x0f\x03\x01\x02\x00\x12\x04\xaa\x01\x04\x16\x1a  The reason for the withdrawal.\n\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x05\x12\x04\xaa\x01\x04\n\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x01\x12\x04\xaa\x01\x0b\x11\n\x0f\n\x07\x04\x0f\x03\x01\x02\x00\x03\x12\x04\xaa\x01\x14\x15\n]\n\x04\x04\x0f\x03\x02\x12\x06\xae\x01\x02\xb0\x01\x03\x1aM The voting period has ended, and the proposal has been assigned an outcome.\n\n\r\n\x05\x04\x0f\x03\x02\x01\x12\x04\xae\x01\n\x12\n\x0e\n\x06\x04\x0f\x03\x02\x02\x00\x12\x04\xaf\x01\x04 \n\x0f\n\x07\x04\x0f\x03\x02\x02\x00\x06\x12\x04\xaf\x01\x04\x13\n\x0f\n\x07\x04\x0f\x03\x02\x02\x00\x01\x12\x04\xaf\x01\x14\x1b\n\x0f\n\x07\x04\x0f\x03\x02\x02\x00\x03\x12\x04\xaf\x01\x1e\x1f\nc\n\x04\x04\x0f\x03\x03\x12\x06\xb3\x01\x02\xb5\x01\x03\x1aS The voting period has ended, and the original proposer has claimed their deposit.\n\n\r\n\x05\x04\x0f\x03\x03\x01\x12\x04\xb3\x01\n\x11\n\x0e\n\x06\x04\x0f\x03\x03\x02\x00\x12\x04\xb4\x01\x04 \n\x0f\n\x07\x04\x0f\x03\x03\x02\x00\x06\x12\x04\xb4\x01\x04\x13\n\x0f\n\x07\x04\x0f\x03\x03\x02\x00\x01\x12\x04\xb4\x01\x14\x1b\n\x0f\n\x07\x04\x0f\x03\x03\x02\x00\x03\x12\x04\xb4\x01\x1e\x1f\n,\n\x04\x04\x0f\x08\x00\x12\x06\xb8\x01\x02\xbd\x01\x03\x1a\x1c The state of the proposal.\n\n\r\n\x05\x04\x0f\x08\x00\x01\x12\x04\xb8\x01\x08\r\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\xb9\x01\x04\x16\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xb9\x01\x04\n\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xb9\x01\x0b\x11\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xb9\x01\x14\x15\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\xba\x01\x04\x1c\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\xba\x01\x04\r\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xba\x01\x0e\x17\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xba\x01\x1a\x1b\n\x0c\n\x04\x04\x0f\x02\x02\x12\x04\xbb\x01\x04\x1a\n\r\n\x05\x04\x0f\x02\x02\x06\x12\x04\xbb\x01\x04\x0c\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xbb\x01\r\x15\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xbb\x01\x18\x19\n\x0c\n\x04\x04\x0f\x02\x03\x12\x04\xbc\x01\x04\x18\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\xbc\x01\x04\x0b\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\xbc\x01\x0c\x13\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\xbc\x01\x16\x17\n4\n\x02\x04\x10\x12\x06\xc1\x01\x00\xdc\x01\x01\x1a& The outcome of a concluded proposal.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xc1\x01\x08\x17\n<\n\x04\x04\x10\x03\x00\x12\x06\xc3\x01\x02\xc6\x01\x03\x1a, Whether or not the proposal was withdrawn.\n\n\r\n\x05\x04\x10\x03\x00\x01\x12\x04\xc3\x01\n\x13\nS\n\x06\x04\x10\x03\x00\x02\x00\x12\x04\xc5\x01\x04\x16\x1aC The reason for withdrawing the proposal during the voting period.\n\n\x0f\n\x07\x04\x10\x03\x00\x02\x00\x05\x12\x04\xc5\x01\x04\n\n\x0f\n\x07\x04\x10\x03\x00\x02\x00\x01\x12\x04\xc5\x01\x0b\x11\n\x0f\n\x07\x04\x10\x03\x00\x02\x00\x03\x12\x04\xc5\x01\x14\x15\n(\n\x04\x04\x10\x03\x01\x12\x04\xc9\x01\x02\x13\x1a\x1a The proposal was passed.\n\n\r\n\x05\x04\x10\x03\x01\x01\x12\x04\xc9\x01\n\x10\n,\n\x04\x04\x10\x03\x02\x12\x06\xcc\x01\x02\xcf\x01\x03\x1a\x1c The proposal did not pass.\n\n\r\n\x05\x04\x10\x03\x02\x01\x12\x04\xcc\x01\n\x10\nQ\n\x06\x04\x10\x03\x02\x02\x00\x12\x04\xce\x01\x04\x1c\x1aA Present if the proposal was withdrawn during the voting period.\n\n\x0f\n\x07\x04\x10\x03\x02\x02\x00\x06\x12\x04\xce\x01\x04\r\n\x0f\n\x07\x04\x10\x03\x02\x02\x00\x01\x12\x04\xce\x01\x0e\x17\n\x0f\n\x07\x04\x10\x03\x02\x02\x00\x03\x12\x04\xce\x01\x1a\x1b\n=\n\x04\x04\x10\x03\x03\x12\x06\xd2\x01\x02\xd5\x01\x03\x1a- The proposal did not pass, and was slashed.\n\n\r\n\x05\x04\x10\x03\x03\x01\x12\x04\xd2\x01\n\x11\nQ\n\x06\x04\x10\x03\x03\x02\x00\x12\x04\xd4\x01\x04\x1c\x1aA Present if the proposal was withdrawn during the voting period.\n\n\x0f\n\x07\x04\x10\x03\x03\x02\x00\x06\x12\x04\xd4\x01\x04\r\n\x0f\n\x07\x04\x10\x03\x03\x02\x00\x01\x12\x04\xd4\x01\x0e\x17\n\x0f\n\x07\x04\x10\x03\x03\x02\x00\x03\x12\x04\xd4\x01\x1a\x1b\n\x0e\n\x04\x04\x10\x08\x00\x12\x06\xd7\x01\x02\xdb\x01\x03\n\r\n\x05\x04\x10\x08\x00\x01\x12\x04\xd7\x01\x08\x0f\n\x0c\n\x04\x04\x10\x02\x00\x12\x04\xd8\x01\x04\x16\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xd8\x01\x04\n\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xd8\x01\x0b\x11\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xd8\x01\x14\x15\n\x0c\n\x04\x04\x10\x02\x01\x12\x04\xd9\x01\x04\x16\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xd9\x01\x04\n\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xd9\x01\x0b\x11\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xd9\x01\x14\x15\n\x0c\n\x04\x04\x10\x02\x02\x12\x04\xda\x01\x04\x18\n\r\n\x05\x04\x10\x02\x02\x06\x12\x04\xda\x01\x04\x0b\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xda\x01\x0c\x13\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xda\x01\x16\x17\n/\n\x02\x04\x11\x12\x06\xdf\x01\x00\xe6\x01\x01\x1a! A tally of votes on a proposal.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xdf\x01\x08\r\n=\n\x04\x04\x11\x02\x00\x12\x04\xe1\x01\x02\x11\x1a/ The number of votes in favor of the proposal.\n\n\r\n\x05\x04\x11\x02\x00\x05\x12\x04\xe1\x01\x02\x08\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xe1\x01\t\x0c\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xe1\x01\x0f\x10\n9\n\x04\x04\x11\x02\x01\x12\x04\xe3\x01\x02\x10\x1a+ The number of votes against the proposal.\n\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\xe3\x01\x02\x08\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xe3\x01\t\x0b\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xe3\x01\x0e\x0f\n*\n\x04\x04\x11\x02\x02\x12\x04\xe5\x01\x02\x15\x1a\x1c The number of abstentions.\n\n\r\n\x05\x04\x11\x02\x02\x05\x12\x04\xe5\x01\x02\x08\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xe5\x01\t\x10\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xe5\x01\x13\x14\n,\n\x02\x04\x12\x12\x06\xe9\x01\x00\xbc\x02\x01\x1a\x1e A proposal to be voted upon.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xe9\x01\x08\x10\n6\n\x04\x04\x12\x02\x00\x12\x04\xeb\x01\x02\x10\x1a( The unique identifier of the proposal.\n\n\r\n\x05\x04\x12\x02\x00\x05\x12\x04\xeb\x01\x02\x08\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xeb\x01\t\x0b\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xeb\x01\x0e\x0f\n/\n\x04\x04\x12\x02\x01\x12\x04\xee\x01\x02\x13\x1a! A short title for the proposal.\n\n\r\n\x05\x04\x12\x02\x01\x05\x12\x04\xee\x01\x02\x08\n\r\n\x05\x04\x12\x02\x01\x01\x12\x04\xee\x01\t\x0e\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\xee\x01\x11\x12\nc\n\x04\x04\x12\x02\x02\x12\x04\xf1\x01\x02\x19\x1aU A natural-language description of the effect of the proposal and its justification.\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\x04\xf1\x01\x02\x08\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\xf1\x01\t\x14\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\xf1\x01\x17\x18\n)\n\x04\x04\x12\x08\x00\x12\x06\xf4\x01\x02\xfc\x01\x03\x1a\x19 The proposal\'s payload.\n\n\r\n\x05\x04\x12\x08\x00\x01\x12\x04\xf4\x01\x08\x0f\n\x0c\n\x04\x04\x12\x02\x03\x12\x04\xf5\x01\x04\x1c\n\r\n\x05\x04\x12\x02\x03\x06\x12\x04\xf5\x01\x04\r\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\xf5\x01\x0e\x17\n\r\n\x05\x04\x12\x02\x03\x03\x12\x04\xf5\x01\x1a\x1b\n\x0c\n\x04\x04\x12\x02\x04\x12\x04\xf6\x01\x04\x1c\n\r\n\x05\x04\x12\x02\x04\x06\x12\x04\xf6\x01\x04\r\n\r\n\x05\x04\x12\x02\x04\x01\x12\x04\xf6\x01\x0e\x17\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\xf6\x01\x1a\x1b\n\x0c\n\x04\x04\x12\x02\x05\x12\x04\xf7\x01\x04)\n\r\n\x05\x04\x12\x02\x05\x06\x12\x04\xf7\x01\x04\x13\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\xf7\x01\x14$\n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\xf7\x01\'(\n\x0c\n\x04\x04\x12\x02\x06\x12\x04\xf8\x01\x040\n\r\n\x05\x04\x12\x02\x06\x06\x12\x04\xf8\x01\x04\x16\n\r\n\x05\x04\x12\x02\x06\x01\x12\x04\xf8\x01\x17+\n\r\n\x05\x04\x12\x02\x06\x03\x12\x04\xf8\x01./\n\x0c\n\x04\x04\x12\x02\x07\x12\x04\xf9\x01\x04!\n\r\n\x05\x04\x12\x02\x07\x06\x12\x04\xf9\x01\x04\x0f\n\r\n\x05\x04\x12\x02\x07\x01\x12\x04\xf9\x01\x10\x1c\n\r\n\x05\x04\x12\x02\x07\x03\x12\x04\xf9\x01\x1f \n\x0c\n\x04\x04\x12\x02\x08\x12\x04\xfa\x01\x04+\n\r\n\x05\x04\x12\x02\x08\x06\x12\x04\xfa\x01\x04\x13\n\r\n\x05\x04\x12\x02\x08\x01\x12\x04\xfa\x01\x14%\n\r\n\x05\x04\x12\x02\x08\x03\x12\x04\xfa\x01(*\n\x0c\n\x04\x04\x12\x02\t\x12\x04\xfb\x01\x04/\n\r\n\x05\x04\x12\x02\t\x06\x12\x04\xfb\x01\x04\x15\n\r\n\x05\x04\x12\x02\t\x01\x12\x04\xfb\x01\x16)\n\r\n\x05\x04\x12\x02\t\x03\x12\x04\xfb\x01,.\n\xdc\x01\n\x04\x04\x12\x03\x00\x12\x06\x82\x02\x02\x85\x02\x03\x1a\xcb\x01 A signaling proposal is meant to register a vote on-chain, but does not have an automatic\n effect when passed.\n\n It optionally contains a reference to a commit which contains code to upgrade the chain.\n\n\r\n\x05\x04\x12\x03\x00\x01\x12\x04\x82\x02\n\x13\nB\n\x06\x04\x12\x03\x00\x02\x00\x12\x04\x84\x02\x04\x16\x1a2 The commit to be voted upon, if any is relevant.\n\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x05\x12\x04\x84\x02\x04\n\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x01\x12\x04\x84\x02\x0b\x11\n\x0f\n\x07\x04\x12\x03\x00\x02\x00\x03\x12\x04\x84\x02\x14\x15\n\x8c\x02\n\x04\x04\x12\x03\x01\x12\x06\x8c\x02\x02\x8f\x02\x03\x1a\xfb\x01 An emergency proposal can be passed instantaneously by a 2/3 majority of validators, without\n waiting for the voting period to expire.\n\n If the boolean `halt_chain` is set to `true`, then the chain will halt immediately when the\n proposal is passed.\n\n\r\n\x05\x04\x12\x03\x01\x01\x12\x04\x8c\x02\n\x13\nY\n\x06\x04\x12\x03\x01\x02\x00\x12\x04\x8e\x02\x04\x18\x1aI If `true`, the chain will halt immediately when the proposal is passed.\n\n\x0f\n\x07\x04\x12\x03\x01\x02\x00\x05\x12\x04\x8e\x02\x04\x08\n\x0f\n\x07\x04\x12\x03\x01\x02\x00\x01\x12\x04\x8e\x02\t\x13\n\x0f\n\x07\x04\x12\x03\x01\x02\x00\x03\x12\x04\x8e\x02\x16\x17\n\x94\x01\n\x04\x04\x12\x03\x02\x12\x06\x93\x02\x02\x9d\x02\x03\x1a\x83\x01 A parameter change proposal describes a replacement of the app parameters, which should take\n effect when the proposal is passed.\n\n\r\n\x05\x04\x12\x03\x02\x01\x12\x04\x93\x02\n\x19\n\x8d\x02\n\x06\x04\x12\x03\x02\x02\x00\x12\x04\x97\x02\x04,\x1a\xfc\x01 The old app parameters to be replaced: even if the proposal passes, the update will not be\n applied if the app parameters have changed *at all* from these app parameters. Usually,\n this should be set to the current app parameters at time of proposal.\n\n\x0f\n\x07\x04\x12\x03\x02\x02\x00\x06\x12\x04\x97\x02\x04\x18\n\x0f\n\x07\x04\x12\x03\x02\x02\x00\x01\x12\x04\x97\x02\x19\'\n\x0f\n\x07\x04\x12\x03\x02\x02\x00\x03\x12\x04\x97\x02*+\n\xae\x02\n\x06\x04\x12\x03\x02\x02\x01\x12\x04\x9c\x02\x04,\x1a\x9d\x02 The new app parameters to be set: the *entire* app parameters will be replaced with these\n at the time the proposal is passed, for every component\'s parameters that is set. If a component\'s\n parameters are not set, then they were not changed by the proposal, and will not be updated.\n\n\x0f\n\x07\x04\x12\x03\x02\x02\x01\x06\x12\x04\x9c\x02\x04\x18\n\x0f\n\x07\x04\x12\x03\x02\x02\x01\x01\x12\x04\x9c\x02\x19\'\n\x0f\n\x07\x04\x12\x03\x02\x02\x01\x03\x12\x04\x9c\x02*+\n\xf0\x01\n\x04\x04\x12\x03\x03\x12\x06\xa2\x02\x02\xa7\x02\x03\x1a\xdf\x01 A Community Pool spend proposal describes zero or more transactions to execute on behalf of the Community Pool, with\n access to its funds, and zero or more scheduled transactions from previous passed proposals to\n cancel.\n\n\r\n\x05\x04\x12\x03\x03\x01\x12\x04\xa2\x02\n\x1c\n\xa4\x02\n\x06\x04\x12\x03\x03\x02\x00\x12\x04\xa6\x02\x04-\x1a\x93\x02 The transaction plan to be executed at the time the proposal is passed. This must be a\n transaction plan which can be executed by the Community Pool, which means it can\'t require any witness\n data or authorization signatures, but it may use the `CommunityPoolSpend` action.\n\n\x0f\n\x07\x04\x12\x03\x03\x02\x00\x06\x12\x04\xa6\x02\x04\x17\n\x0f\n\x07\x04\x12\x03\x03\x02\x00\x01\x12\x04\xa6\x02\x18(\n\x0f\n\x07\x04\x12\x03\x03\x02\x00\x03\x12\x04\xa6\x02+,\n\x9d\x01\n\x04\x04\x12\x03\x04\x12\x06\xab\x02\x02\xad\x02\x03\x1a\x8c\x01 An upgrade plan describes a candidate upgrade to be executed at a certain height. If passed, the chain\n will halt at the specified height.\n\n\r\n\x05\x04\x12\x03\x04\x01\x12\x04\xab\x02\n\x15\n\x0e\n\x06\x04\x12\x03\x04\x02\x00\x12\x04\xac\x02\x04\x16\n\x0f\n\x07\x04\x12\x03\x04\x02\x00\x05\x12\x04\xac\x02\x04\n\n\x0f\n\x07\x04\x12\x03\x04\x02\x00\x01\x12\x04\xac\x02\x0b\x11\n\x0f\n\x07\x04\x12\x03\x04\x02\x00\x03\x12\x04\xac\x02\x14\x15\n\x92\x01\n\x04\x04\x12\x03\x05\x12\x06\xb2\x02\x02\xb4\x02\x03\x1a\x81\x01 Freeze an existing IBC client.\n Like `Emergency` proposals, it is enacted immediately after receiving\n +2/3 of validator votes.\n\n\r\n\x05\x04\x12\x03\x05\x01\x12\x04\xb2\x02\n\x19\n\x0e\n\x06\x04\x12\x03\x05\x02\x00\x12\x04\xb3\x02\x04\x19\n\x0f\n\x07\x04\x12\x03\x05\x02\x00\x05\x12\x04\xb3\x02\x04\n\n\x0f\n\x07\x04\x12\x03\x05\x02\x00\x01\x12\x04\xb3\x02\x0b\x14\n\x0f\n\x07\x04\x12\x03\x05\x02\x00\x03\x12\x04\xb3\x02\x17\x18\n\x94\x01\n\x04\x04\x12\x03\x06\x12\x06\xb9\x02\x02\xbb\x02\x03\x1a\x83\x01 Unfreeze an existing IBC client.\n Like `Emergency` proposals, it is enacted immediately after receiving\n +2/3 of validator votes.\n\n\r\n\x05\x04\x12\x03\x06\x01\x12\x04\xb9\x02\n\x1b\n\x0e\n\x06\x04\x12\x03\x06\x02\x00\x12\x04\xba\x02\x04\x19\n\x0f\n\x07\x04\x12\x03\x06\x02\x00\x05\x12\x04\xba\x02\x04\n\n\x0f\n\x07\x04\x12\x03\x06\x02\x00\x01\x12\x04\xba\x02\x0b\x14\n\x0f\n\x07\x04\x12\x03\x06\x02\x00\x03\x12\x04\xba\x02\x17\x18\n>\n\x02\x06\x00\x12\x06\xbf\x02\x00\xc9\x02\x01\x1a0 Query operations for the governance component.\n\n\x0b\n\x03\x06\x00\x01\x12\x04\xbf\x02\x08\x14\n\x0c\n\x04\x06\x00\x02\x00\x12\x04\xc0\x02\x02G\n\r\n\x05\x06\x00\x02\x00\x01\x12\x04\xc0\x02\x06\x12\n\r\n\x05\x06\x00\x02\x00\x02\x12\x04\xc0\x02\x13&\n\r\n\x05\x06\x00\x02\x00\x03\x12\x04\xc0\x021E\n\x0c\n\x04\x06\x00\x02\x01\x12\x04\xc1\x02\x02N\n\r\n\x05\x06\x00\x02\x01\x01\x12\x04\xc1\x02\x06\x12\n\r\n\x05\x06\x00\x02\x01\x02\x12\x04\xc1\x02\x13&\n\r\n\x05\x06\x00\x02\x01\x06\x12\x04\xc1\x0217\n\r\n\x05\x06\x00\x02\x01\x03\x12\x04\xc1\x028L\n\x0c\n\x04\x06\x00\x02\x02\x12\x04\xc2\x02\x02G\n\r\n\x05\x06\x00\x02\x02\x01\x12\x04\xc2\x02\x06\x12\n\r\n\x05\x06\x00\x02\x02\x02\x12\x04\xc2\x02\x13&\n\r\n\x05\x06\x00\x02\x02\x03\x12\x04\xc2\x021E\n\x0c\n\x04\x06\x00\x02\x03\x12\x04\xc3\x02\x02M\n\r\n\x05\x06\x00\x02\x03\x01\x12\x04\xc3\x02\x06\x14\n\r\n\x05\x06\x00\x02\x03\x02\x12\x04\xc3\x02\x15*\n\r\n\x05\x06\x00\x02\x03\x03\x12\x04\xc3\x025K\n\x0c\n\x04\x06\x00\x02\x04\x12\x04\xc4\x02\x02T\n\r\n\x05\x06\x00\x02\x04\x01\x12\x04\xc4\x02\x06\x14\n\r\n\x05\x06\x00\x02\x04\x02\x12\x04\xc4\x02\x15*\n\r\n\x05\x06\x00\x02\x04\x06\x12\x04\xc4\x025;\n\r\n\x05\x06\x00\x02\x04\x03\x12\x04\xc4\x02<R\n\x0c\n\x04\x06\x00\x02\x05\x12\x04\xc5\x02\x02q\n\r\n\x05\x06\x00\x02\x05\x01\x12\x04\xc5\x02\x06 \n\r\n\x05\x06\x00\x02\x05\x02\x12\x04\xc5\x02!B\n\r\n\x05\x06\x00\x02\x05\x03\x12\x04\xc5\x02Mo\n\r\n\x04\x06\x00\x02\x06\x12\x05\xc6\x02\x02\x93\x01\n\r\n\x05\x06\x00\x02\x06\x01\x12\x04\xc6\x02\x06)\n\r\n\x05\x06\x00\x02\x06\x02\x12\x04\xc6\x02*T\n\r\n\x05\x06\x00\x02\x06\x06\x12\x04\xc6\x02_e\n\x0e\n\x05\x06\x00\x02\x06\x03\x12\x05\xc6\x02f\x91\x01\n1\n\x04\x06\x00\x02\x07\x12\x04\xc8\x02\x02Z\x1a# Used for computing voting power ?\n\n\r\n\x05\x06\x00\x02\x07\x01\x12\x04\xc8\x02\x06\x16\n\r\n\x05\x06\x00\x02\x07\x02\x12\x04\xc8\x02\x17.\n\r\n\x05\x06\x00\x02\x07\x06\x12\x04\xc8\x029?\n\r\n\x05\x06\x00\x02\x07\x03\x12\x04\xc8\x02@X\n\x0c\n\x02\x04\x13\x12\x06\xcb\x02\x00\xce\x02\x01\n\x0b\n\x03\x04\x13\x01\x12\x04\xcb\x02\x08\x1b\n:\n\x04\x04\x13\x02\x00\x12\x04\xcd\x02\x02\x19\x1a, The proposal id to request information on.\n\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\xcd\x02\x02\x08\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xcd\x02\t\x14\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xcd\x02\x17\x18\n\x0c\n\x02\x04\x14\x12\x06\xd0\x02\x00\xd5\x02\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xd0\x02\x08\x1c\nF\n\x04\x04\x14\x02\x00\x12\x04\xd2\x02\x02 \x1a8 The block height at which the proposal started voting.\n\n\r\n\x05\x04\x14\x02\x00\x05\x12\x04\xd2\x02\x02\x08\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xd2\x02\t\x1b\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xd2\x02\x1e\x1f\nu\n\x04\x04\x14\x02\x01\x12\x04\xd4\x02\x02\x1c\x1ag The position of the state commitment tree at which the proposal is considered to have started voting.\n\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xd4\x02\x02\x08\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xd4\x02\t\x17\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xd4\x02\x1a\x1b\n\x0c\n\x02\x04\x15\x12\x06\xd7\x02\x00\xda\x02\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xd7\x02\x08\x1b\n:\n\x04\x04\x15\x02\x00\x12\x04\xd9\x02\x02\x19\x1a, The proposal id to request information on.\n\n\r\n\x05\x04\x15\x02\x00\x05\x12\x04\xd9\x02\x02\x08\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xd9\x02\t\x14\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xd9\x02\x17\x18\n\x0c\n\x02\x04\x16\x12\x06\xdc\x02\x00\xe9\x02\x01\n\x0b\n\x03\x04\x16\x01\x12\x04\xdc\x02\x08\x1c\n&\n\x04\x04\x16\x02\x00\x12\x04\xde\x02\x02\x18\x1a\x18 The proposal metadata.\n\n\r\n\x05\x04\x16\x02\x00\x06\x12\x04\xde\x02\x02\n\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xde\x02\x0b\x13\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xde\x02\x16\x17\nF\n\x04\x04\x16\x02\x01\x12\x04\xe0\x02\x02 \x1a8 The block height at which the proposal started voting.\n\n\r\n\x05\x04\x16\x02\x01\x05\x12\x04\xe0\x02\x02\x08\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\xe0\x02\t\x1b\n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xe0\x02\x1e\x1f\nC\n\x04\x04\x16\x02\x02\x12\x04\xe2\x02\x02\x1e\x1a5 The block height at which the proposal ends voting.\n\n\r\n\x05\x04\x16\x02\x02\x05\x12\x04\xe2\x02\x02\x08\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xe2\x02\t\x19\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\xe2\x02\x1c\x1d\nu\n\x04\x04\x16\x02\x03\x12\x04\xe4\x02\x02\x1c\x1ag The position of the state commitment tree at which the proposal is considered to have started voting.\n\n\r\n\x05\x04\x16\x02\x03\x05\x12\x04\xe4\x02\x02\x08\n\r\n\x05\x04\x16\x02\x03\x01\x12\x04\xe4\x02\t\x17\n\r\n\x05\x04\x16\x02\x03\x03\x12\x04\xe4\x02\x1a\x1b\n2\n\x04\x04\x16\x02\x04\x12\x04\xe6\x02\x02\x1a\x1a$ The current state of the proposal.\n\n\r\n\x05\x04\x16\x02\x04\x06\x12\x04\xe6\x02\x02\x0f\n\r\n\x05\x04\x16\x02\x04\x01\x12\x04\xe6\x02\x10\x15\n\r\n\x05\x04\x16\x02\x04\x03\x12\x04\xe6\x02\x18\x19\n9\n\x04\x04\x16\x02\x05\x12\x04\xe8\x02\x02:\x1a+ The deposit amount paid for the proposal.\n\n\r\n\x05\x04\x16\x02\x05\x06\x12\x04\xe8\x02\x02\x1d\n\r\n\x05\x04\x16\x02\x05\x01\x12\x04\xe8\x02\x1e5\n\r\n\x05\x04\x16\x02\x05\x03\x12\x04\xe8\x0289\n@\n\x02\x04\x17\x12\x06\xec\x02\x00\xef\x02\x01\x1a2 Requests the validator rate data for a proposal.\n\n\x0b\n\x03\x04\x17\x01\x12\x04\xec\x02\x08\x1f\n:\n\x04\x04\x17\x02\x00\x12\x04\xee\x02\x02\x19\x1a, The proposal id to request information on.\n\n\r\n\x05\x04\x17\x02\x00\x05\x12\x04\xee\x02\x02\x08\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\xee\x02\t\x14\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\xee\x02\x17\x18\n5\n\x02\x04\x18\x12\x06\xf2\x02\x00\xf4\x02\x01\x1a\' The rate data for a single validator.\n\n\x0b\n\x03\x04\x18\x01\x12\x04\xf2\x02\x08 \n\x0c\n\x04\x04\x18\x02\x00\x12\x04\xf3\x02\x021\n\r\n\x05\x04\x18\x02\x00\x06\x12\x04\xf3\x02\x02\"\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\xf3\x02#,\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\xf3\x02/0\n3\n\x02\x04\x19\x12\x06\xf7\x02\x00\xfb\x02\x01\x1a% Requests the list of all proposals.\n\n\x0b\n\x03\x04\x19\x01\x12\x04\xf7\x02\x08\x1b\n\x80\x01\n\x04\x04\x19\x02\x00\x12\x04\xf9\x02\x02\x14\x1a: Whether to include proposals that are no longer active.;\n\"6 TODO: we could filter by starting block height here?\n\n\r\n\x05\x04\x19\x02\x00\x05\x12\x04\xf9\x02\x02\x06\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\xf9\x02\x07\x0f\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\xf9\x02\x12\x13\n/\n\x02\x04\x1a\x12\x06\xfe\x02\x00\x89\x03\x01\x1a! The data for a single proposal.\n\n\x0b\n\x03\x04\x1a\x01\x12\x04\xfe\x02\x08\x1c\n&\n\x04\x04\x1a\x02\x00\x12\x04\x80\x03\x02\x18\x1a\x18 The proposal metadata.\n\n\r\n\x05\x04\x1a\x02\x00\x06\x12\x04\x80\x03\x02\n\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\x80\x03\x0b\x13\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\x80\x03\x16\x17\nF\n\x04\x04\x1a\x02\x01\x12\x04\x82\x03\x02 \x1a8 The block height at which the proposal started voting.\n\n\r\n\x05\x04\x1a\x02\x01\x05\x12\x04\x82\x03\x02\x08\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\x82\x03\t\x1b\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\x82\x03\x1e\x1f\nC\n\x04\x04\x1a\x02\x02\x12\x04\x84\x03\x02\x1e\x1a5 The block height at which the proposal ends voting.\n\n\r\n\x05\x04\x1a\x02\x02\x05\x12\x04\x84\x03\x02\x08\n\r\n\x05\x04\x1a\x02\x02\x01\x12\x04\x84\x03\t\x19\n\r\n\x05\x04\x1a\x02\x02\x03\x12\x04\x84\x03\x1c\x1d\nu\n\x04\x04\x1a\x02\x03\x12\x04\x86\x03\x02\x1c\x1ag The position of the state commitment tree at which the proposal is considered to have started voting.\n\n\r\n\x05\x04\x1a\x02\x03\x05\x12\x04\x86\x03\x02\x08\n\r\n\x05\x04\x1a\x02\x03\x01\x12\x04\x86\x03\t\x17\n\r\n\x05\x04\x1a\x02\x03\x03\x12\x04\x86\x03\x1a\x1b\n2\n\x04\x04\x1a\x02\x04\x12\x04\x88\x03\x02\x1a\x1a$ The current state of the proposal.\n\n\r\n\x05\x04\x1a\x02\x04\x06\x12\x04\x88\x03\x02\x0f\n\r\n\x05\x04\x1a\x02\x04\x01\x12\x04\x88\x03\x10\x15\n\r\n\x05\x04\x1a\x02\x04\x03\x12\x04\x88\x03\x18\x19\nN\n\x02\x04\x1b\x12\x06\x8c\x03\x00\x8f\x03\x01\x1a@ Requests the list of all validator votes for a given proposal.\n\n\x0b\n\x03\x04\x1b\x01\x12\x04\x8c\x03\x08\x1d\n:\n\x04\x04\x1b\x02\x00\x12\x04\x8e\x03\x02\x19\x1a, The proposal id to request information on.\n\n\r\n\x05\x04\x1b\x02\x00\x05\x12\x04\x8e\x03\x02\x08\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\x8e\x03\t\x14\n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\x8e\x03\x17\x18\n5\n\x02\x04\x1c\x12\x06\x92\x03\x00\x97\x03\x01\x1a\' The data for a single validator vote.\n\n\x0b\n\x03\x04\x1c\x01\x12\x04\x92\x03\x08\x1e\n\x19\n\x04\x04\x1c\x02\x00\x12\x04\x94\x03\x02\x1e\x1a\x0b The vote.\n\n\r\n\x05\x04\x1c\x02\x00\x06\x12\x04\x94\x03\x02\x14\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\x94\x03\x15\x19\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\x94\x03\x1c\x1d\n\'\n\x04\x04\x1c\x02\x01\x12\x04\x96\x03\x02\'\x1a\x19 The validator identity.\n\n\r\n\x05\x04\x1c\x02\x01\x06\x12\x04\x96\x03\x02\x15\n\r\n\x05\x04\x1c\x02\x01\x01\x12\x04\x96\x03\x16\"\n\r\n\x05\x04\x1c\x02\x01\x03\x12\x04\x96\x03%&\n.\n\x02\x04\x1d\x12\x06\x9a\x03\x00\xa7\x03\x01\x1a  Governance configuration data.\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\x9a\x03\x08\x1c\nI\n\x04\x04\x1d\x02\x00\x12\x04\x9c\x03\x02$\x1a; The number of blocks during which a proposal is voted on.\n\n\r\n\x05\x04\x1d\x02\x00\x05\x12\x04\x9c\x03\x02\x08\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\x9c\x03\t\x1f\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\x9c\x03\"#\n:\n\x04\x04\x1d\x02\x01\x12\x04\x9e\x03\x02:\x1a, The deposit required to create a proposal.\n\n\r\n\x05\x04\x1d\x02\x01\x06\x12\x04\x9e\x03\x02\x1d\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\x9e\x03\x1e5\n\r\n\x05\x04\x1d\x02\x01\x03\x12\x04\x9e\x0389\n\x83\x01\n\x04\x04\x1d\x02\x02\x12\x04\xa1\x03\x02#\x1au The quorum required for a proposal to be considered valid, as a fraction of the total stake\n weight of the network.\n\n\r\n\x05\x04\x1d\x02\x02\x05\x12\x04\xa1\x03\x02\x08\n\r\n\x05\x04\x1d\x02\x02\x01\x12\x04\xa1\x03\t\x1e\n\r\n\x05\x04\x1d\x02\x02\x03\x12\x04\xa1\x03!\"\ng\n\x04\x04\x1d\x02\x03\x12\x04\xa3\x03\x02%\x1aY The threshold for a proposal to pass voting, as a ratio of \"yes\" votes over \"no\" votes.\n\n\r\n\x05\x04\x1d\x02\x03\x05\x12\x04\xa3\x03\x02\x08\n\r\n\x05\x04\x1d\x02\x03\x01\x12\x04\xa3\x03\t \n\r\n\x05\x04\x1d\x02\x03\x03\x12\x04\xa3\x03#$\n\xb1\x01\n\x04\x04\x1d\x02\x04\x12\x04\xa6\x03\x02&\x1a\xa2\x01 The threshold for a proposal to be slashed, regardless of whether the \"yes\" and \"no\" votes\n would have passed it, as a ratio of \"no\" votes over all total votes.\n\n\r\n\x05\x04\x1d\x02\x04\x05\x12\x04\xa6\x03\x02\x08\n\r\n\x05\x04\x1d\x02\x04\x01\x12\x04\xa6\x03\t!\n\r\n\x05\x04\x1d\x02\x04\x03\x12\x04\xa6\x03$%\n)\n\x02\x04\x1e\x12\x06\xaa\x03\x00\xad\x03\x01\x1a\x1b Governance genesis state.\n\n\x0b\n\x03\x04\x1e\x01\x12\x04\xaa\x03\x08\x16\n&\n\x04\x04\x1e\x02\x00\x12\x04\xac\x03\x02-\x1a\x18 Governance parameters.\n\n\r\n\x05\x04\x1e\x02\x00\x06\x12\x04\xac\x03\x02\x16\n\r\n\x05\x04\x1e\x02\x00\x01\x12\x04\xac\x03\x17(\n\r\n\x05\x04\x1e\x02\x00\x03\x12\x04\xac\x03+,\n\\\n\x02\x04\x1f\x12\x06\xb1\x03\x00\xc6\x03\x01\x1aN Note: must be kept in sync with AppParameters.\n Each field here is optional.\n\n\x0b\n\x03\x04\x1f\x01\x12\x04\xb1\x03\x08\x1c\n&\n\x04\x04\x1f\x02\x00\x12\x04\xb3\x03\x025\x1a\x18 Sct module parameters.\n\n\r\n\x05\x04\x1f\x02\x00\x06\x12\x04\xb3\x03\x02%\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\xb3\x03&0\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\xb3\x0334\n1\n\x04\x04\x1f\x02\x01\x12\x04\xb5\x03\x02U\x1a# Community Pool module parameters.\n\n\r\n\x05\x04\x1f\x02\x01\x06\x12\x04\xb5\x03\x02:\n\r\n\x05\x04\x1f\x02\x01\x01\x12\x04\xb5\x03;P\n\r\n\x05\x04\x1f\x02\x01\x03\x12\x04\xb5\x03ST\n-\n\x04\x04\x1f\x02\x02\x12\x04\xb7\x03\x02J\x1a\x1f Governance module parameters.\n\n\r\n\x05\x04\x1f\x02\x02\x06\x12\x04\xb7\x03\x023\n\r\n\x05\x04\x1f\x02\x02\x01\x12\x04\xb7\x034E\n\r\n\x05\x04\x1f\x02\x02\x03\x12\x04\xb7\x03HI\n&\n\x04\x04\x1f\x02\x03\x12\x04\xb9\x03\x025\x1a\x18 IBC module parameters.\n\n\r\n\x05\x04\x1f\x02\x03\x06\x12\x04\xb9\x03\x02%\n\r\n\x05\x04\x1f\x02\x03\x01\x12\x04\xb9\x03&0\n\r\n\x05\x04\x1f\x02\x03\x03\x12\x04\xb9\x0334\n(\n\x04\x04\x1f\x02\x04\x12\x04\xbb\x03\x02;\x1a\x1a Stake module parameters.\n\n\r\n\x05\x04\x1f\x02\x04\x06\x12\x04\xbb\x03\x02)\n\r\n\x05\x04\x1f\x02\x04\x01\x12\x04\xbb\x03*6\n\r\n\x05\x04\x1f\x02\x04\x03\x12\x04\xbb\x039:\n&\n\x04\x04\x1f\x02\x05\x12\x04\xbd\x03\x025\x1a\x18 Fee module parameters.\n\n\r\n\x05\x04\x1f\x02\x05\x06\x12\x04\xbd\x03\x02%\n\r\n\x05\x04\x1f\x02\x05\x01\x12\x04\xbd\x03&0\n\r\n\x05\x04\x1f\x02\x05\x03\x12\x04\xbd\x0334\n0\n\x04\x04\x1f\x02\x06\x12\x04\xbf\x03\x02S\x1a\" Distributions module parameters.\n\n\r\n\x05\x04\x1f\x02\x06\x06\x12\x04\xbf\x03\x029\n\r\n\x05\x04\x1f\x02\x06\x01\x12\x04\xbf\x03:N\n\r\n\x05\x04\x1f\x02\x06\x03\x12\x04\xbf\x03QR\n*\n\x04\x04\x1f\x02\x07\x12\x04\xc1\x03\x02A\x1a\x1c Funding module parameters.\n\n\r\n\x05\x04\x1f\x02\x07\x06\x12\x04\xc1\x03\x02-\n\r\n\x05\x04\x1f\x02\x07\x01\x12\x04\xc1\x03.<\n\r\n\x05\x04\x1f\x02\x07\x03\x12\x04\xc1\x03?@\n/\n\x04\x04\x1f\x02\x08\x12\x04\xc3\x03\x02R\x1a! Shielded pool module parameters\n\n\r\n\x05\x04\x1f\x02\x08\x06\x12\x04\xc3\x03\x028\n\r\n\x05\x04\x1f\x02\x08\x01\x12\x04\xc3\x039M\n\r\n\x05\x04\x1f\x02\x08\x03\x12\x04\xc3\x03PQ\n(\n\x04\x04\x1f\x02\t\x12\x04\xc5\x03\x026\x1a\x1a DEX component parameters\n\n\r\n\x05\x04\x1f\x02\t\x06\x12\x04\xc5\x03\x02%\n\r\n\x05\x04\x1f\x02\t\x01\x12\x04\xc5\x03&0\n\r\n\x05\x04\x1f\x02\t\x03\x12\x04\xc5\x0335\n\x0c\n\x02\x04 \x12\x06\xc8\x03\x00\xcd\x03\x01\n\x0b\n\x03\x04 \x01\x12\x04\xc8\x03\x08\x1f\nQ\n\x04\x04 \x02\x00\x12\x04\xca\x03\x02\x1f\x1aC The set of app parameters at the time the proposal was submitted.\n\n\r\n\x05\x04 \x02\x00\x06\x12\x04\xca\x03\x02\x16\n\r\n\x05\x04 \x02\x00\x01\x12\x04\xca\x03\x17\x1a\n\r\n\x05\x04 \x02\x00\x03\x12\x04\xca\x03\x1d\x1e\nJ\n\x04\x04 \x02\x01\x12\x04\xcc\x03\x02\x1f\x1a< The new set of parameters the proposal is trying to enact.\n\n\r\n\x05\x04 \x02\x01\x06\x12\x04\xcc\x03\x02\x16\n\r\n\x05\x04 \x02\x01\x01\x12\x04\xcc\x03\x17\x1a\n\r\n\x05\x04 \x02\x01\x03\x12\x04\xcc\x03\x1d\x1e\n\x0c\n\x02\x04!\x12\x06\xcf\x03\x00\xd4\x03\x01\n\x0b\n\x03\x04!\x01\x12\x04\xcf\x03\x08)\n:\n\x04\x04!\x02\x00\x12\x04\xd1\x03\x02\x19\x1a, The proposal id to request information on.\n\n\r\n\x05\x04!\x02\x00\x05\x12\x04\xd1\x03\x02\x08\n\r\n\x05\x04!\x02\x00\x01\x12\x04\xd1\x03\t\x14\n\r\n\x05\x04!\x02\x00\x03\x12\x04\xd1\x03\x17\x18\nE\n\x04\x04!\x02\x01\x12\x04\xd3\x03\x02\'\x1a7 The validator identity key to request information on.\n\n\r\n\x05\x04!\x02\x01\x06\x12\x04\xd3\x03\x02\x15\n\r\n\x05\x04!\x02\x01\x01\x12\x04\xd3\x03\x16\"\n\r\n\x05\x04!\x02\x01\x03\x12\x04\xd3\x03%&\n\x0c\n\x02\x04\"\x12\x06\xd6\x03\x00\xdc\x03\x01\n\x0b\n\x03\x04\"\x01\x12\x04\xd6\x03\x08*\n\x94\x02\n\x04\x04\"\x02\x00\x12\x04\xdb\x03\x02\x1a\x1a\x85\x02 The voting power for the given identity key at the start of the proposal.\n TODO: since we don\'t support optional fields in our protos any more,\n this will be set to 0 if the validator was not active at the start of the proposal.\n Is this potentially an issue?\n\n\r\n\x05\x04\"\x02\x00\x05\x12\x04\xdb\x03\x02\x08\n\r\n\x05\x04\"\x02\x00\x01\x12\x04\xdb\x03\t\x15\n\r\n\x05\x04\"\x02\x00\x03\x12\x04\xdb\x03\x18\x19\n\x0c\n\x02\x04#\x12\x06\xde\x03\x00\xe1\x03\x01\n\x0b\n\x03\x04#\x01\x12\x04\xde\x03\x082\n:\n\x04\x04#\x02\x00\x12\x04\xe0\x03\x02\x19\x1a, The proposal id to request information on.\n\n\r\n\x05\x04#\x02\x00\x05\x12\x04\xe0\x03\x02\x08\n\r\n\x05\x04#\x02\x00\x01\x12\x04\xe0\x03\t\x14\n\r\n\x05\x04#\x02\x00\x03\x12\x04\xe0\x03\x17\x18\n\x0c\n\x02\x04$\x12\x06\xe3\x03\x00\xe8\x03\x01\n\x0b\n\x03\x04$\x01\x12\x04\xe3\x03\x083\nT\n\x04\x04$\x02\x00\x12\x04\xe5\x03\x02\x12\x1aF The tally of delegator votes for a given validator for the proposal.\n\n\r\n\x05\x04$\x02\x00\x06\x12\x04\xe5\x03\x02\x07\n\r\n\x05\x04$\x02\x00\x01\x12\x04\xe5\x03\x08\r\n\r\n\x05\x04$\x02\x00\x03\x12\x04\xe5\x03\x10\x11\nA\n\x04\x04$\x02\x01\x12\x04\xe7\x03\x02\'\x1a3 The validator identity associated with the tally.\n\n\r\n\x05\x04$\x02\x01\x06\x12\x04\xe7\x03\x02\x15\n\r\n\x05\x04$\x02\x01\x01\x12\x04\xe7\x03\x16\"\n\r\n\x05\x04$\x02\x01\x03\x12\x04\xe7\x03%&\n\n\n\x02\x04%\x12\x04\xea\x03\x00 \n\x0b\n\x03\x04%\x01\x12\x04\xea\x03\x08\x1d\n\x0c\n\x02\x04&\x12\x06\xec\x03\x00\xef\x03\x01\n\x0b\n\x03\x04&\x01\x12\x04\xec\x03\x08\x1e\n%\n\x04\x04&\x02\x00\x12\x04\xee\x03\x02\x1e\x1a\x17 The next proposal ID.\n\n\r\n\x05\x04&\x02\x00\x05\x12\x04\xee\x03\x02\x08\n\r\n\x05\x04&\x02\x00\x01\x12\x04\xee\x03\t\x19\n\r\n\x05\x04&\x02\x00\x03\x12\x04\xee\x03\x1c\x1d\nj\n\x02\x04\'\x12\x06\xf2\x03\x00\xf7\x03\x01\x1a\\ The ratio between two numbers, used in governance to describe vote thresholds and quorums.\n\n\x0b\n\x03\x04\'\x01\x12\x04\xf2\x03\x08\r\n\x1e\n\x04\x04\'\x02\x00\x12\x04\xf4\x03\x02\x17\x1a\x10 The numerator.\n\n\r\n\x05\x04\'\x02\x00\x05\x12\x04\xf4\x03\x02\x08\n\r\n\x05\x04\'\x02\x00\x01\x12\x04\xf4\x03\t\x12\n\r\n\x05\x04\'\x02\x00\x03\x12\x04\xf4\x03\x15\x16\n \n\x04\x04\'\x02\x01\x12\x04\xf6\x03\x02\x19\x1a\x12 The denominator.\n\n\r\n\x05\x04\'\x02\x01\x05\x12\x04\xf6\x03\x02\x08\n\r\n\x05\x04\'\x02\x01\x01\x12\x04\xf6\x03\t\x14\n\r\n\x05\x04\'\x02\x01\x03\x12\x04\xf6\x03\x17\x18\n\x0c\n\x02\x04(\x12\x06\xf9\x03\x00\xfc\x03\x01\n\x0b\n\x03\x04(\x01\x12\x04\xf9\x03\x08\x1a\n#\n\x04\x04(\x02\x00\x12\x04\xfb\x03\x02\x19\x1a\x15 The delegator vote.\n\n\r\n\x05\x04(\x02\x00\x06\x12\x04\xfb\x03\x02\x0f\n\r\n\x05\x04(\x02\x00\x01\x12\x04\xfb\x03\x10\x14\n\r\n\x05\x04(\x02\x00\x03\x12\x04\xfb\x03\x17\x18\n\x0c\n\x02\x04)\x12\x06\xfe\x03\x00\x81\x04\x01\n\x0b\n\x03\x04)\x01\x12\x04\xfe\x03\x08!\n\'\n\x04\x04)\x02\x00\x12\x04\x80\x04\x02)\x1a\x19 The deposit claim body.\n\n\r\n\x05\x04)\x02\x00\x06\x12\x04\x80\x04\x02\x16\n\r\n\x05\x04)\x02\x00\x01\x12\x04\x80\x04\x17$\n\r\n\x05\x04)\x02\x00\x03\x12\x04\x80\x04\'(\n\x0c\n\x02\x04*\x12\x06\x83\x04\x00\x86\x04\x01\n\x0b\n\x03\x04*\x01\x12\x04\x83\x04\x08\x1a\n#\n\x04\x04*\x02\x00\x12\x04\x85\x04\x02\x19\x1a\x15 The validator vote.\n\n\r\n\x05\x04*\x02\x00\x06\x12\x04\x85\x04\x02\x0f\n\r\n\x05\x04*\x02\x00\x01\x12\x04\x85\x04\x10\x14\n\r\n\x05\x04*\x02\x00\x03\x12\x04\x85\x04\x17\x18\n\x0c\n\x02\x04+\x12\x06\x88\x04\x00\x8b\x04\x01\n\x0b\n\x03\x04+\x01\x12\x04\x88\x04\x08\x1d\n2\n\x04\x04+\x02\x00\x12\x04\x8a\x04\x02 \x1a$ Details on the withdrawn proposal.\n\n\r\n\x05\x04+\x02\x00\x06\x12\x04\x8a\x04\x02\x12\n\r\n\x05\x04+\x02\x00\x01\x12\x04\x8a\x04\x13\x1b\n\r\n\x05\x04+\x02\x00\x03\x12\x04\x8a\x04\x1e\x1f\n\x0c\n\x02\x04,\x12\x06\x8d\x04\x00\x90\x04\x01\n\x0b\n\x03\x04,\x01\x12\x04\x8d\x04\x08\x1b\n2\n\x04\x04,\x02\x00\x12\x04\x8f\x04\x02\x1c\x1a$ Details on the submitted proposal.\n\n\r\n\x05\x04,\x02\x00\x06\x12\x04\x8f\x04\x02\x10\n\r\n\x05\x04,\x02\x00\x01\x12\x04\x8f\x04\x11\x17\n\r\n\x05\x04,\x02\x00\x03\x12\x04\x8f\x04\x1a\x1b\n\x0c\n\x02\x04-\x12\x06\x92\x04\x00\x95\x04\x01\n\x0b\n\x03\x04-\x01\x12\x04\x92\x04\x08\x1a\n%\n\x04\x04-\x02\x00\x12\x04\x94\x04\x02\x18\x1a\x17 The enacted proposal.\n\n\r\n\x05\x04-\x02\x00\x06\x12\x04\x94\x04\x02\n\n\r\n\x05\x04-\x02\x00\x01\x12\x04\x94\x04\x0b\x13\n\r\n\x05\x04-\x02\x00\x03\x12\x04\x94\x04\x16\x17\n\x0c\n\x02\x04.\x12\x06\x97\x04\x00\x9a\x04\x01\n\x0b\n\x03\x04.\x01\x12\x04\x97\x04\x08\x1b\n$\n\x04\x04.\x02\x00\x12\x04\x99\x04\x02\x18\x1a\x16 The failed proposal.\n\n\r\n\x05\x04.\x02\x00\x06\x12\x04\x99\x04\x02\n\n\r\n\x05\x04.\x02\x00\x01\x12\x04\x99\x04\x0b\x13\n\r\n\x05\x04.\x02\x00\x03\x12\x04\x99\x04\x16\x17\n\x0c\n\x02\x04/\x12\x06\x9c\x04\x00\x9f\x04\x01\n\x0b\n\x03\x04/\x01\x12\x04\x9c\x04\x08\x1c\n%\n\x04\x04/\x02\x00\x12\x04\x9e\x04\x02\x18\x1a\x17 The slashed proposal.\n\n\r\n\x05\x04/\x02\x00\x06\x12\x04\x9e\x04\x02\n\n\r\n\x05\x04/\x02\x00\x01\x12\x04\x9e\x04\x0b\x13\n\r\n\x05\x04/\x02\x00\x03\x12\x04\x9e\x04\x16\x17b\x06proto3\n\x99\x02\n2penumbra/crypto/decaf377_fmd/v1/decaf377_fmd.proto\x12\x1fpenumbra.crypto.decaf377_fmd.v1\"\x1c\n\x04Clue\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05innerJ\x9b\x01\n\x06\x12\x04\x00\x00\x06\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00(\n:\n\x02\x04\x00\x12\x04\x04\x00\x06\x01\x1a. A clue for use with Fuzzy Message Detection.\n\n\n\n\x03\x04\x00\x01\x12\x03\x04\x08\x0c\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x05\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x05\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x05\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x05\x10\x11b\x06proto3\n\xa9\xd2\x01\n.penumbra/core/transaction/v1/transaction.proto\x12\x1cpenumbra.core.transaction.v1\x1a\x19google/protobuf/any.proto\x1a\"penumbra/core/asset/v1/asset.proto\x1a(penumbra/core/component/dex/v1/dex.proto\x1a(penumbra/core/component/fee/v1/fee.proto\x1a6penumbra/core/component/governance/v1/governance.proto\x1a(penumbra/core/component/ibc/v1/ibc.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a<penumbra/core/component/shielded_pool/v1/shielded_pool.proto\x1a,penumbra/core/component/stake/v1/stake.proto\x1a penumbra/core/keys/v1/keys.proto\x1a$penumbra/core/txhash/v1/txhash.proto\x1a2penumbra/crypto/decaf377_fmd/v1/decaf377_fmd.proto\x1a4penumbra/crypto/decaf377_rdsa/v1/decaf377_rdsa.proto\x1a penumbra/crypto/tct/v1/tct.proto\"\xe1\x01\n\x0bTransaction\x12A\n\x04body\x18\x01 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionBodyR\x04body\x12S\n\x0bbinding_sig\x18\x02 \x01(\x0b22.penumbra.crypto.decaf377_rdsa.v1.BindingSignatureR\nbindingSig\x12:\n\x06anchor\x18\x03 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\x06anchor\"\xd3\x02\n\x0fTransactionBody\x12>\n\x07actions\x18\x01 \x03(\x0b2$.penumbra.core.transaction.v1.ActionR\x07actions\x12j\n\x16transaction_parameters\x18\x02 \x01(\x0b23.penumbra.core.transaction.v1.TransactionParametersR\x15transactionParameters\x12R\n\x0edetection_data\x18\x04 \x01(\x0b2+.penumbra.core.transaction.v1.DetectionDataR\rdetectionData\x12@\n\x04memo\x18\x05 \x01(\x0b2,.penumbra.core.transaction.v1.MemoCiphertextR\x04memo\"\x8e\x01\n\x15TransactionParameters\x12#\n\rexpiry_height\x18\x01 \x01(\x04R\x0cexpiryHeight\x12\x19\n\x08chain_id\x18\x02 \x01(\tR\x07chainId\x125\n\x03fee\x18\x03 \x01(\x0b2#.penumbra.core.component.fee.v1.FeeR\x03fee\"S\n\rDetectionData\x12B\n\tfmd_clues\x18\x04 \x03(\x0b2%.penumbra.crypto.decaf377_fmd.v1.ClueR\x08fmdClues\"\x9a\x10\n\x06Action\x12G\n\x05spend\x18\x01 \x01(\x0b2/.penumbra.core.component.shielded_pool.v1.SpendH\x00R\x05spend\x12J\n\x06output\x18\x02 \x01(\x0b20.penumbra.core.component.shielded_pool.v1.OutputH\x00R\x06output\x12:\n\x04swap\x18\x03 \x01(\x0b2$.penumbra.core.component.dex.v1.SwapH\x00R\x04swap\x12J\n\nswap_claim\x18\x04 \x01(\x0b2).penumbra.core.component.dex.v1.SwapClaimH\x00R\tswapClaim\x12j\n\x14validator_definition\x18\x10 \x01(\x0b25.penumbra.core.component.stake.v1.ValidatorDefinitionH\x00R\x13validatorDefinition\x12T\n\x10ibc_relay_action\x18\x11 \x01(\x0b2(.penumbra.core.component.ibc.v1.IbcRelayH\x00R\x0eibcRelayAction\x12`\n\x0fproposal_submit\x18\x12 \x01(\x0b25.penumbra.core.component.governance.v1.ProposalSubmitH\x00R\x0eproposalSubmit\x12f\n\x11proposal_withdraw\x18\x13 \x01(\x0b27.penumbra.core.component.governance.v1.ProposalWithdrawH\x00R\x10proposalWithdraw\x12]\n\x0evalidator_vote\x18\x14 \x01(\x0b24.penumbra.core.component.governance.v1.ValidatorVoteH\x00R\rvalidatorVote\x12]\n\x0edelegator_vote\x18\x15 \x01(\x0b24.penumbra.core.component.governance.v1.DelegatorVoteH\x00R\rdelegatorVote\x12s\n\x16proposal_deposit_claim\x18\x16 \x01(\x0b2;.penumbra.core.component.governance.v1.ProposalDepositClaimH\x00R\x14proposalDepositClaim\x12S\n\rposition_open\x18\x1e \x01(\x0b2,.penumbra.core.component.dex.v1.PositionOpenH\x00R\x0cpositionOpen\x12V\n\x0eposition_close\x18\x1f \x01(\x0b2-.penumbra.core.component.dex.v1.PositionCloseH\x00R\rpositionClose\x12_\n\x11position_withdraw\x18  \x01(\x0b20.penumbra.core.component.dex.v1.PositionWithdrawH\x00R\x10positionWithdraw\x12m\n\x15position_reward_claim\x18\" \x01(\x0b23.penumbra.core.component.dex.v1.PositionRewardClaimB\x02\x18\x01H\x00R\x13positionRewardClaim\x12H\n\x08delegate\x18( \x01(\x0b2*.penumbra.core.component.stake.v1.DelegateH\x00R\x08delegate\x12N\n\nundelegate\x18) \x01(\x0b2,.penumbra.core.component.stake.v1.UndelegateH\x00R\nundelegate\x12^\n\x10undelegate_claim\x18* \x01(\x0b21.penumbra.core.component.stake.v1.UndelegateClaimH\x00R\x0fundelegateClaim\x12m\n\x14community_pool_spend\x182 \x01(\x0b29.penumbra.core.component.governance.v1.CommunityPoolSpendH\x00R\x12communityPoolSpend\x12p\n\x15community_pool_output\x183 \x01(\x0b2:.penumbra.core.component.governance.v1.CommunityPoolOutputH\x00R\x13communityPoolOutput\x12s\n\x16community_pool_deposit\x184 \x01(\x0b2;.penumbra.core.component.governance.v1.CommunityPoolDepositH\x00R\x14communityPoolDeposit\x12]\n\x10ics20_withdrawal\x18\xc8\x01 \x01(\x0b2/.penumbra.core.component.ibc.v1.Ics20WithdrawalH\x00R\x0fics20WithdrawalB\x08\n\x06action\"\x94\r\n\x16TransactionPerspective\x12Y\n\x0cpayload_keys\x18\x01 \x03(\x0b26.penumbra.core.transaction.v1.PayloadKeyWithCommitmentR\x0bpayloadKeys\x12Z\n\x10spend_nullifiers\x18\x02 \x03(\x0b2/.penumbra.core.transaction.v1.NullifierWithNoteR\x0fspendNullifiers\x12Q\n\x0cadvice_notes\x18\x03 \x03(\x0b2..penumbra.core.component.shielded_pool.v1.NoteR\x0badviceNotes\x12G\n\raddress_views\x18\x04 \x03(\x0b2\".penumbra.core.keys.v1.AddressViewR\x0caddressViews\x128\n\x06denoms\x18\x05 \x03(\x0b2 .penumbra.core.asset.v1.MetadataR\x06denoms\x12M\n\x0etransaction_id\x18\x06 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\rtransactionId\x12>\n\x06prices\x18\x14 \x03(\x0b2&.penumbra.core.asset.v1.EstimatedPriceR\x06prices\x12v\n\x11extended_metadata\x18\x1e \x03(\x0b2I.penumbra.core.transaction.v1.TransactionPerspective.ExtendedMetadataByIdR\x10extendedMetadata\x12\xa7\x01\n%creation_transaction_ids_by_nullifier\x18( \x03(\x0b2U.penumbra.core.transaction.v1.TransactionPerspective.CreationTransactionIdByNullifierR!creationTransactionIdsByNullifier\x12\xb9\x01\n+nullification_transaction_ids_by_commitment\x182 \x03(\x0b2[.penumbra.core.transaction.v1.TransactionPerspective.NullificationTransactionIdByCommitmentR\'nullificationTransactionIdsByCommitment\x12h\n\x16batch_swap_output_data\x18< \x03(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\x13batchSwapOutputData\x1a\x95\x01\n\x14ExtendedMetadataById\x12:\n\x08asset_id\x18\x01 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\x12A\n\x11extended_metadata\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x10extendedMetadata\x1a\xba\x01\n CreationTransactionIdByNullifier\x12G\n\tnullifier\x18\x01 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x12M\n\x0etransaction_id\x18\x02 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\rtransactionId\x1a\xc0\x01\n&NullificationTransactionIdByCommitment\x12G\n\ncommitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\ncommitment\x12M\n\x0etransaction_id\x18\x02 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\rtransactionId\"\xa7\x01\n\x18PayloadKeyWithCommitment\x12B\n\x0bpayload_key\x18\x01 \x01(\x0b2!.penumbra.core.keys.v1.PayloadKeyR\npayloadKey\x12G\n\ncommitment\x18\x02 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\ncommitment\"\xa0\x01\n\x11NullifierWithNote\x12G\n\tnullifier\x18\x01 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x12B\n\x04note\x18\x02 \x01(\x0b2..penumbra.core.component.shielded_pool.v1.NoteR\x04note\"\xf2\x01\n\x0fTransactionView\x12N\n\tbody_view\x18\x01 \x01(\x0b21.penumbra.core.transaction.v1.TransactionBodyViewR\x08bodyView\x12S\n\x0bbinding_sig\x18\x02 \x01(\x0b22.penumbra.crypto.decaf377_rdsa.v1.BindingSignatureR\nbindingSig\x12:\n\x06anchor\x18\x03 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\x06anchor\"\xe7\x02\n\x13TransactionBodyView\x12K\n\x0caction_views\x18\x01 \x03(\x0b2(.penumbra.core.transaction.v1.ActionViewR\x0bactionViews\x12j\n\x16transaction_parameters\x18\x02 \x01(\x0b23.penumbra.core.transaction.v1.TransactionParametersR\x15transactionParameters\x12R\n\x0edetection_data\x18\x04 \x01(\x0b2+.penumbra.core.transaction.v1.DetectionDataR\rdetectionData\x12C\n\tmemo_view\x18\x05 \x01(\x0b2&.penumbra.core.transaction.v1.MemoViewR\x08memoView\"\xb7\x10\n\nActionView\x12K\n\x05spend\x18\x01 \x01(\x0b23.penumbra.core.component.shielded_pool.v1.SpendViewH\x00R\x05spend\x12N\n\x06output\x18\x02 \x01(\x0b24.penumbra.core.component.shielded_pool.v1.OutputViewH\x00R\x06output\x12>\n\x04swap\x18\x03 \x01(\x0b2(.penumbra.core.component.dex.v1.SwapViewH\x00R\x04swap\x12N\n\nswap_claim\x18\x04 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapClaimViewH\x00R\tswapClaim\x12j\n\x14validator_definition\x18\x10 \x01(\x0b25.penumbra.core.component.stake.v1.ValidatorDefinitionH\x00R\x13validatorDefinition\x12T\n\x10ibc_relay_action\x18\x11 \x01(\x0b2(.penumbra.core.component.ibc.v1.IbcRelayH\x00R\x0eibcRelayAction\x12`\n\x0fproposal_submit\x18\x12 \x01(\x0b25.penumbra.core.component.governance.v1.ProposalSubmitH\x00R\x0eproposalSubmit\x12f\n\x11proposal_withdraw\x18\x13 \x01(\x0b27.penumbra.core.component.governance.v1.ProposalWithdrawH\x00R\x10proposalWithdraw\x12]\n\x0evalidator_vote\x18\x14 \x01(\x0b24.penumbra.core.component.governance.v1.ValidatorVoteH\x00R\rvalidatorVote\x12a\n\x0edelegator_vote\x18\x15 \x01(\x0b28.penumbra.core.component.governance.v1.DelegatorVoteViewH\x00R\rdelegatorVote\x12s\n\x16proposal_deposit_claim\x18\x16 \x01(\x0b2;.penumbra.core.component.governance.v1.ProposalDepositClaimH\x00R\x14proposalDepositClaim\x12S\n\rposition_open\x18\x1e \x01(\x0b2,.penumbra.core.component.dex.v1.PositionOpenH\x00R\x0cpositionOpen\x12V\n\x0eposition_close\x18\x1f \x01(\x0b2-.penumbra.core.component.dex.v1.PositionCloseH\x00R\rpositionClose\x12_\n\x11position_withdraw\x18  \x01(\x0b20.penumbra.core.component.dex.v1.PositionWithdrawH\x00R\x10positionWithdraw\x12m\n\x15position_reward_claim\x18\" \x01(\x0b23.penumbra.core.component.dex.v1.PositionRewardClaimB\x02\x18\x01H\x00R\x13positionRewardClaim\x12H\n\x08delegate\x18) \x01(\x0b2*.penumbra.core.component.stake.v1.DelegateH\x00R\x08delegate\x12N\n\nundelegate\x18* \x01(\x0b2,.penumbra.core.component.stake.v1.UndelegateH\x00R\nundelegate\x12m\n\x14community_pool_spend\x182 \x01(\x0b29.penumbra.core.component.governance.v1.CommunityPoolSpendH\x00R\x12communityPoolSpend\x12p\n\x15community_pool_output\x183 \x01(\x0b2:.penumbra.core.component.governance.v1.CommunityPoolOutputH\x00R\x13communityPoolOutput\x12s\n\x16community_pool_deposit\x184 \x01(\x0b2;.penumbra.core.component.governance.v1.CommunityPoolDepositH\x00R\x14communityPoolDeposit\x12^\n\x10undelegate_claim\x18+ \x01(\x0b21.penumbra.core.component.stake.v1.UndelegateClaimH\x00R\x0fundelegateClaim\x12]\n\x10ics20_withdrawal\x18\xc8\x01 \x01(\x0b2/.penumbra.core.component.ibc.v1.Ics20WithdrawalH\x00R\x0fics20WithdrawalB\r\n\x0baction_view\"\x98\x02\n\x11AuthorizationData\x12D\n\x0beffect_hash\x18\x01 \x01(\x0b2#.penumbra.core.txhash.v1.EffectHashR\neffectHash\x12U\n\x0bspend_auths\x18\x02 \x03(\x0b24.penumbra.crypto.decaf377_rdsa.v1.SpendAuthSignatureR\nspendAuths\x12f\n\x14delegator_vote_auths\x18\x03 \x03(\x0b24.penumbra.crypto.decaf377_rdsa.v1.SpendAuthSignatureR\x12delegatorVoteAuths\"\xaf\x01\n\x0bWitnessData\x12:\n\x06anchor\x18\x01 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\x06anchor\x12d\n\x17state_commitment_proofs\x18\x02 \x03(\x0b2,.penumbra.crypto.tct.v1.StateCommitmentProofR\x15stateCommitmentProofs\"\xd5\x02\n\x0fTransactionPlan\x12B\n\x07actions\x18\x01 \x03(\x0b2(.penumbra.core.transaction.v1.ActionPlanR\x07actions\x12j\n\x16transaction_parameters\x18\x02 \x01(\x0b23.penumbra.core.transaction.v1.TransactionParametersR\x15transactionParameters\x12V\n\x0edetection_data\x18\x04 \x01(\x0b2/.penumbra.core.transaction.v1.DetectionDataPlanR\rdetectionData\x12:\n\x04memo\x18\x05 \x01(\x0b2&.penumbra.core.transaction.v1.MemoPlanR\x04memo\"Z\n\x11DetectionDataPlan\x12E\n\nclue_plans\x18\x05 \x03(\x0b2&.penumbra.core.transaction.v1.CluePlanR\tcluePlans\"\xbe\x10\n\nActionPlan\x12K\n\x05spend\x18\x01 \x01(\x0b23.penumbra.core.component.shielded_pool.v1.SpendPlanH\x00R\x05spend\x12N\n\x06output\x18\x02 \x01(\x0b24.penumbra.core.component.shielded_pool.v1.OutputPlanH\x00R\x06output\x12>\n\x04swap\x18\x03 \x01(\x0b2(.penumbra.core.component.dex.v1.SwapPlanH\x00R\x04swap\x12N\n\nswap_claim\x18\x04 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapClaimPlanH\x00R\tswapClaim\x12j\n\x14validator_definition\x18\x10 \x01(\x0b25.penumbra.core.component.stake.v1.ValidatorDefinitionH\x00R\x13validatorDefinition\x12T\n\x10ibc_relay_action\x18\x11 \x01(\x0b2(.penumbra.core.component.ibc.v1.IbcRelayH\x00R\x0eibcRelayAction\x12`\n\x0fproposal_submit\x18\x12 \x01(\x0b25.penumbra.core.component.governance.v1.ProposalSubmitH\x00R\x0eproposalSubmit\x12f\n\x11proposal_withdraw\x18\x13 \x01(\x0b27.penumbra.core.component.governance.v1.ProposalWithdrawH\x00R\x10proposalWithdraw\x12]\n\x0evalidator_vote\x18\x14 \x01(\x0b24.penumbra.core.component.governance.v1.ValidatorVoteH\x00R\rvalidatorVote\x12a\n\x0edelegator_vote\x18\x15 \x01(\x0b28.penumbra.core.component.governance.v1.DelegatorVotePlanH\x00R\rdelegatorVote\x12s\n\x16proposal_deposit_claim\x18\x16 \x01(\x0b2;.penumbra.core.component.governance.v1.ProposalDepositClaimH\x00R\x14proposalDepositClaim\x12]\n\x10ics20_withdrawal\x18\xc8\x01 \x01(\x0b2/.penumbra.core.component.ibc.v1.Ics20WithdrawalH\x00R\x0fics20Withdrawal\x12S\n\rposition_open\x18\x1e \x01(\x0b2,.penumbra.core.component.dex.v1.PositionOpenH\x00R\x0cpositionOpen\x12V\n\x0eposition_close\x18\x1f \x01(\x0b2-.penumbra.core.component.dex.v1.PositionCloseH\x00R\rpositionClose\x12c\n\x11position_withdraw\x18  \x01(\x0b24.penumbra.core.component.dex.v1.PositionWithdrawPlanH\x00R\x10positionWithdraw\x12q\n\x15position_reward_claim\x18\" \x01(\x0b27.penumbra.core.component.dex.v1.PositionRewardClaimPlanB\x02\x18\x01H\x00R\x13positionRewardClaim\x12H\n\x08delegate\x18( \x01(\x0b2*.penumbra.core.component.stake.v1.DelegateH\x00R\x08delegate\x12N\n\nundelegate\x18) \x01(\x0b2,.penumbra.core.component.stake.v1.UndelegateH\x00R\nundelegate\x12b\n\x10undelegate_claim\x18* \x01(\x0b25.penumbra.core.component.stake.v1.UndelegateClaimPlanH\x00R\x0fundelegateClaim\x12m\n\x14community_pool_spend\x182 \x01(\x0b29.penumbra.core.component.governance.v1.CommunityPoolSpendH\x00R\x12communityPoolSpend\x12p\n\x15community_pool_output\x183 \x01(\x0b2:.penumbra.core.component.governance.v1.CommunityPoolOutputH\x00R\x13communityPoolOutput\x12s\n\x16community_pool_deposit\x184 \x01(\x0b2;.penumbra.core.component.governance.v1.CommunityPoolDepositH\x00R\x14communityPoolDepositB\x08\n\x06action\"\x81\x01\n\x08CluePlan\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\x12\x14\n\x05rseed\x18\x02 \x01(\x0cR\x05rseed\x12%\n\x0eprecision_bits\x18\x03 \x01(\x04R\rprecisionBits\"g\n\x08MemoPlan\x12I\n\tplaintext\x18\x01 \x01(\x0b2+.penumbra.core.transaction.v1.MemoPlaintextR\tplaintext\x12\x10\n\x03key\x18\x02 \x01(\x0cR\x03key\"&\n\x0eMemoCiphertext\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"j\n\rMemoPlaintext\x12E\n\x0ereturn_address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\rreturnAddress\x12\x12\n\x04text\x18\x02 \x01(\tR\x04text\"r\n\x11MemoPlaintextView\x12I\n\x0ereturn_address\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.AddressViewR\rreturnAddress\x12\x12\n\x04text\x18\x02 \x01(\tR\x04text\"\xad\x03\n\x08MemoView\x12J\n\x07visible\x18\x01 \x01(\x0b2..penumbra.core.transaction.v1.MemoView.VisibleH\x00R\x07visible\x12G\n\x06opaque\x18\x02 \x01(\x0b2-.penumbra.core.transaction.v1.MemoView.OpaqueH\x00R\x06opaque\x1a\xa6\x01\n\x07Visible\x12L\n\nciphertext\x18\x01 \x01(\x0b2,.penumbra.core.transaction.v1.MemoCiphertextR\nciphertext\x12M\n\tplaintext\x18\x02 \x01(\x0b2/.penumbra.core.transaction.v1.MemoPlaintextViewR\tplaintext\x1aV\n\x06Opaque\x12L\n\nciphertext\x18\x01 \x01(\x0b2,.penumbra.core.transaction.v1.MemoCiphertextR\nciphertextB\x0b\n\tmemo_viewJ\xd0r\n\x07\x12\x05\x00\x00\xef\x02\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00%\n\t\n\x02\x03\x00\x12\x03\x03\x00#\n\t\n\x02\x03\x01\x12\x03\x04\x00,\n\t\n\x02\x03\x02\x12\x03\x05\x002\n\t\n\x02\x03\x03\x12\x03\x06\x002\n\t\n\x02\x03\x04\x12\x03\x07\x00@\n\t\n\x02\x03\x05\x12\x03\x08\x002\n\t\n\x02\x03\x06\x12\x03\t\x002\n\t\n\x02\x03\x07\x12\x03\n\x00F\n\t\n\x02\x03\x08\x12\x03\x0b\x006\n\t\n\x02\x03\t\x12\x03\x0c\x00*\n\t\n\x02\x03\n\x12\x03\r\x00.\n\t\n\x02\x03\x0b\x12\x03\x0e\x00<\n\t\n\x02\x03\x0c\x12\x03\x0f\x00>\n\t\n\x02\x03\r\x12\x03\x10\x00*\n%\n\x02\x04\x00\x12\x04\x13\x00\x1a\x01\x1a\x19 A Penumbra transaction.\n\n\n\n\x03\x04\x00\x01\x12\x03\x13\x08\x13\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x14\x02\x1b\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x14\x02\x11\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x14\x12\x16\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x14\x19\x1a\nb\n\x04\x04\x00\x02\x01\x12\x03\x16\x02;\x1aU The binding signature is stored separately from the transaction body that it signs.\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x16\x02*\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x16+6\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x169:\n\x83\x01\n\x04\x04\x00\x02\x02\x12\x03\x19\x02&\x1av The root of some previous state of the state commitment tree, used as an anchor for all\n ZK state transition proofs.\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x19\x02\x1a\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x19\x1b!\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x19$%\n(\n\x02\x04\x01\x12\x04\x1d\x00(\x01\x1a\x1c The body of a transaction.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1d\x08\x17\nO\n\x04\x04\x01\x02\x00\x12\x03\x1f\x02\x1e\x1aB A list of actions (state changes) performed by this transaction.\n\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03\x1f\x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x1f\x0b\x11\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x1f\x12\x19\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1f\x1c\x1d\nX\n\x04\x04\x01\x02\x01\x12\x03!\x023\x1aK Parameters determining if a transaction should be accepted by this chain.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03!\x02\x17\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03!\x18.\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03!12\nB\n\x04\x04\x01\x02\x02\x12\x03#\x02#\x1a5 Detection data for use with Fuzzy Message Detection\n\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03#\x02\x0f\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03#\x10\x1e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03#!\"\n\x80\x01\n\x04\x04\x01\x02\x03\x12\x03\'\x02\x1a\x1as The encrypted memo for this transaction.\n\n This field will be present if and only if the transaction has outputs.\n\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03\'\x02\x10\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\'\x11\x15\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\'\x18\x19\nZ\n\x02\x04\x02\x12\x04+\x005\x01\x1aN The parameters determining if a transaction should be accepted by the chain.\n\n\n\n\x03\x04\x02\x01\x12\x03+\x08\x1d\nu\n\x04\x04\x02\x02\x00\x12\x03/\x02\x1b\x1ah The maximum height that this transaction can be included in the chain.\n\n If zero, there is no maximum.\n\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\x16\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03/\x19\x1a\n\x92\x01\n\x04\x04\x02\x02\x01\x12\x032\x02\x16\x1a\x84\x01 The chain this transaction is intended for.  Including this prevents\n replaying a transaction on one chain onto a different chain.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x032\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x032\t\x11\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x032\x14\x15\n#\n\x04\x04\x02\x02\x02\x12\x034\x02\x1f\x1a\x16 The transaction fee.\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x034\x02\x16\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x034\x17\x1a\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x034\x1d\x1e\n[\n\x02\x04\x03\x12\x048\x00;\x01\x1aO Detection data used by a detection server performing Fuzzy Message Detection.\n\n\n\n\x03\x04\x03\x01\x12\x038\x08\x15\nD\n\x04\x04\x03\x02\x00\x12\x03:\x025\x1a7 A list of clues for use with Fuzzy Message Detection.\n\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03:\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03:\x0b&\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03:\'0\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03:34\n8\n\x02\x04\x04\x12\x04>\x00d\x01\x1a, A state change performed by a transaction.\n\n\n\n\x03\x04\x04\x01\x12\x03>\x08\x0e\n\x0c\n\x04\x04\x04\x08\x00\x12\x04?\x02c\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x03?\x08\x0e\n?\n\x04\x04\x04\x02\x00\x12\x03A\x04/\x1a2 Common actions have numbers < 15, to save space.\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03A\x04$\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03A%*\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03A-.\n\x0b\n\x04\x04\x04\x02\x01\x12\x03B\x041\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03B\x04%\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03B&,\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03B/0\n\x0b\n\x04\x04\x04\x02\x02\x12\x03C\x04#\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03C\x04\x19\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03C\x1a\x1e\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03C!\"\n\x0b\n\x04\x04\x04\x02\x03\x12\x03D\x04.\n\x0c\n\x05\x04\x04\x02\x03\x06\x12\x03D\x04\x1e\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03D\x1f)\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03D,-\n2\n\x04\x04\x04\x02\x04\x12\x03H\x04E2% Uncommon actions have numbers > 15.\n\n\x0c\n\x05\x04\x04\x02\x04\x06\x12\x03H\x04*\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x03H+?\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x03HBD\n\x0b\n\x04\x04\x04\x02\x05\x12\x03I\x044\n\x0c\n\x05\x04\x04\x02\x05\x06\x12\x03I\x04\x1d\n\x0c\n\x05\x04\x04\x02\x05\x01\x12\x03I\x1e.\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x03I13\n\x1a\n\x04\x04\x04\x02\x06\x12\x03L\x04@\x1a\r Governance:\n\n\x0c\n\x05\x04\x04\x02\x06\x06\x12\x03L\x04*\n\x0c\n\x05\x04\x04\x02\x06\x01\x12\x03L+:\n\x0c\n\x05\x04\x04\x02\x06\x03\x12\x03L=?\n\x0b\n\x04\x04\x04\x02\x07\x12\x03M\x04D\n\x0c\n\x05\x04\x04\x02\x07\x06\x12\x03M\x04,\n\x0c\n\x05\x04\x04\x02\x07\x01\x12\x03M->\n\x0c\n\x05\x04\x04\x02\x07\x03\x12\x03MAC\n\x0b\n\x04\x04\x04\x02\x08\x12\x03N\x04>\n\x0c\n\x05\x04\x04\x02\x08\x06\x12\x03N\x04)\n\x0c\n\x05\x04\x04\x02\x08\x01\x12\x03N*8\n\x0c\n\x05\x04\x04\x02\x08\x03\x12\x03N;=\n\x0b\n\x04\x04\x04\x02\t\x12\x03O\x04>\n\x0c\n\x05\x04\x04\x02\t\x06\x12\x03O\x04)\n\x0c\n\x05\x04\x04\x02\t\x01\x12\x03O*8\n\x0c\n\x05\x04\x04\x02\t\x03\x12\x03O;=\n\x0b\n\x04\x04\x04\x02\n\x12\x03P\x04M\n\x0c\n\x05\x04\x04\x02\n\x06\x12\x03P\x040\n\x0c\n\x05\x04\x04\x02\n\x01\x12\x03P1G\n\x0c\n\x05\x04\x04\x02\n\x03\x12\x03PJL\n\x18\n\x04\x04\x04\x02\x0b\x12\x03S\x045\x1a\x0b Positions\n\n\x0c\n\x05\x04\x04\x02\x0b\x06\x12\x03S\x04!\n\x0c\n\x05\x04\x04\x02\x0b\x01\x12\x03S\"/\n\x0c\n\x05\x04\x04\x02\x0b\x03\x12\x03S24\n\x0b\n\x04\x04\x04\x02\x0c\x12\x03T\x047\n\x0c\n\x05\x04\x04\x02\x0c\x06\x12\x03T\x04\"\n\x0c\n\x05\x04\x04\x02\x0c\x01\x12\x03T#1\n\x0c\n\x05\x04\x04\x02\x0c\x03\x12\x03T46\n\x0b\n\x04\x04\x04\x02\r\x12\x03U\x04=\n\x0c\n\x05\x04\x04\x02\r\x06\x12\x03U\x04%\n\x0c\n\x05\x04\x04\x02\r\x01\x12\x03U&7\n\x0c\n\x05\x04\x04\x02\r\x03\x12\x03U:<\n\x0b\n\x04\x04\x04\x02\x0e\x12\x03V\x04X\n\x0c\n\x05\x04\x04\x02\x0e\x06\x12\x03V\x04(\n\x0c\n\x05\x04\x04\x02\x0e\x01\x12\x03V)>\n\x0c\n\x05\x04\x04\x02\x0e\x03\x12\x03VAC\n\x0c\n\x05\x04\x04\x02\x0e\x08\x12\x03VDW\n\r\n\x06\x04\x04\x02\x0e\x08\x03\x12\x03VEV\n\x1d\n\x04\x04\x04\x02\x0f\x12\x03Y\x04.\x1a\x10 (un)delegation\n\n\x0c\n\x05\x04\x04\x02\x0f\x06\x12\x03Y\x04\x1f\n\x0c\n\x05\x04\x04\x02\x0f\x01\x12\x03Y (\n\x0c\n\x05\x04\x04\x02\x0f\x03\x12\x03Y+-\n\x0b\n\x04\x04\x04\x02\x10\x12\x03Z\x042\n\x0c\n\x05\x04\x04\x02\x10\x06\x12\x03Z\x04!\n\x0c\n\x05\x04\x04\x02\x10\x01\x12\x03Z\",\n\x0c\n\x05\x04\x04\x02\x10\x03\x12\x03Z/1\n\x0b\n\x04\x04\x04\x02\x11\x12\x03[\x04=\n\x0c\n\x05\x04\x04\x02\x11\x06\x12\x03[\x04&\n\x0c\n\x05\x04\x04\x02\x11\x01\x12\x03[\'7\n\x0c\n\x05\x04\x04\x02\x11\x03\x12\x03[:<\n\x1d\n\x04\x04\x04\x02\x12\x12\x03^\x04I\x1a\x10 Community Pool\n\n\x0c\n\x05\x04\x04\x02\x12\x06\x12\x03^\x04.\n\x0c\n\x05\x04\x04\x02\x12\x01\x12\x03^/C\n\x0c\n\x05\x04\x04\x02\x12\x03\x12\x03^FH\n\x0b\n\x04\x04\x04\x02\x13\x12\x03_\x04K\n\x0c\n\x05\x04\x04\x02\x13\x06\x12\x03_\x04/\n\x0c\n\x05\x04\x04\x02\x13\x01\x12\x03_0E\n\x0c\n\x05\x04\x04\x02\x13\x03\x12\x03_HJ\n\x0b\n\x04\x04\x04\x02\x14\x12\x03`\x04M\n\x0c\n\x05\x04\x04\x02\x14\x06\x12\x03`\x040\n\x0c\n\x05\x04\x04\x02\x14\x01\x12\x03`1G\n\x0c\n\x05\x04\x04\x02\x14\x03\x12\x03`JL\n\x0b\n\x04\x04\x04\x02\x15\x12\x03b\x04<\n\x0c\n\x05\x04\x04\x02\x15\x06\x12\x03b\x04$\n\x0c\n\x05\x04\x04\x02\x15\x01\x12\x03b%5\n\x0c\n\x05\x04\x04\x02\x15\x03\x12\x03b8;\n\xa3\x01\n\x02\x04\x05\x12\x05h\x00\x97\x01\x01\x1a\x95\x01 A transaction perspective is a bundle of key material and commitment openings\n that allow generating a view of a transaction from that perspective.\n\n\n\n\x03\x04\x05\x01\x12\x03h\x08\x1e\n\x0b\n\x04\x04\x05\x02\x00\x12\x03i\x025\n\x0c\n\x05\x04\x05\x02\x00\x04\x12\x03i\x02\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03i\x0b#\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03i$0\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03i34\n\x0b\n\x04\x04\x05\x02\x01\x12\x03j\x022\n\x0c\n\x05\x04\x05\x02\x01\x04\x12\x03j\x02\n\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03j\x0b\x1c\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03j\x1d-\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03j01\nt\n\x04\x04\x05\x02\x02\x12\x03m\x02<\x1ag The openings of note commitments referred to in the transaction\n but not included in the transaction.\n\n\x0c\n\x05\x04\x05\x02\x02\x04\x12\x03m\x02\n\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03m\x0b*\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03m+7\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03m:;\n*\n\x04\x04\x05\x02\x03\x12\x03o\x021\x1a\x1d Any relevant address views.\n\n\x0c\n\x05\x04\x05\x02\x03\x04\x12\x03o\x02\n\n\x0c\n\x05\x04\x05\x02\x03\x06\x12\x03o\x0b\x1e\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03o\x1f,\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03o/0\n5\n\x04\x04\x05\x02\x04\x12\x03q\x02(\x1a( Any relevant denoms for viewed assets.\n\n\x0c\n\x05\x04\x05\x02\x04\x04\x12\x03q\x02\n\n\x0c\n\x05\x04\x05\x02\x04\x06\x12\x03q\x0b\x1c\n\x0c\n\x05\x04\x05\x02\x04\x01\x12\x03q\x1d#\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x03q&\'\nM\n\x04\x04\x05\x02\x05\x12\x03s\x02-\x1a@ The transaction ID associated with this TransactionPerspective\n\n\x0c\n\x05\x04\x05\x02\x05\x06\x12\x03s\x02\x19\n\x0c\n\x05\x04\x05\x02\x05\x01\x12\x03s\x1a(\n\x0c\n\x05\x04\x05\x02\x05\x03\x12\x03s+,\n,\n\x04\x04\x05\x02\x06\x12\x03v\x02/\x1a\x1f Any relevant estimated prices\n\n\x0c\n\x05\x04\x05\x02\x06\x04\x12\x03v\x02\n\n\x0c\n\x05\x04\x05\x02\x06\x06\x12\x03v\x0b\"\n\x0c\n\x05\x04\x05\x02\x06\x01\x12\x03v#)\n\x0c\n\x05\x04\x05\x02\x06\x03\x12\x03v,.\n\x0c\n\x04\x04\x05\x03\x00\x12\x04x\x02{\x03\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03x\n\x1e\n\r\n\x06\x04\x05\x03\x00\x02\x00\x12\x03y\x04\"\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x06\x12\x03y\x04\x14\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03y\x15\x1d\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03y !\n\r\n\x06\x04\x05\x03\x00\x02\x01\x12\x03z\x04.\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x06\x12\x03z\x04\x17\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x01\x12\x03z\x18)\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x03\x12\x03z,-\nC\n\x04\x04\x05\x02\x07\x12\x03}\x027\x1a6 Any relevant extended metadata, indexed by asset id.\n\n\x0c\n\x05\x04\x05\x02\x07\x04\x12\x03}\x02\n\n\x0c\n\x05\x04\x05\x02\x07\x06\x12\x03}\x0b\x1f\n\x0c\n\x05\x04\x05\x02\x07\x01\x12\x03} 1\n\x0c\n\x05\x04\x05\x02\x07\x03\x12\x03}46\n\x86\x02\n\x04\x04\x05\x03\x01\x12\x06\x84\x01\x02\x87\x01\x03\x1a\xf5\x01 Associates a nullifier with the transaction ID that created the nullified state commitment.\n\n Note: this is _not_ the transaction ID that revealed the nullifier.\n\n Allows walking backwards from a spend to the transaction that created the note.\n\n\r\n\x05\x04\x05\x03\x01\x01\x12\x04\x84\x01\n*\n\x0e\n\x06\x04\x05\x03\x01\x02\x00\x12\x04\x85\x01\x04-\n\x0f\n\x07\x04\x05\x03\x01\x02\x00\x06\x12\x04\x85\x01\x04\x1e\n\x0f\n\x07\x04\x05\x03\x01\x02\x00\x01\x12\x04\x85\x01\x1f(\n\x0f\n\x07\x04\x05\x03\x01\x02\x00\x03\x12\x04\x85\x01+,\n\x0e\n\x06\x04\x05\x03\x01\x02\x01\x12\x04\x86\x01\x04/\n\x0f\n\x07\x04\x05\x03\x01\x02\x01\x06\x12\x04\x86\x01\x04\x1b\n\x0f\n\x07\x04\x05\x03\x01\x02\x01\x01\x12\x04\x86\x01\x1c*\n\x0f\n\x07\x04\x05\x03\x01\x02\x01\x03\x12\x04\x86\x01-.\n\x0c\n\x04\x04\x05\x02\x08\x12\x04\x88\x01\x02W\n\r\n\x05\x04\x05\x02\x08\x04\x12\x04\x88\x01\x02\n\n\r\n\x05\x04\x05\x02\x08\x06\x12\x04\x88\x01\x0b+\n\r\n\x05\x04\x05\x02\x08\x01\x12\x04\x88\x01,Q\n\r\n\x05\x04\x05\x02\x08\x03\x12\x04\x88\x01TV\n\xb1\x01\n\x04\x04\x05\x03\x02\x12\x06\x8d\x01\x02\x90\x01\x03\x1a\xa0\x01 Associates a commitment with the transaction ID that eventually nullified it.\n\n Allows walking forwards from an output to the transaction that spent the note.\n\n\r\n\x05\x04\x05\x03\x02\x01\x12\x04\x8d\x01\n0\n\x0e\n\x06\x04\x05\x03\x02\x02\x00\x12\x04\x8e\x01\x041\n\x0f\n\x07\x04\x05\x03\x02\x02\x00\x06\x12\x04\x8e\x01\x04!\n\x0f\n\x07\x04\x05\x03\x02\x02\x00\x01\x12\x04\x8e\x01\",\n\x0f\n\x07\x04\x05\x03\x02\x02\x00\x03\x12\x04\x8e\x01/0\n\x0e\n\x06\x04\x05\x03\x02\x02\x01\x12\x04\x8f\x01\x04/\n\x0f\n\x07\x04\x05\x03\x02\x02\x01\x06\x12\x04\x8f\x01\x04\x1b\n\x0f\n\x07\x04\x05\x03\x02\x02\x01\x01\x12\x04\x8f\x01\x1c*\n\x0f\n\x07\x04\x05\x03\x02\x02\x01\x03\x12\x04\x8f\x01-.\n\x0c\n\x04\x04\x05\x02\t\x12\x04\x91\x01\x02c\n\r\n\x05\x04\x05\x02\t\x04\x12\x04\x91\x01\x02\n\n\r\n\x05\x04\x05\x02\t\x06\x12\x04\x91\x01\x0b1\n\r\n\x05\x04\x05\x02\t\x01\x12\x04\x91\x012]\n\r\n\x05\x04\x05\x02\t\x03\x12\x04\x91\x01`b\n\x82\x01\n\x04\x04\x05\x02\n\x12\x04\x96\x01\x02L\x1at Any relevant BatchSwapOutputData to the transaction.\n\n This can be used to fill in information about swap outputs.\n\n\r\n\x05\x04\x05\x02\n\x04\x12\x04\x96\x01\x02\n\n\r\n\x05\x04\x05\x02\n\x06\x12\x04\x96\x01\x0b/\n\r\n\x05\x04\x05\x02\n\x01\x12\x04\x96\x010F\n\r\n\x05\x04\x05\x02\n\x03\x12\x04\x96\x01IK\n\x0c\n\x02\x04\x06\x12\x06\x99\x01\x00\x9c\x01\x01\n\x0b\n\x03\x04\x06\x01\x12\x04\x99\x01\x08 \n\x0c\n\x04\x04\x06\x02\x00\x12\x04\x9a\x01\x02%\n\r\n\x05\x04\x06\x02\x00\x06\x12\x04\x9a\x01\x02\x14\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\x9a\x01\x15 \n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\x9a\x01#$\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\x9b\x01\x02/\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\x9b\x01\x02\x1f\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\x9b\x01 *\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\x9b\x01-.\n\x0c\n\x02\x04\x07\x12\x06\x9e\x01\x00\xa1\x01\x01\n\x0b\n\x03\x04\x07\x01\x12\x04\x9e\x01\x08\x19\n\x0c\n\x04\x04\x07\x02\x00\x12\x04\x9f\x01\x02+\n\r\n\x05\x04\x07\x02\x00\x06\x12\x04\x9f\x01\x02\x1c\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\x9f\x01\x1d&\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\x9f\x01)*\n\x0c\n\x04\x04\x07\x02\x01\x12\x04\xa0\x01\x02+\n\r\n\x05\x04\x07\x02\x01\x06\x12\x04\xa0\x01\x02!\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xa0\x01\"&\n\r\n\x05\x04\x07\x02\x01\x03\x12\x04\xa0\x01)*\n/\n\x02\x04\x08\x12\x06\xa4\x01\x00\xac\x01\x01\x1a! View of a Penumbra transaction.\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xa4\x01\x08\x17\n,\n\x04\x04\x08\x02\x00\x12\x04\xa6\x01\x02$\x1a\x1e View of the transaction body\n\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\xa6\x01\x02\x15\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\xa6\x01\x16\x1f\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\xa6\x01\"#\nc\n\x04\x04\x08\x02\x01\x12\x04\xa8\x01\x02;\x1aU The binding signature is stored separately from the transaction body that it signs.\n\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\xa8\x01\x02*\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\xa8\x01+6\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xa8\x019:\n\x84\x01\n\x04\x04\x08\x02\x02\x12\x04\xab\x01\x02&\x1av The root of some previous state of the state commitment tree, used as an anchor for all\n ZK state transition proofs.\n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\xab\x01\x02\x1a\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\xab\x01\x1b!\n\r\n\x05\x04\x08\x02\x02\x03\x12\x04\xab\x01$%\n\x0c\n\x02\x04\t\x12\x06\xae\x01\x00\xb9\x01\x01\n\x0b\n\x03\x04\t\x01\x12\x04\xae\x01\x08\x1b\n[\n\x04\x04\t\x02\x00\x12\x04\xb0\x01\x02\'\x1aM A list views into of actions (state changes) performed by this transaction.\n\n\r\n\x05\x04\t\x02\x00\x04\x12\x04\xb0\x01\x02\n\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\xb0\x01\x0b\x15\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\xb0\x01\x16\"\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\xb0\x01%&\n\'\n\x04\x04\t\x02\x01\x12\x04\xb2\x01\x023\x1a\x19 Transaction parameters.\n\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\xb2\x01\x02\x17\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xb2\x01\x18.\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xb2\x0112\n\x80\x01\n\x04\x04\t\x02\x02\x12\x04\xb5\x01\x02#\x1ar The detection data in this transaction, only populated if\n there are outputs in the actions of this transaction.\n\n\r\n\x05\x04\t\x02\x02\x06\x12\x04\xb5\x01\x02\x0f\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\xb5\x01\x10\x1e\n\r\n\x05\x04\t\x02\x02\x03\x12\x04\xb5\x01!\"\n\x8b\x01\n\x04\x04\t\x02\x03\x12\x04\xb8\x01\x02\x19\x1a} An optional view of a transaction memo. It will only be populated if there are\n outputs in the actions of this transaction.\n\n\r\n\x05\x04\t\x02\x03\x06\x12\x04\xb8\x01\x02\n\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\xb8\x01\x0b\x14\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\xb8\x01\x17\x18\nT\n\x02\x04\n\x12\x06\xbc\x01\x00\xe1\x01\x01\x1aF A view of a specific state change action performed by a transaction.\n\n\x0b\n\x03\x04\n\x01\x12\x04\xbc\x01\x08\x12\n\x0e\n\x04\x04\n\x08\x00\x12\x06\xbd\x01\x02\xe0\x01\x03\n\r\n\x05\x04\n\x08\x00\x01\x12\x04\xbd\x01\x08\x13\n9\n\x04\x04\n\x02\x00\x12\x04\xbf\x01\x043\x1a+ Action types with visible/opaque variants\n\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\xbf\x01\x04(\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xbf\x01).\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xbf\x0112\n\x0c\n\x04\x04\n\x02\x01\x12\x04\xc0\x01\x045\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\xc0\x01\x04)\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xc0\x01*0\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xc0\x0134\n\x0c\n\x04\x04\n\x02\x02\x12\x04\xc1\x01\x04\'\n\r\n\x05\x04\n\x02\x02\x06\x12\x04\xc1\x01\x04\x1d\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xc1\x01\x1e\"\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xc1\x01%&\n\x0c\n\x04\x04\n\x02\x03\x12\x04\xc2\x01\x042\n\r\n\x05\x04\n\x02\x03\x06\x12\x04\xc2\x01\x04\"\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xc2\x01#-\n\r\n\x05\x04\n\x02\x03\x03\x12\x04\xc2\x0101\n<\n\x04\x04\n\x02\x04\x12\x04\xc5\x01\x04E\x1a. Action types without visible/opaque variants\n\n\r\n\x05\x04\n\x02\x04\x06\x12\x04\xc5\x01\x04*\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xc5\x01+?\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xc5\x01BD\n\x0c\n\x04\x04\n\x02\x05\x12\x04\xc6\x01\x044\n\r\n\x05\x04\n\x02\x05\x06\x12\x04\xc6\x01\x04\x1d\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xc6\x01\x1e.\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xc6\x0113\n\x1b\n\x04\x04\n\x02\x06\x12\x04\xc9\x01\x04@\x1a\r Governance:\n\n\r\n\x05\x04\n\x02\x06\x06\x12\x04\xc9\x01\x04*\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\xc9\x01+:\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xc9\x01=?\n\x0c\n\x04\x04\n\x02\x07\x12\x04\xca\x01\x04D\n\r\n\x05\x04\n\x02\x07\x06\x12\x04\xca\x01\x04,\n\r\n\x05\x04\n\x02\x07\x01\x12\x04\xca\x01->\n\r\n\x05\x04\n\x02\x07\x03\x12\x04\xca\x01AC\n\x0c\n\x04\x04\n\x02\x08\x12\x04\xcb\x01\x04>\n\r\n\x05\x04\n\x02\x08\x06\x12\x04\xcb\x01\x04)\n\r\n\x05\x04\n\x02\x08\x01\x12\x04\xcb\x01*8\n\r\n\x05\x04\n\x02\x08\x03\x12\x04\xcb\x01;=\n\x0c\n\x04\x04\n\x02\t\x12\x04\xcc\x01\x04B\n\r\n\x05\x04\n\x02\t\x06\x12\x04\xcc\x01\x04-\n\r\n\x05\x04\n\x02\t\x01\x12\x04\xcc\x01.<\n\r\n\x05\x04\n\x02\t\x03\x12\x04\xcc\x01?A\n\x0c\n\x04\x04\n\x02\n\x12\x04\xcd\x01\x04M\n\r\n\x05\x04\n\x02\n\x06\x12\x04\xcd\x01\x040\n\r\n\x05\x04\n\x02\n\x01\x12\x04\xcd\x011G\n\r\n\x05\x04\n\x02\n\x03\x12\x04\xcd\x01JL\n\x0c\n\x04\x04\n\x02\x0b\x12\x04\xcf\x01\x045\n\r\n\x05\x04\n\x02\x0b\x06\x12\x04\xcf\x01\x04!\n\r\n\x05\x04\n\x02\x0b\x01\x12\x04\xcf\x01\"/\n\r\n\x05\x04\n\x02\x0b\x03\x12\x04\xcf\x0124\n\x0c\n\x04\x04\n\x02\x0c\x12\x04\xd0\x01\x047\n\r\n\x05\x04\n\x02\x0c\x06\x12\x04\xd0\x01\x04\"\n\r\n\x05\x04\n\x02\x0c\x01\x12\x04\xd0\x01#1\n\r\n\x05\x04\n\x02\x0c\x03\x12\x04\xd0\x0146\n\x0c\n\x04\x04\n\x02\r\x12\x04\xd1\x01\x04=\n\r\n\x05\x04\n\x02\r\x06\x12\x04\xd1\x01\x04%\n\r\n\x05\x04\n\x02\r\x01\x12\x04\xd1\x01&7\n\r\n\x05\x04\n\x02\r\x03\x12\x04\xd1\x01:<\n\x0c\n\x04\x04\n\x02\x0e\x12\x04\xd2\x01\x04X\n\r\n\x05\x04\n\x02\x0e\x06\x12\x04\xd2\x01\x04(\n\r\n\x05\x04\n\x02\x0e\x01\x12\x04\xd2\x01)>\n\r\n\x05\x04\n\x02\x0e\x03\x12\x04\xd2\x01AC\n\r\n\x05\x04\n\x02\x0e\x08\x12\x04\xd2\x01DW\n\x0e\n\x06\x04\n\x02\x0e\x08\x03\x12\x04\xd2\x01EV\n\x0c\n\x04\x04\n\x02\x0f\x12\x04\xd4\x01\x04.\n\r\n\x05\x04\n\x02\x0f\x06\x12\x04\xd4\x01\x04\x1f\n\r\n\x05\x04\n\x02\x0f\x01\x12\x04\xd4\x01 (\n\r\n\x05\x04\n\x02\x0f\x03\x12\x04\xd4\x01+-\n\x0c\n\x04\x04\n\x02\x10\x12\x04\xd5\x01\x042\n\r\n\x05\x04\n\x02\x10\x06\x12\x04\xd5\x01\x04!\n\r\n\x05\x04\n\x02\x10\x01\x12\x04\xd5\x01\",\n\r\n\x05\x04\n\x02\x10\x03\x12\x04\xd5\x01/1\n\x1e\n\x04\x04\n\x02\x11\x12\x04\xd7\x01\x04I\x1a\x10 Community Pool\n\n\r\n\x05\x04\n\x02\x11\x06\x12\x04\xd7\x01\x04.\n\r\n\x05\x04\n\x02\x11\x01\x12\x04\xd7\x01/C\n\r\n\x05\x04\n\x02\x11\x03\x12\x04\xd7\x01FH\n\x0c\n\x04\x04\n\x02\x12\x12\x04\xd8\x01\x04K\n\r\n\x05\x04\n\x02\x12\x06\x12\x04\xd8\x01\x04/\n\r\n\x05\x04\n\x02\x12\x01\x12\x04\xd8\x010E\n\r\n\x05\x04\n\x02\x12\x03\x12\x04\xd8\x01HJ\n\x0c\n\x04\x04\n\x02\x13\x12\x04\xd9\x01\x04M\n\r\n\x05\x04\n\x02\x13\x06\x12\x04\xd9\x01\x040\n\r\n\x05\x04\n\x02\x13\x01\x12\x04\xd9\x011G\n\r\n\x05\x04\n\x02\x13\x03\x12\x04\xd9\x01JL\n\xc4\x01\n\x04\x04\n\x02\x14\x12\x04\xde\x01\x04=\x1a\xb5\x01 TODO: we have no way to recover the opening of the undelegate_claim\'s\n balance commitment, and can only infer the value from looking at the rest\n of the transaction. is that fine?\n\n\r\n\x05\x04\n\x02\x14\x06\x12\x04\xde\x01\x04&\n\r\n\x05\x04\n\x02\x14\x01\x12\x04\xde\x01\'7\n\r\n\x05\x04\n\x02\x14\x03\x12\x04\xde\x01:<\n\x0c\n\x04\x04\n\x02\x15\x12\x04\xdf\x01\x04<\n\r\n\x05\x04\n\x02\x15\x06\x12\x04\xdf\x01\x04$\n\r\n\x05\x04\n\x02\x15\x01\x12\x04\xdf\x01%5\n\r\n\x05\x04\n\x02\x15\x03\x12\x04\xdf\x018;\nB\n\x02\x04\x0b\x12\x06\xe4\x01\x00\xed\x01\x01\x1a4 The data required to authorize a transaction plan.\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\xe4\x01\x08\x19\nI\n\x04\x04\x0b\x02\x00\x12\x04\xe6\x01\x02,\x1a; The computed auth hash for the approved transaction plan.\n\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\xe6\x01\x02\x1b\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xe6\x01\x1c\'\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xe6\x01*+\n|\n\x04\x04\x0b\x02\x01\x12\x04\xe9\x01\x02F\x1an The required spend authorizations, returned in the same order as the\n Spend actions in the original request.\n\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xe9\x01\x02\n\n\r\n\x05\x04\x0b\x02\x01\x06\x12\x04\xe9\x01\x0b5\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xe9\x016A\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xe9\x01DE\n\x8d\x01\n\x04\x04\x0b\x02\x02\x12\x04\xec\x01\x02O\x1a\x7f The required delegator vote authorizations, returned in the same order as the\n DelegatorVote actions in the original request.\n\n\r\n\x05\x04\x0b\x02\x02\x04\x12\x04\xec\x01\x02\n\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\xec\x01\x0b5\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xec\x016J\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xec\x01MN\nV\n\x02\x04\x0c\x12\x06\xf0\x01\x00\xf6\x01\x01\x1aH The data required for proving when building a transaction from a plan.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xf0\x01\x08\x13\n;\n\x04\x04\x0c\x02\x00\x12\x04\xf2\x01\x02&\x1a- The anchor for the state transition proofs.\n\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xf2\x01\x02\x1a\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xf2\x01\x1b!\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xf2\x01$%\n~\n\x04\x04\x0c\x02\x01\x12\x04\xf5\x01\x02J\x1ap The auth paths for the notes the transaction spends, in the\n same order as the spends in the transaction plan.\n\n\r\n\x05\x04\x0c\x02\x01\x04\x12\x04\xf5\x01\x02\n\n\r\n\x05\x04\x0c\x02\x01\x06\x12\x04\xf5\x01\x0b-\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xf5\x01.E\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xf5\x01HI\n\xd5\x02\n\x02\x04\r\x12\x06\xfd\x01\x00\x86\x02\x01\x1a\xc6\x02 Describes a planned transaction. Permits clients to prepare a transaction\n prior submission, so that a user can review it prior to authorizing its execution.\n\n The `TransactionPlan` is a fully determined bundle binding all of a transaction\'s effects.\n The only thing it does not include is the witness data used for proving.\n\n\x0b\n\x03\x04\r\x01\x12\x04\xfd\x01\x08\x17\nE\n\x04\x04\r\x02\x00\x12\x04\xff\x01\x02\"\x1a7 The sequence of actions planned for this transaction.\n\n\r\n\x05\x04\r\x02\x00\x04\x12\x04\xff\x01\x02\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xff\x01\x0b\x15\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xff\x01\x16\x1d\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xff\x01 !\nY\n\x04\x04\r\x02\x01\x12\x04\x81\x02\x023\x1aK Parameters determining if a transaction should be accepted by this chain.\n\n\r\n\x05\x04\r\x02\x01\x06\x12\x04\x81\x02\x02\x17\n\r\n\x05\x04\r\x02\x01\x01\x12\x04\x81\x02\x18.\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\x81\x0212\nC\n\x04\x04\r\x02\x02\x12\x04\x83\x02\x02\'\x1a5 Detection data for use with Fuzzy Message Detection\n\n\r\n\x05\x04\r\x02\x02\x06\x12\x04\x83\x02\x02\x13\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\x83\x02\x14\"\n\r\n\x05\x04\r\x02\x02\x03\x12\x04\x83\x02%&\n3\n\x04\x04\r\x02\x03\x12\x04\x85\x02\x02\x14\x1a% The memo plan for this transaction.\n\n\r\n\x05\x04\r\x02\x03\x06\x12\x04\x85\x02\x02\n\n\r\n\x05\x04\r\x02\x03\x01\x12\x04\x85\x02\x0b\x0f\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\x85\x02\x12\x13\n\x0c\n\x02\x04\x0e\x12\x06\x88\x02\x00\x8a\x02\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\x88\x02\x08\x19\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\x89\x02\x02#\n\r\n\x05\x04\x0e\x02\x00\x04\x12\x04\x89\x02\x02\n\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\x89\x02\x0b\x13\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x89\x02\x14\x1e\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x89\x02!\"\n\x9b\x01\n\x02\x04\x0f\x12\x06\x90\x02\x00\xb8\x02\x01\x1a\x8c\x01 Describes a planned transaction action.\n\n Some transaction Actions don\'t have any private data and are treated as being plans\n themselves.\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\x90\x02\x08\x12\n\x0e\n\x04\x04\x0f\x08\x00\x12\x06\x91\x02\x02\xb7\x02\x03\n\r\n\x05\x04\x0f\x08\x00\x01\x12\x04\x91\x02\x08\x0e\n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\x92\x02\x043\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\x92\x02\x04(\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\x92\x02).\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\x92\x0212\n\x0c\n\x04\x04\x0f\x02\x01\x12\x04\x93\x02\x045\n\r\n\x05\x04\x0f\x02\x01\x06\x12\x04\x93\x02\x04)\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\x93\x02*0\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\x93\x0234\n\x0c\n\x04\x04\x0f\x02\x02\x12\x04\x94\x02\x04\'\n\r\n\x05\x04\x0f\x02\x02\x06\x12\x04\x94\x02\x04\x1d\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\x94\x02\x1e\"\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\x94\x02%&\n\x0c\n\x04\x04\x0f\x02\x03\x12\x04\x95\x02\x042\n\r\n\x05\x04\x0f\x02\x03\x06\x12\x04\x95\x02\x04\"\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\x95\x02#-\n\r\n\x05\x04\x0f\x02\x03\x03\x12\x04\x95\x0201\n<\n\x04\x04\x0f\x02\x04\x12\x04\x98\x02\x04E\x1a. This is just a message relayed to the chain.\n\n\r\n\x05\x04\x0f\x02\x04\x06\x12\x04\x98\x02\x04*\n\r\n\x05\x04\x0f\x02\x04\x01\x12\x04\x98\x02+?\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\x98\x02BD\n<\n\x04\x04\x0f\x02\x05\x12\x04\x9a\x02\x044\x1a. This is just a message relayed to the chain.\n\n\r\n\x05\x04\x0f\x02\x05\x06\x12\x04\x9a\x02\x04\x1d\n\r\n\x05\x04\x0f\x02\x05\x01\x12\x04\x9a\x02\x1e.\n\r\n\x05\x04\x0f\x02\x05\x03\x12\x04\x9a\x0213\n\x1b\n\x04\x04\x0f\x02\x06\x12\x04\x9c\x02\x04@\x1a\r Governance:\n\n\r\n\x05\x04\x0f\x02\x06\x06\x12\x04\x9c\x02\x04*\n\r\n\x05\x04\x0f\x02\x06\x01\x12\x04\x9c\x02+:\n\r\n\x05\x04\x0f\x02\x06\x03\x12\x04\x9c\x02=?\n\x0c\n\x04\x04\x0f\x02\x07\x12\x04\x9d\x02\x04D\n\r\n\x05\x04\x0f\x02\x07\x06\x12\x04\x9d\x02\x04,\n\r\n\x05\x04\x0f\x02\x07\x01\x12\x04\x9d\x02->\n\r\n\x05\x04\x0f\x02\x07\x03\x12\x04\x9d\x02AC\n\x0c\n\x04\x04\x0f\x02\x08\x12\x04\x9e\x02\x04>\n\r\n\x05\x04\x0f\x02\x08\x06\x12\x04\x9e\x02\x04)\n\r\n\x05\x04\x0f\x02\x08\x01\x12\x04\x9e\x02*8\n\r\n\x05\x04\x0f\x02\x08\x03\x12\x04\x9e\x02;=\n\x0c\n\x04\x04\x0f\x02\t\x12\x04\x9f\x02\x04B\n\r\n\x05\x04\x0f\x02\t\x06\x12\x04\x9f\x02\x04-\n\r\n\x05\x04\x0f\x02\t\x01\x12\x04\x9f\x02.<\n\r\n\x05\x04\x0f\x02\t\x03\x12\x04\x9f\x02?A\n\x0c\n\x04\x04\x0f\x02\n\x12\x04\xa0\x02\x04M\n\r\n\x05\x04\x0f\x02\n\x06\x12\x04\xa0\x02\x040\n\r\n\x05\x04\x0f\x02\n\x01\x12\x04\xa0\x021G\n\r\n\x05\x04\x0f\x02\n\x03\x12\x04\xa0\x02JL\n\x0c\n\x04\x04\x0f\x02\x0b\x12\x04\xa2\x02\x04<\n\r\n\x05\x04\x0f\x02\x0b\x06\x12\x04\xa2\x02\x04$\n\r\n\x05\x04\x0f\x02\x0b\x01\x12\x04\xa2\x02%5\n\r\n\x05\x04\x0f\x02\x0b\x03\x12\x04\xa2\x028;\n\x0c\n\x04\x04\x0f\x02\x0c\x12\x04\xa4\x02\x045\n\r\n\x05\x04\x0f\x02\x0c\x06\x12\x04\xa4\x02\x04!\n\r\n\x05\x04\x0f\x02\x0c\x01\x12\x04\xa4\x02\"/\n\r\n\x05\x04\x0f\x02\x0c\x03\x12\x04\xa4\x0224\n\x0c\n\x04\x04\x0f\x02\r\x12\x04\xa5\x02\x047\n\r\n\x05\x04\x0f\x02\r\x06\x12\x04\xa5\x02\x04\"\n\r\n\x05\x04\x0f\x02\r\x01\x12\x04\xa5\x02#1\n\r\n\x05\x04\x0f\x02\r\x03\x12\x04\xa5\x0246\no\n\x04\x04\x0f\x02\x0e\x12\x04\xa8\x02\x04A\x1aa The position withdraw/reward claim actions require balance information so they have Plan types.\n\n\r\n\x05\x04\x0f\x02\x0e\x06\x12\x04\xa8\x02\x04)\n\r\n\x05\x04\x0f\x02\x0e\x01\x12\x04\xa8\x02*;\n\r\n\x05\x04\x0f\x02\x0e\x03\x12\x04\xa8\x02>@\n\x0c\n\x04\x04\x0f\x02\x0f\x12\x04\xa9\x02\x04\\\n\r\n\x05\x04\x0f\x02\x0f\x06\x12\x04\xa9\x02\x04,\n\r\n\x05\x04\x0f\x02\x0f\x01\x12\x04\xa9\x02-B\n\r\n\x05\x04\x0f\x02\x0f\x03\x12\x04\xa9\x02EG\n\r\n\x05\x04\x0f\x02\x0f\x08\x12\x04\xa9\x02H[\n\x0e\n\x06\x04\x0f\x02\x0f\x08\x03\x12\x04\xa9\x02IZ\n\x7f\n\x04\x04\x0f\x02\x10\x12\x04\xad\x02\x04.\x1aq We don\'t need any extra information (yet) to understand delegations,\n because we don\'t yet use flow encryption.\n\n\r\n\x05\x04\x0f\x02\x10\x06\x12\x04\xad\x02\x04\x1f\n\r\n\x05\x04\x0f\x02\x10\x01\x12\x04\xad\x02 (\n\r\n\x05\x04\x0f\x02\x10\x03\x12\x04\xad\x02+-\n\x81\x01\n\x04\x04\x0f\x02\x11\x12\x04\xb0\x02\x042\x1as We don\'t need any extra information (yet) to understand undelegations,\n because we don\'t yet use flow encryption.\n\n\r\n\x05\x04\x0f\x02\x11\x06\x12\x04\xb0\x02\x04!\n\r\n\x05\x04\x0f\x02\x11\x01\x12\x04\xb0\x02\",\n\r\n\x05\x04\x0f\x02\x11\x03\x12\x04\xb0\x02/1\n\x0c\n\x04\x04\x0f\x02\x12\x12\x04\xb1\x02\x04A\n\r\n\x05\x04\x0f\x02\x12\x06\x12\x04\xb1\x02\x04*\n\r\n\x05\x04\x0f\x02\x12\x01\x12\x04\xb1\x02+;\n\r\n\x05\x04\x0f\x02\x12\x03\x12\x04\xb1\x02>@\n\x1e\n\x04\x04\x0f\x02\x13\x12\x04\xb4\x02\x04I\x1a\x10 Community Pool\n\n\r\n\x05\x04\x0f\x02\x13\x06\x12\x04\xb4\x02\x04.\n\r\n\x05\x04\x0f\x02\x13\x01\x12\x04\xb4\x02/C\n\r\n\x05\x04\x0f\x02\x13\x03\x12\x04\xb4\x02FH\n\x0c\n\x04\x04\x0f\x02\x14\x12\x04\xb5\x02\x04K\n\r\n\x05\x04\x0f\x02\x14\x06\x12\x04\xb5\x02\x04/\n\r\n\x05\x04\x0f\x02\x14\x01\x12\x04\xb5\x020E\n\r\n\x05\x04\x0f\x02\x14\x03\x12\x04\xb5\x02HJ\n\x0c\n\x04\x04\x0f\x02\x15\x12\x04\xb6\x02\x04M\n\r\n\x05\x04\x0f\x02\x15\x06\x12\x04\xb6\x02\x040\n\r\n\x05\x04\x0f\x02\x15\x01\x12\x04\xb6\x021G\n\r\n\x05\x04\x0f\x02\x15\x03\x12\x04\xb6\x02JL\n6\n\x02\x04\x10\x12\x06\xbb\x02\x00\xc2\x02\x01\x1a( Describes a plan for forming a `Clue`.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xbb\x02\x08\x10\n\x1c\n\x04\x04\x10\x02\x00\x12\x04\xbd\x02\x02\x1e\x1a\x0e The address.\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xbd\x02\x02\x11\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xbd\x02\x12\x19\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xbd\x02\x1c\x1d\n9\n\x04\x04\x10\x02\x01\x12\x04\xbf\x02\x02\x12\x1a+ The random seed to use for the clue plan.\n\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\xbf\x02\x02\x07\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xbf\x02\x08\r\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xbf\x02\x10\x11\n&\n\x04\x04\x10\x02\x02\x12\x04\xc1\x02\x02\x1c\x1a\x18 The bits of precision.\n\n\r\n\x05\x04\x10\x02\x02\x05\x12\x04\xc1\x02\x02\x08\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\xc1\x02\t\x17\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\xc1\x02\x1a\x1b\nB\n\x02\x04\x11\x12\x06\xc5\x02\x00\xca\x02\x01\x1a4 Describes a plan for forming the transaction memo.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xc5\x02\x08\x10\n\x1e\n\x04\x04\x11\x02\x00\x12\x04\xc7\x02\x02\x1e\x1a\x10 The plaintext.\n\n\r\n\x05\x04\x11\x02\x00\x06\x12\x04\xc7\x02\x02\x0f\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xc7\x02\x10\x19\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xc7\x02\x1c\x1d\n3\n\x04\x04\x11\x02\x01\x12\x04\xc9\x02\x02\x10\x1a% The key to use to encrypt the memo.\n\n\r\n\x05\x04\x11\x02\x01\x05\x12\x04\xc9\x02\x02\x07\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xc9\x02\x08\x0b\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xc9\x02\x0e\x0f\nb\n\x02\x04\x12\x12\x06\xcd\x02\x00\xd0\x02\x01\x1aT The encrypted memo data describing information about the purpose of a transaction.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\xcd\x02\x08\x16\n.\n\x04\x04\x12\x02\x00\x12\x04\xcf\x02\x02\x12\x1a  The encrypted data. 528 bytes.\n\n\r\n\x05\x04\x12\x02\x00\x05\x12\x04\xcf\x02\x02\x07\n\r\n\x05\x04\x12\x02\x00\x01\x12\x04\xcf\x02\x08\r\n\r\n\x05\x04\x12\x02\x00\x03\x12\x04\xcf\x02\x10\x11\nX\n\x02\x04\x13\x12\x06\xd3\x02\x00\xdb\x02\x01\x1aJ The plaintext describing information about the purpose of a transaction.\n\n\x0b\n\x03\x04\x13\x01\x12\x04\xd3\x02\x08\x15\n\xc9\x01\n\x04\x04\x13\x02\x00\x12\x04\xd8\x02\x02%\x1a\xba\x01 The sender\'s return address.\n\n This should always be a valid address; the sender is responsible for ensuring\n that if the receiver returns funds to this address, they will not be lost.\n\n\r\n\x05\x04\x13\x02\x00\x06\x12\x04\xd8\x02\x02\x11\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\xd8\x02\x12 \n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\xd8\x02#$\n5\n\x04\x04\x13\x02\x01\x12\x04\xda\x02\x02\x12\x1a\' Free-form text, up to 432 bytes long.\n\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\xda\x02\x02\x08\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xda\x02\t\r\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xda\x02\x10\x11\n\x0c\n\x02\x04\x14\x12\x06\xdd\x02\x00\xe0\x02\x01\n\x0b\n\x03\x04\x14\x01\x12\x04\xdd\x02\x08\x19\n\x0c\n\x04\x04\x14\x02\x00\x12\x04\xde\x02\x02)\n\r\n\x05\x04\x14\x02\x00\x06\x12\x04\xde\x02\x02\x15\n\r\n\x05\x04\x14\x02\x00\x01\x12\x04\xde\x02\x16$\n\r\n\x05\x04\x14\x02\x00\x03\x12\x04\xde\x02\'(\n\x0c\n\x04\x04\x14\x02\x01\x12\x04\xdf\x02\x02\x12\n\r\n\x05\x04\x14\x02\x01\x05\x12\x04\xdf\x02\x02\x08\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\xdf\x02\t\r\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xdf\x02\x10\x11\n\x0c\n\x02\x04\x15\x12\x06\xe2\x02\x00\xef\x02\x01\n\x0b\n\x03\x04\x15\x01\x12\x04\xe2\x02\x08\x10\n\x0e\n\x04\x04\x15\x03\x00\x12\x06\xe3\x02\x02\xe6\x02\x03\n\r\n\x05\x04\x15\x03\x00\x01\x12\x04\xe3\x02\n\x11\n\x0e\n\x06\x04\x15\x03\x00\x02\x00\x12\x04\xe4\x02\x04\"\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x06\x12\x04\xe4\x02\x04\x12\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x01\x12\x04\xe4\x02\x13\x1d\n\x0f\n\x07\x04\x15\x03\x00\x02\x00\x03\x12\x04\xe4\x02 !\n\x0e\n\x06\x04\x15\x03\x00\x02\x01\x12\x04\xe5\x02\x04$\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x06\x12\x04\xe5\x02\x04\x15\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x01\x12\x04\xe5\x02\x16\x1f\n\x0f\n\x07\x04\x15\x03\x00\x02\x01\x03\x12\x04\xe5\x02\"#\n\x0e\n\x04\x04\x15\x03\x01\x12\x06\xe8\x02\x02\xea\x02\x03\n\r\n\x05\x04\x15\x03\x01\x01\x12\x04\xe8\x02\n\x10\n\x0e\n\x06\x04\x15\x03\x01\x02\x00\x12\x04\xe9\x02\x04\"\n\x0f\n\x07\x04\x15\x03\x01\x02\x00\x06\x12\x04\xe9\x02\x04\x12\n\x0f\n\x07\x04\x15\x03\x01\x02\x00\x01\x12\x04\xe9\x02\x13\x1d\n\x0f\n\x07\x04\x15\x03\x01\x02\x00\x03\x12\x04\xe9\x02 !\n\x0e\n\x04\x04\x15\x08\x00\x12\x06\xeb\x02\x02\xee\x02\x03\n\r\n\x05\x04\x15\x08\x00\x01\x12\x04\xeb\x02\x08\x11\n\x0c\n\x04\x04\x15\x02\x00\x12\x04\xec\x02\x04\x18\n\r\n\x05\x04\x15\x02\x00\x06\x12\x04\xec\x02\x04\x0b\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\xec\x02\x0c\x13\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\xec\x02\x16\x17\n\x0c\n\x04\x04\x15\x02\x01\x12\x04\xed\x02\x04\x16\n\r\n\x05\x04\x15\x02\x01\x06\x12\x04\xed\x02\x04\n\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xed\x02\x0b\x11\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\xed\x02\x14\x15b\x06proto3\n\xf12\n\x1epenumbra/core/app/v1/app.proto\x12\x14penumbra.core.app.v1\x1a>penumbra/core/component/community_pool/v1/community_pool.proto\x1a(penumbra/core/component/dex/v1/dex.proto\x1a<penumbra/core/component/distributions/v1/distributions.proto\x1a(penumbra/core/component/fee/v1/fee.proto\x1a0penumbra/core/component/funding/v1/funding.proto\x1a6penumbra/core/component/governance/v1/governance.proto\x1a(penumbra/core/component/ibc/v1/ibc.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a<penumbra/core/component/shielded_pool/v1/shielded_pool.proto\x1a,penumbra/core/component/stake/v1/stake.proto\x1a.penumbra/core/transaction/v1/transaction.proto\"@\n\x1bTransactionsByHeightRequest\x12!\n\x0cblock_height\x18\x02 \x01(\x04R\x0bblockHeight\"\x90\x01\n\x1cTransactionsByHeightResponse\x12M\n\x0ctransactions\x18\x01 \x03(\x0b2).penumbra.core.transaction.v1.TransactionR\x0ctransactions\x12!\n\x0cblock_height\x18\x02 \x01(\x04R\x0bblockHeight\"\xe2\x07\n\rAppParameters\x12\x19\n\x08chain_id\x18\x01 \x01(\tR\x07chainId\x12L\n\nsct_params\x18\x02 \x01(\x0b2-.penumbra.core.component.sct.v1.SctParametersR\tsctParams\x12v\n\x15community_pool_params\x18\x03 \x01(\x0b2B.penumbra.core.component.community_pool.v1.CommunityPoolParametersR\x13communityPoolParams\x12h\n\x11governance_params\x18\x04 \x01(\x0b2;.penumbra.core.component.governance.v1.GovernanceParametersR\x10governanceParams\x12L\n\nibc_params\x18\x05 \x01(\x0b2-.penumbra.core.component.ibc.v1.IbcParametersR\tibcParams\x12T\n\x0cstake_params\x18\x06 \x01(\x0b21.penumbra.core.component.stake.v1.StakeParametersR\x0bstakeParams\x12L\n\nfee_params\x18\x07 \x01(\x0b2-.penumbra.core.component.fee.v1.FeeParametersR\tfeeParams\x12t\n\x14distributions_params\x18\x08 \x01(\x0b2A.penumbra.core.component.distributions.v1.DistributionsParametersR\x13distributionsParams\x12\\\n\x0efunding_params\x18\t \x01(\x0b25.penumbra.core.component.funding.v1.FundingParametersR\rfundingParams\x12r\n\x14shielded_pool_params\x18\n \x01(\x0b2@.penumbra.core.component.shielded_pool.v1.ShieldedPoolParametersR\x12shieldedPoolParams\x12L\n\ndex_params\x18\x0b \x01(\x0b2-.penumbra.core.component.dex.v1.DexParametersR\tdexParams\"\x16\n\x14AppParametersRequest\"c\n\x15AppParametersResponse\x12J\n\x0eapp_parameters\x18\x01 \x01(\x0b2#.penumbra.core.app.v1.AppParametersR\rappParameters\"\xa8\x01\n\x0fGenesisAppState\x12O\n\x0fgenesis_content\x18\x01 \x01(\x0b2$.penumbra.core.app.v1.GenesisContentH\x00R\x0egenesisContent\x12/\n\x12genesis_checkpoint\x18\x02 \x01(\x0cH\x00R\x11genesisCheckpointB\x13\n\x11genesis_app_state\"\xd7\x07\n\x0eGenesisContent\x12\x19\n\x08chain_id\x18\x01 \x01(\tR\x07chainId\x12U\n\rstake_content\x18\x02 \x01(\x0b20.penumbra.core.component.stake.v1.GenesisContentR\x0cstakeContent\x12l\n\x15shielded_pool_content\x18\x03 \x01(\x0b28.penumbra.core.component.shielded_pool.v1.GenesisContentR\x13shieldedPoolContent\x12d\n\x12governance_content\x18\x04 \x01(\x0b25.penumbra.core.component.governance.v1.GenesisContentR\x11governanceContent\x12O\n\x0bibc_content\x18\x05 \x01(\x0b2..penumbra.core.component.ibc.v1.GenesisContentR\nibcContent\x12O\n\x0bsct_content\x18\x06 \x01(\x0b2..penumbra.core.component.sct.v1.GenesisContentR\nsctContent\x12o\n\x16community_pool_content\x18\x07 \x01(\x0b29.penumbra.core.component.community_pool.v1.GenesisContentR\x14communityPoolContent\x12O\n\x0bfee_content\x18\x08 \x01(\x0b2..penumbra.core.component.fee.v1.GenesisContentR\nfeeContent\x12m\n\x15distributions_content\x18\t \x01(\x0b28.penumbra.core.component.distributions.v1.GenesisContentR\x14distributionsContent\x12[\n\x0ffunding_content\x18\n \x01(\x0b22.penumbra.core.component.funding.v1.GenesisContentR\x0efundingContent\x12O\n\x0bdex_content\x18\x0b \x01(\x0b2..penumbra.core.component.dex.v1.GenesisContentR\ndexContent2\xf7\x01\n\x0cQueryService\x12h\n\rAppParameters\x12*.penumbra.core.app.v1.AppParametersRequest\x1a+.penumbra.core.app.v1.AppParametersResponse\x12}\n\x14TransactionsByHeight\x121.penumbra.core.app.v1.TransactionsByHeightRequest\x1a2.penumbra.core.app.v1.TransactionsByHeightResponseJ\xce\x18\n\x06\x12\x04\x00\x00c\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1d\n\t\n\x02\x03\x00\x12\x03\x03\x00H\n\t\n\x02\x03\x01\x12\x03\x04\x002\n\t\n\x02\x03\x02\x12\x03\x05\x00F\n\t\n\x02\x03\x03\x12\x03\x06\x002\n\t\n\x02\x03\x04\x12\x03\x07\x00:\n\t\n\x02\x03\x05\x12\x03\x08\x00@\n\t\n\x02\x03\x06\x12\x03\t\x002\n\t\n\x02\x03\x07\x12\x03\n\x002\n\t\n\x02\x03\x08\x12\x03\x0b\x00F\n\t\n\x02\x03\t\x12\x03\x0c\x006\n\t\n\x02\x03\n\x12\x03\r\x008\nD\n\x02\x06\x00\x12\x04\x10\x00\x15\x01\x1a8 Query operations for the overall Penumbra application.\n\n\n\n\x03\x06\x00\x01\x12\x03\x10\x08\x14\n\'\n\x04\x06\x00\x02\x00\x12\x03\x12\x02J\x1a\x1a Gets the app parameters.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x12\x06\x13\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x12\x14(\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x123H\nT\n\x04\x06\x00\x02\x01\x12\x03\x14\x02_\x1aG Returns the CometBFT transactions that occurred during a given block.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x14\x06\x1a\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x14\x1b6\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x14A]\nW\n\x02\x04\x00\x12\x04\x18\x00\x1b\x01\x1aK Requests the list of all transactions that occurred within a given block.\n\n\n\n\x03\x04\x00\x01\x12\x03\x18\x08#\n,\n\x04\x04\x00\x02\x00\x12\x03\x1a\x02\x1a\x1a\x1f The block height to retrieve.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x1a\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x1a\t\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x1a\x18\x19\n?\n\x02\x04\x01\x12\x04\x1e\x00#\x01\x1a3 A transaction that appeared within a given block.\n\n\n\n\x03\x04\x01\x01\x12\x03\x1e\x08$\n \n\x04\x04\x01\x02\x00\x12\x03 \x02<\x1a\x13 The transactions.\n\n\x0c\n\x05\x04\x01\x02\x00\x04\x12\x03 \x02\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03 \x0b*\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03 +7\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03 :;\n \n\x04\x04\x01\x02\x01\x12\x03\"\x02\x1a\x1a\x13 The block height.\n\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\x15\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\"\x18\x19\n\n\n\x02\x04\x02\x12\x04%\x00<\x01\n\n\n\x03\x04\x02\x01\x12\x03%\x08\x15\n$\n\x04\x04\x02\x02\x00\x12\x03\'\x02\x16\x1a\x17 The chain identifier.\n\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\x11\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\'\x14\x15\n%\n\x04\x04\x02\x02\x01\x12\x03)\x025\x1a\x18 Sct module parameters.\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03)\x02%\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03)&0\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03)34\n0\n\x04\x04\x02\x02\x02\x12\x03+\x02U\x1a# Community Pool module parameters.\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03+\x02:\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03+;P\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03+ST\n,\n\x04\x04\x02\x02\x03\x12\x03-\x02J\x1a\x1f Governance module parameters.\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03-\x023\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03-4E\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03-HI\n%\n\x04\x04\x02\x02\x04\x12\x03/\x025\x1a\x18 IBC module parameters.\n\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03/\x02%\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03/&0\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03/34\n\'\n\x04\x04\x02\x02\x05\x12\x031\x02;\x1a\x1a Stake module parameters.\n\n\x0c\n\x05\x04\x02\x02\x05\x06\x12\x031\x02)\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x031*6\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x0319:\n%\n\x04\x04\x02\x02\x06\x12\x033\x025\x1a\x18 Fee module parameters.\n\n\x0c\n\x05\x04\x02\x02\x06\x06\x12\x033\x02%\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x033&0\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03334\n/\n\x04\x04\x02\x02\x07\x12\x035\x02S\x1a\" Distributions module parameters.\n\n\x0c\n\x05\x04\x02\x02\x07\x06\x12\x035\x029\n\x0c\n\x05\x04\x02\x02\x07\x01\x12\x035:N\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x035QR\n)\n\x04\x04\x02\x02\x08\x12\x037\x02A\x1a\x1c Funding module parameters.\n\n\x0c\n\x05\x04\x02\x02\x08\x06\x12\x037\x02-\n\x0c\n\x05\x04\x02\x02\x08\x01\x12\x037.<\n\x0c\n\x05\x04\x02\x02\x08\x03\x12\x037?@\n/\n\x04\x04\x02\x02\t\x12\x039\x02S\x1a\" Shielded pool module parameters.\n\n\x0c\n\x05\x04\x02\x02\t\x06\x12\x039\x028\n\x0c\n\x05\x04\x02\x02\t\x01\x12\x0399M\n\x0c\n\x05\x04\x02\x02\t\x03\x12\x039PR\n%\n\x04\x04\x02\x02\n\x12\x03;\x026\x1a\x18 DEX module parameters.\n\n\x0c\n\x05\x04\x02\x02\n\x06\x12\x03;\x02%\n\x0c\n\x05\x04\x02\x02\n\x01\x12\x03;&0\n\x0c\n\x05\x04\x02\x02\n\x03\x12\x03;35\n@\n\x02\x04\x03\x12\x03?\x00\x1f\x1a5 Requests the global configuration data for the app.\n\n\n\n\x03\x04\x03\x01\x12\x03?\x08\x1c\n\n\n\x02\x04\x04\x12\x04A\x00C\x01\n\n\n\x03\x04\x04\x01\x12\x03A\x08\x1d\n\x0b\n\x04\x04\x04\x02\x00\x12\x03B\x02#\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03B\x02\x0f\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03B\x10\x1e\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03B!\"\n\n\n\x02\x04\x05\x12\x04E\x00J\x01\n\n\n\x03\x04\x05\x01\x12\x03E\x08\x17\n\x0c\n\x04\x04\x05\x08\x00\x12\x04F\x02I\x03\n\x0c\n\x05\x04\x05\x08\x00\x01\x12\x03F\x08\x19\n\x0b\n\x04\x04\x05\x02\x00\x12\x03G\x04\'\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03G\x04\x12\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03G\x13\"\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03G%&\n\x0b\n\x04\x04\x05\x02\x01\x12\x03H\x04!\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03H\x04\t\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03H\n\x1c\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03H\x1f \n\n\n\x02\x04\x06\x12\x04L\x00c\x01\n\n\n\x03\x04\x06\x01\x12\x03L\x08\x16\n,\n\x04\x04\x06\x02\x00\x12\x03N\x02\x16\x1a\x1f The initial chain identifier.\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03N\x02\x08\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03N\t\x11\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03N\x14\x15\n*\n\x04\x04\x06\x02\x01\x12\x03P\x02;\x1a\x1d Stake module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03P\x02(\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03P)6\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03P9:\n2\n\x04\x04\x06\x02\x02\x12\x03R\x02K\x1a% Shielded pool module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03R\x020\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03R1F\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03RIJ\n/\n\x04\x04\x06\x02\x03\x12\x03T\x02E\x1a\" Governance module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x03\x06\x12\x03T\x02-\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03T.@\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03TCD\n(\n\x04\x04\x06\x02\x04\x12\x03V\x027\x1a\x1b IBC module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x04\x06\x12\x03V\x02&\n\x0c\n\x05\x04\x06\x02\x04\x01\x12\x03V\'2\n\x0c\n\x05\x04\x06\x02\x04\x03\x12\x03V56\n(\n\x04\x04\x06\x02\x05\x12\x03X\x027\x1a\x1b Sct module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x05\x06\x12\x03X\x02&\n\x0c\n\x05\x04\x06\x02\x05\x01\x12\x03X\'2\n\x0c\n\x05\x04\x06\x02\x05\x03\x12\x03X56\n3\n\x04\x04\x06\x02\x06\x12\x03Z\x02M\x1a& Community Pool module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x06\x06\x12\x03Z\x021\n\x0c\n\x05\x04\x06\x02\x06\x01\x12\x03Z2H\n\x0c\n\x05\x04\x06\x02\x06\x03\x12\x03ZKL\n(\n\x04\x04\x06\x02\x07\x12\x03\\\x027\x1a\x1b Fee module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x07\x06\x12\x03\\\x02&\n\x0c\n\x05\x04\x06\x02\x07\x01\x12\x03\\\'2\n\x0c\n\x05\x04\x06\x02\x07\x03\x12\x03\\56\n2\n\x04\x04\x06\x02\x08\x12\x03^\x02K\x1a% Distributions module genesis state.\n\n\x0c\n\x05\x04\x06\x02\x08\x06\x12\x03^\x020\n\x0c\n\x05\x04\x06\x02\x08\x01\x12\x03^1F\n\x0c\n\x05\x04\x06\x02\x08\x03\x12\x03^IJ\n,\n\x04\x04\x06\x02\t\x12\x03`\x02@\x1a\x1f Funding module genesis state.\n\n\x0c\n\x05\x04\x06\x02\t\x06\x12\x03`\x02*\n\x0c\n\x05\x04\x06\x02\t\x01\x12\x03`+:\n\x0c\n\x05\x04\x06\x02\t\x03\x12\x03`=?\n+\n\x04\x04\x06\x02\n\x12\x03b\x028\x1a\x1e DEX component genesis state.\n\n\x0c\n\x05\x04\x06\x02\n\x06\x12\x03b\x02&\n\x0c\n\x05\x04\x06\x02\n\x01\x12\x03b\'2\n\x0c\n\x05\x04\x06\x02\n\x03\x12\x03b57b\x06proto3\n\x9b+\n<penumbra/core/component/compact_block/v1/compact_block.proto\x12(penumbra.core.component.compact_block.v1\x1a(penumbra/core/component/dex/v1/dex.proto\x1a(penumbra/core/component/fee/v1/fee.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a<penumbra/core/component/shielded_pool/v1/shielded_pool.proto\x1a penumbra/crypto/tct/v1/tct.proto\"\xda\x05\n\x0cCompactBlock\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x12]\n\x0estate_payloads\x18\x02 \x03(\x0b26.penumbra.core.component.compact_block.v1.StatePayloadR\rstatePayloads\x12I\n\nnullifiers\x18\x03 \x03(\x0b2).penumbra.core.component.sct.v1.NullifierR\nnullifiers\x12A\n\nblock_root\x18\x04 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\tblockRoot\x12A\n\nepoch_root\x18\x05 \x01(\x0b2\".penumbra.crypto.tct.v1.MerkleRootR\tepochRoot\x12)\n\x10proposal_started\x18\x06 \x01(\x08R\x0fproposalStarted\x12^\n\x0efmd_parameters\x18\x07 \x01(\x0b27.penumbra.core.component.shielded_pool.v1.FmdParametersR\rfmdParameters\x12V\n\x0cswap_outputs\x18\x08 \x03(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\x0bswapOutputs\x124\n\x16app_parameters_updated\x18\t \x01(\x08R\x14appParametersUpdated\x12H\n\ngas_prices\x18\n \x01(\x0b2).penumbra.core.component.fee.v1.GasPricesR\tgasPrices\x12\x1f\n\x0bepoch_index\x18\x0b \x01(\x04R\nepochIndex\"\xe0\x04\n\x0cStatePayload\x12H\n\x06source\x18\x01 \x01(\x0b20.penumbra.core.component.sct.v1.CommitmentSourceR\x06source\x12^\n\trolled_up\x18\x02 \x01(\x0b2?.penumbra.core.component.compact_block.v1.StatePayload.RolledUpH\x00R\x08rolledUp\x12Q\n\x04note\x18\x03 \x01(\x0b2;.penumbra.core.component.compact_block.v1.StatePayload.NoteH\x00R\x04note\x12Q\n\x04swap\x18\x04 \x01(\x0b2;.penumbra.core.component.compact_block.v1.StatePayload.SwapH\x00R\x04swap\x1aS\n\x08RolledUp\x12G\n\ncommitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\ncommitment\x1aQ\n\x04Note\x12I\n\x04note\x18\x02 \x01(\x0b25.penumbra.core.component.shielded_pool.v1.NotePayloadR\x04note\x1aG\n\x04Swap\x12?\n\x04swap\x18\x02 \x01(\x0b2+.penumbra.core.component.dex.v1.SwapPayloadR\x04swapB\x0f\n\rstate_payload\"{\n\x18CompactBlockRangeRequest\x12!\n\x0cstart_height\x18\x02 \x01(\x04R\x0bstartHeight\x12\x1d\n\nend_height\x18\x03 \x01(\x04R\tendHeight\x12\x1d\n\nkeep_alive\x18\x04 \x01(\x08R\tkeepAlive\"x\n\x19CompactBlockRangeResponse\x12[\n\rcompact_block\x18\x01 \x01(\x0b26.penumbra.core.component.compact_block.v1.CompactBlockR\x0ccompactBlock\"-\n\x13CompactBlockRequest\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\"s\n\x14CompactBlockResponse\x12[\n\rcompact_block\x18\x01 \x01(\x0b26.penumbra.core.component.compact_block.v1.CompactBlockR\x0ccompactBlock2\xbf\x02\n\x0cQueryService\x12\x9e\x01\n\x11CompactBlockRange\x12B.penumbra.core.component.compact_block.v1.CompactBlockRangeRequest\x1aC.penumbra.core.component.compact_block.v1.CompactBlockRangeResponse0\x01\x12\x8d\x01\n\x0cCompactBlock\x12=.penumbra.core.component.compact_block.v1.CompactBlockRequest\x1a>.penumbra.core.component.compact_block.v1.CompactBlockResponseJ\xad\x18\n\x06\x12\x04\x00\x00V\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x001\n\t\n\x02\x03\x00\x12\x03\x03\x002\n\t\n\x02\x03\x01\x12\x03\x04\x002\n\t\n\x02\x03\x02\x12\x03\x05\x002\n\t\n\x02\x03\x03\x12\x03\x06\x00F\n\t\n\x02\x03\x04\x12\x03\x07\x00*\nF\n\x02\x04\x00\x12\x04\n\x00 \x01\x1a: Contains the minimum data needed to update client state.\n\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x14\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0b\x02\x14\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0b\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0b\t\x0f\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0b\x12\x13\n=\n\x04\x04\x00\x02\x01\x12\x03\r\x02+\x1a0 State payloads describing new state fragments.\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x03\r\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\r\x0b\x17\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\x18&\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r)*\n2\n\x04\x04\x00\x02\x02\x12\x03\x0f\x02+\x1a% Nullifiers identifying spent notes.\n\n\x0c\n\x05\x04\x00\x02\x02\x04\x12\x03\x0f\x02\n\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x0f\x0b\x1b\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0f\x1c&\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0f)*\n,\n\x04\x04\x00\x02\x03\x12\x03\x11\x02*\x1a\x1f The block root of this block.\n\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\x11\x02\x1a\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x11\x1b%\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x11()\nb\n\x04\x04\x00\x02\x04\x12\x03\x13\x02*\x1aU The epoch root of this epoch (only present when the block is the last in an epoch).\n\n\x0c\n\x05\x04\x00\x02\x04\x06\x12\x03\x13\x02\x1a\n\x0c\n\x05\x04\x00\x02\x04\x01\x12\x03\x13\x1b%\n\x0c\n\x05\x04\x00\x02\x04\x03\x12\x03\x13()\nQ\n\x04\x04\x00\x02\x05\x12\x03\x15\x02\x1c\x1aD If a proposal started voting in this block, this is set to `true`.\n\n\x0c\n\x05\x04\x00\x02\x05\x05\x12\x03\x15\x02\x06\n\x0c\n\x05\x04\x00\x02\x05\x01\x12\x03\x15\x07\x17\n\x0c\n\x05\x04\x00\x02\x05\x03\x12\x03\x15\x1a\x1b\n9\n\x04\x04\x00\x02\x06\x12\x03\x17\x024\x1a, Latest Fuzzy Message Detection parameters.\n\n\x0c\n\x05\x04\x00\x02\x06\x06\x12\x03\x17\x02 \n\x0c\n\x05\x04\x00\x02\x06\x01\x12\x03\x17!/\n\x0c\n\x05\x04\x00\x02\x06\x03\x12\x03\x1723\n;\n\x04\x04\x00\x02\x07\x12\x03\x19\x027\x1a. Price data for swaps executed in this block.\n\n\x0c\n\x05\x04\x00\x02\x07\x04\x12\x03\x19\x02\n\n\x0c\n\x05\x04\x00\x02\x07\x06\x12\x03\x19\x0b%\n\x0c\n\x05\x04\x00\x02\x07\x01\x12\x03\x19&2\n\x0c\n\x05\x04\x00\x02\x07\x03\x12\x03\x1956\n0\n\x04\x04\x00\x02\x08\x12\x03\x1b\x02\"\x1a# Indicates updated app parameters.\n\n\x0c\n\x05\x04\x00\x02\x08\x05\x12\x03\x1b\x02\x06\n\x0c\n\x05\x04\x00\x02\x08\x01\x12\x03\x1b\x07\x1d\n\x0c\n\x05\x04\x00\x02\x08\x03\x12\x03\x1b !\n8\n\x04\x04\x00\x02\t\x12\x03\x1d\x02#\x1a+ Updated gas prices, if they have changed.\n\n\x0c\n\x05\x04\x00\x02\t\x06\x12\x03\x1d\x02\x12\n\x0c\n\x05\x04\x00\x02\t\x01\x12\x03\x1d\x13\x1d\n\x0c\n\x05\x04\x00\x02\t\x03\x12\x03\x1d \"\n\x1e\n\x04\x04\x00\x02\n\x12\x03\x1f\x02\x1a\x1a\x11 The epoch index\n\n\x0c\n\x05\x04\x00\x02\n\x05\x12\x03\x1f\x02\x08\n\x0c\n\x05\x04\x00\x02\n\x01\x12\x03\x1f\t\x14\n\x0c\n\x05\x04\x00\x02\n\x03\x12\x03\x1f\x17\x19\nf\n\x02\x04\x01\x12\x04#\x005\x01\x1aZ An encrypted payload, corresponding to a single commitment in the state commitment tree.\n\n\n\n\x03\x04\x01\x01\x12\x03#\x08\x14\n\x0c\n\x04\x04\x01\x03\x00\x12\x04$\x02&\x03\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x03$\n\x12\n\r\n\x06\x04\x01\x03\x00\x02\x00\x12\x03%\x041\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x06\x12\x03%\x04!\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x03%\",\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x03%/0\n\x0c\n\x04\x04\x01\x03\x01\x12\x04\'\x02)\x03\n\x0c\n\x05\x04\x01\x03\x01\x01\x12\x03\'\n\x0e\n\r\n\x06\x04\x01\x03\x01\x02\x00\x12\x03(\x04*\n\x0e\n\x07\x04\x01\x03\x01\x02\x00\x06\x12\x03(\x04 \n\x0e\n\x07\x04\x01\x03\x01\x02\x00\x01\x12\x03(!%\n\x0e\n\x07\x04\x01\x03\x01\x02\x00\x03\x12\x03(()\n\x0c\n\x04\x04\x01\x03\x02\x12\x04*\x02,\x03\n\x0c\n\x05\x04\x01\x03\x02\x01\x12\x03*\n\x0e\n\r\n\x06\x04\x01\x03\x02\x02\x00\x12\x03+\x04 \n\x0e\n\x07\x04\x01\x03\x02\x02\x00\x06\x12\x03+\x04\x16\n\x0e\n\x07\x04\x01\x03\x02\x02\x00\x01\x12\x03+\x17\x1b\n\x0e\n\x07\x04\x01\x03\x02\x02\x00\x03\x12\x03+\x1e\x1f\n3\n\x04\x04\x01\x02\x00\x12\x03.\x02%\x1a& The source of the payload, if known.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03.\x02\x19\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03.\x1a \n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03.#$\n)\n\x04\x04\x01\x08\x00\x12\x040\x024\x03\x1a\x1b The state payload itself.\n\n\x0c\n\x05\x04\x01\x08\x00\x01\x12\x030\x08\x15\n\x0b\n\x04\x04\x01\x02\x01\x12\x031\x04\x1b\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x031\x04\x0c\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x031\r\x16\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x031\x19\x1a\n\x0b\n\x04\x04\x01\x02\x02\x12\x032\x04\x12\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x032\x04\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x032\t\r\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x032\x10\x11\n\x0b\n\x04\x04\x01\x02\x03\x12\x033\x04\x12\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x033\x04\x08\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x033\t\r\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x033\x10\x11\n?\n\x02\x06\x00\x12\x048\x00?\x01\x1a3 Query operations for the compact block component.\n\n\n\n\x03\x06\x00\x01\x12\x038\x08\x14\nn\n\x04\x06\x00\x02\x00\x12\x03:\x02]\x1aa Returns a stream of compact blocks, optionally keeping the stream alive for push notifications.\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\x06\x12\x03:;A\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03:B[\n\x99\x01\n\x04\x06\x00\x02\x01\x12\x03>\x02G\x1a\x8b\x01 Returns a single compact block at a specific height.\n\n Clients requesting multiple compact blocks should generally use the streaming RPC.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03>\x06\x12\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03>\x13&\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03>1E\n5\n\x02\x04\x02\x12\x04B\x00J\x01\x1a) Requests a range of compact block data.\n\n\n\n\x03\x04\x02\x01\x12\x03B\x08 \n-\n\x04\x04\x02\x02\x00\x12\x03D\x02\x1a\x1a  The start height of the range.\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03D\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03D\t\x15\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03D\x18\x19\nP\n\x04\x04\x02\x02\x01\x12\x03F\x02\x18\x1aC The end height of the range, defaults to the latest block height.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03F\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03F\t\x13\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03F\x16\x17\nw\n\x04\x04\x02\x02\x02\x12\x03I\x02\x16\x1aj If set, keeps the connection alive past `end_height`,\n streaming new compact blocks as they are created.\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03I\x02\x06\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03I\x07\x11\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03I\x14\x15\n\n\n\x02\x04\x03\x12\x04L\x00N\x01\n\n\n\x03\x04\x03\x01\x12\x03L\x08!\n\x0b\n\x04\x04\x03\x02\x00\x12\x03M\x02A\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03M\x02.\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03M/<\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03M?@\n\n\n\x02\x04\x04\x12\x04P\x00R\x01\n\n\n\x03\x04\x04\x01\x12\x03P\x08\x1b\n\x0b\n\x04\x04\x04\x02\x00\x12\x03Q\x02\x14\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03Q\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03Q\t\x0f\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03Q\x12\x13\n\n\n\x02\x04\x05\x12\x04T\x00V\x01\n\n\n\x03\x04\x05\x01\x12\x03T\x08\x1c\n\x0b\n\x04\x04\x05\x02\x00\x12\x03U\x02A\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03U\x02.\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03U/<\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03U?@b\x06proto3\n\xa28\n6penumbra/core/component/auction/v1alpha1/auction.proto\x12(penumbra.core.component.auction.v1alpha1\x1a\"penumbra/core/asset/v1/asset.proto\x1a(penumbra/core/component/dex/v1/dex.proto\x1a\x1epenumbra/core/num/v1/num.proto\"\x13\n\x11AuctionParameters\"e\n\x0eGenesisContent\x12S\n\x06params\x18\x01 \x01(\x0b2;.penumbra.core.component.auction.v1alpha1.AuctionParametersR\x06params\"!\n\tAuctionId\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"c\n\nAuctionNft\x12C\n\x02id\x18\x01 \x01(\x0b23.penumbra.core.component.auction.v1alpha1.AuctionIdR\x02id\x12\x10\n\x03seq\x18\x02 \x01(\x04R\x03seq\"\xfd\x02\n\x17DutchAuctionDescription\x123\n\x05input\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05input\x12<\n\toutput_id\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x08outputId\x12;\n\nmax_output\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\tmaxOutput\x12;\n\nmin_output\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\tminOutput\x12!\n\x0cstart_height\x18\x05 \x01(\x04R\x0bstartHeight\x12\x1d\n\nend_height\x18\x06 \x01(\x04R\tendHeight\x12\x1d\n\nstep_count\x18\x07 \x01(\x04R\tstepCount\x12\x14\n\x05nonce\x18\x08 \x01(\x0cR\x05nonce\"\xab\x02\n\x11DutchAuctionState\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12U\n\x10current_position\x18\x02 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\x0fcurrentPosition\x12!\n\x0cnext_trigger\x18\x03 \x01(\x04R\x0bnextTrigger\x12C\n\x0einput_reserves\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\rinputReserves\x12E\n\x0foutput_reserves\x18\x05 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0eoutputReserves\"\xc6\x01\n\x0cDutchAuction\x12c\n\x0bdescription\x18\x01 \x01(\x0b2A.penumbra.core.component.auction.v1alpha1.DutchAuctionDescriptionR\x0bdescription\x12Q\n\x05state\x18\x02 \x01(\x0b2;.penumbra.core.component.auction.v1alpha1.DutchAuctionStateR\x05state\"\x81\x01\n\x1aActionDutchAuctionSchedule\x12c\n\x0bdescription\x18\x01 \x01(\x0b2A.penumbra.core.component.auction.v1alpha1.DutchAuctionDescriptionR\x0bdescription\"k\n\x15ActionDutchAuctionEnd\x12R\n\nauction_id\x18\x01 \x01(\x0b23.penumbra.core.component.auction.v1alpha1.AuctionIdR\tauctionId\"\xde\x01\n\x1aActionDutchAuctionWithdraw\x12R\n\nauction_id\x18\x01 \x01(\x0b23.penumbra.core.component.auction.v1alpha1.AuctionIdR\tauctionId\x12\x10\n\x03seq\x18\x02 \x01(\x04R\x03seq\x12Z\n\x13reserves_commitment\x18\x03 \x01(\x0b2).penumbra.core.asset.v1.BalanceCommitmentR\x12reservesCommitment\"\xbd\x01\n\x1eActionDutchAuctionWithdrawView\x12\\\n\x06action\x18\x01 \x01(\x0b2D.penumbra.core.component.auction.v1alpha1.ActionDutchAuctionWithdrawR\x06action\x12=\n\x08reserves\x18\x02 \x03(\x0b2!.penumbra.core.asset.v1.ValueViewR\x08reserves\"\xe6\x02\n\x1eActionDutchAuctionScheduleView\x12\\\n\x06action\x18\x01 \x01(\x0b2D.penumbra.core.component.auction.v1alpha1.ActionDutchAuctionScheduleR\x06action\x12R\n\nauction_id\x18\x02 \x01(\x0b23.penumbra.core.component.auction.v1alpha1.AuctionIdR\tauctionId\x12G\n\x0einput_metadata\x18\x03 \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\rinputMetadata\x12I\n\x0foutput_metadata\x18\x04 \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\x0eoutputMetadata2\x0e\n\x0cQueryServiceJ\xc1%\n\x07\x12\x05\x00\x00\x83\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x001\n\t\n\x02\x03\x00\x12\x03\x03\x00,\n\t\n\x02\x03\x01\x12\x03\x04\x002\n\t\n\x02\x03\x02\x12\x03\x05\x00(\nD\n\x02\x04\x00\x12\x03\x08\x00\x1c\x1a9 The configuration parameters for the auction component.\n\n\n\n\x03\x04\x00\x01\x12\x03\x08\x08\x19\n5\n\x02\x04\x01\x12\x04\x0b\x00\x0e\x01\x1a) Genesis data for the auction component.\n\n\n\n\x03\x04\x01\x01\x12\x03\x0b\x08\x16\nQ\n\x04\x04\x01\x02\x00\x12\x03\r\x02\x1f\x1aD The configuration parameters for the auction component at genesis.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\r\x02\x13\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\r\x14\x1a\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\r\x1d\x1e\n8\n\x02\x06\x00\x12\x03\x11\x00\x17\x1a- Query operations for the Auction component.\n\n\n\n\x03\x06\x00\x01\x12\x03\x11\x08\x14\n\x95\x01\n\x02\x04\x02\x12\x04\x15\x00\x17\x01\x1a\x88\x01 A unique identifier for an auction, obtained from hashing a domain separator\n along with the immutable part of an auction description.\n\n\n\n\x03\x04\x02\x01\x12\x03\x15\x08\x11\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x16\x02\x12\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x16\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x16\x08\r\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x16\x10\x11\nM\n\x02\x04\x03\x12\x04\x1a\x00\x1d\x01\x1aA A bearer NFT tracking ownership of an auction and its proceeds.\n\n\n\n\x03\x04\x03\x01\x12\x03\x1a\x08\x12\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\x1b\x02\x13\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03\x1b\x02\x0b\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x1b\x0c\x0e\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x1b\x11\x12\n\x0b\n\x04\x04\x03\x02\x01\x12\x03\x1c\x02\x11\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03\x1c\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\x1c\t\x0c\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03\x1c\x0f\x10\nP\n\x02\x04\x04\x12\x04 \x00=\x01\x1aD Describes a Dutch auction using programmatic liquidity on the DEX.\n\n\n\n\x03\x04\x04\x01\x12\x03 \x08\x1f\n6\n\x04\x04\x04\x02\x00\x12\x03\"\x02\x1b\x1a) The value the seller wishes to auction.\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03\"\x02\x10\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03\"\x11\x16\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03\"\x19\x1a\nM\n\x04\x04\x04\x02\x01\x12\x03$\x02!\x1a@ The asset ID of the target asset the seller wishes to acquire.\n\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\x1c\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03$\x1f \nw\n\x04\x04\x04\x02\x02\x12\x03(\x02\x1f\x1aj The maximum output the seller can receive.\n\n This implicitly defines the starting price for the auction.\n\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03(\x02\x0f\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03(\x10\x1a\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03(\x1d\x1e\n\x7f\n\x04\x04\x04\x02\x03\x12\x03,\x02\x1f\x1ar The minimum output the seller is willing to receive.\n\n This implicitly defines the ending price for the auction.\n\n\x0c\n\x05\x04\x04\x02\x03\x06\x12\x03,\x02\x0f\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03,\x10\x1a\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03,\x1d\x1e\n~\n\x04\x04\x04\x02\x04\x12\x030\x02\x1a\x1aq The block height at which the auction begins.\n\n This allows the seller to schedule an auction at a future time.\n\n\x0c\n\x05\x04\x04\x02\x04\x05\x12\x030\x02\x08\n\x0c\n\x05\x04\x04\x02\x04\x01\x12\x030\t\x15\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x030\x18\x19\n\xae\x01\n\x04\x04\x04\x02\x05\x12\x035\x02\x18\x1a\xa0\x01 The block height at which the auction ends.\n\n Together with `start_height`, `max_output`, and `min_output`,\n this implicitly defines the speed of the auction.\n\n\x0c\n\x05\x04\x04\x02\x05\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x04\x02\x05\x01\x12\x035\t\x13\n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x035\x16\x17\n\x8b\x01\n\x04\x04\x04\x02\x06\x12\x039\x02\x18\x1a~ The number of discrete price steps to use for the auction.\n\n `end_height - start_height` must be a multiple of `step_count`.\n\n\x0c\n\x05\x04\x04\x02\x06\x05\x12\x039\x02\x08\n\x0c\n\x05\x04\x04\x02\x06\x01\x12\x039\t\x13\n\x0c\n\x05\x04\x04\x02\x06\x03\x12\x039\x16\x17\n]\n\x04\x04\x04\x02\x07\x12\x03<\x02\x12\x1aP A random nonce used to allow identical auctions to have\n distinct auction IDs.\n\n\x0c\n\x05\x04\x04\x02\x07\x05\x12\x03<\x02\x07\n\x0c\n\x05\x04\x04\x02\x07\x01\x12\x03<\x08\r\n\x0c\n\x05\x04\x04\x02\x07\x03\x12\x03<\x10\x11\n\n\n\x02\x04\x05\x12\x04?\x00S\x01\n\n\n\x03\x04\x05\x01\x12\x03?\x08\x19\n\x7f\n\x04\x04\x05\x02\x00\x12\x03D\x02\x11\x1ar The sequence number of the auction state.\n\n Dutch auctions move from:\n 0 (opened) => 1 (closed) => n (withdrawn)\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03D\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03D\t\x0c\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03D\x0f\x10\nK\n\x04\x04\x05\x02\x01\x12\x03F\x02)\x1a> If present, the current position controlled by this auction.\n\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03F\x02\x13\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03F\x14$\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03F\'(\nJ\n\x04\x04\x05\x02\x02\x12\x03H\x02\x1a\x1a= If present, the next trigger height to step down the price.\n\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x03H\x02\x08\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03H\t\x15\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03H\x18\x19\n\xb9\x01\n\x04\x04\x05\x02\x03\x12\x03M\x02#\x1a\xab\x01 The amount of the input asset directly owned by the auction.\n\n The auction may also own the input asset indirectly,\n via the reserves of `current_position` if it exists.\n\n\x0c\n\x05\x04\x05\x02\x03\x06\x12\x03M\x02\x0f\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03M\x10\x1e\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03M!\"\n\xbb\x01\n\x04\x04\x05\x02\x04\x12\x03R\x02$\x1a\xad\x01 The amount of the output asset directly owned by the auction.\n\n The auction may also own the output asset indirectly,\n via the reserves of `current_position` if it exists.\n\n\x0c\n\x05\x04\x05\x02\x04\x06\x12\x03R\x02\x0f\n\x0c\n\x05\x04\x05\x02\x04\x01\x12\x03R\x10\x1f\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x03R\"#\n\n\n\x02\x04\x06\x12\x04U\x00Z\x01\n\n\n\x03\x04\x06\x01\x12\x03U\x08\x14\nL\n\x04\x04\x06\x02\x00\x12\x03W\x02*\x1a? The immutable data describing the auction and its auction ID.\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03W\x02\x19\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03W\x1a%\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03W()\nC\n\x04\x04\x06\x02\x01\x12\x03Y\x02\x1e\x1a6 The mutable data describing the auction\'s execution.\n\n\x0c\n\x05\x04\x06\x02\x01\x06\x12\x03Y\x02\x13\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03Y\x14\x19\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03Y\x1c\x1d\nL\n\x02\x04\x07\x12\x04]\x00_\x01\x1a@ Initiates a Dutch auction using protocol-controlled liquidity.\n\n\n\n\x03\x04\x07\x01\x12\x03]\x08\"\n\x0b\n\x04\x04\x07\x02\x00\x12\x03^\x02*\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03^\x02\x19\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03^\x1a%\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03^()\nN\n\x02\x04\x08\x12\x04b\x00e\x01\x1aB Terminate the auction associated with the specified `auction_id`\n\n\n\n\x03\x04\x08\x01\x12\x03b\x08\x1d\n\"\n\x04\x04\x08\x02\x00\x12\x03d\x02\x1b\x1a\x15 The auction to end.\n\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03d\x02\x0b\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03d\x0c\x16\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03d\x19\x1a\n^\n\x02\x04\t\x12\x04h\x00s\x01\x1aR Withdraw funds from the ended auction associated with the specified `auction_id`\n\n\n\n\x03\x04\t\x01\x12\x03h\x08\"\n2\n\x04\x04\t\x02\x00\x12\x03j\x04\x1d\x1a% The auction to withdraw funds from.\n\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03j\x04\r\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03j\x0e\x18\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03j\x1b\x1c\n5\n\x04\x04\t\x02\x01\x12\x03l\x04\x13\x1a( The sequence number of the withdrawal.\n\n\x0c\n\x05\x04\t\x02\x01\x05\x12\x03l\x04\n\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03l\x0b\x0e\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03l\x11\x12\n\xb6\x01\n\x04\x04\t\x02\x02\x12\x03r\x047\x1a\xa8\x01 A transparent (zero blinding factor) commitment to the \n auction\'s final reserves.\n\n The chain will check this commitment by recomputing it \n with the on-chain state.\n\n\x0c\n\x05\x04\t\x02\x02\x06\x12\x03r\x04\x1e\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03r\x1f2\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03r56\nQ\n\x02\x04\n\x12\x04v\x00{\x01\x1aE An `ActionDutchAuctionWithdraw` augmented with additional metadata.\n\n\n\n\x03\x04\n\x01\x12\x03v\x08&\n\x0b\n\x04\x04\n\x02\x00\x12\x03w\x04*\n\x0c\n\x05\x04\n\x02\x00\x06\x12\x03w\x04\x1e\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03w\x1f%\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03w()\n\\\n\x04\x04\n\x02\x01\x12\x03z\x04-\x1aO A sequence of values that sum together to the provided \n reserves commitment.\n\n\x0c\n\x05\x04\n\x02\x01\x04\x12\x03z\x04\x0c\n\x0c\n\x05\x04\n\x02\x01\x06\x12\x03z\r\x1f\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03z (\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03z+,\nR\n\x02\x04\x0b\x12\x05~\x00\x83\x01\x01\x1aE An `ActionDutchAuctionSchedule` augmented with additional metadata.\n\n\n\n\x03\x04\x0b\x01\x12\x03~\x08&\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03\x7f\x04*\n\x0c\n\x05\x04\x0b\x02\x00\x06\x12\x03\x7f\x04\x1e\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03\x7f\x1f%\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03\x7f()\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\x80\x01\x04\x1d\n\r\n\x05\x04\x0b\x02\x01\x06\x12\x04\x80\x01\x04\r\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\x80\x01\x0e\x18\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\x80\x01\x1b\x1c\n\x0c\n\x04\x04\x0b\x02\x02\x12\x04\x81\x01\x04)\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\x81\x01\x04\x15\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\x81\x01\x16$\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\x81\x01\'(\n\x0c\n\x04\x04\x0b\x02\x03\x12\x04\x82\x01\x04*\n\r\n\x05\x04\x0b\x02\x03\x06\x12\x04\x82\x01\x04\x15\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\x82\x01\x16%\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x82\x01()b\x06proto3\n\xf2\x11\n6penumbra/crypto/decaf377_frost/v1/decaf377_frost.proto\x12!penumbra.crypto.decaf377_frost.v1\"?\n!VerifiableSecretSharingCommitment\x12\x1a\n\x08elements\x18\x01 \x03(\x0cR\x08elements\"\xa6\x01\n\x10DKGRound1Package\x12d\n\ncommitment\x18\x01 \x01(\x0b2D.penumbra.crypto.decaf377_frost.v1.VerifiableSecretSharingCommitmentR\ncommitment\x12,\n\x12proof_of_knowledge\x18\x02 \x01(\x0cR\x10proofOfKnowledge\"&\n\x0cSigningShare\x12\x16\n\x06scalar\x18\x01 \x01(\x0cR\x06scalar\"h\n\x10DKGRound2Package\x12T\n\rsigning_share\x18\x01 \x01(\x0b2/.penumbra.crypto.decaf377_frost.v1.SigningShareR\x0csigningShare\"+\n\x0fNonceCommitment\x12\x18\n\x07element\x18\x01 \x01(\x0cR\x07element\"\xae\x01\n\x12SigningCommitments\x12J\n\x06hiding\x18\x01 \x01(\x0b22.penumbra.crypto.decaf377_frost.v1.NonceCommitmentR\x06hiding\x12L\n\x07binding\x18\x02 \x01(\x0b22.penumbra.crypto.decaf377_frost.v1.NonceCommitmentR\x07binding\"(\n\x0eSignatureShare\x12\x16\n\x06scalar\x18\x01 \x01(\x0cR\x06scalarJ\x88\x0c\n\x06\x12\x04\x00\x000\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00*\nH\n\x02\x04\x00\x12\x04\x05\x00\x08\x01\x1a< A commitment to a polynomial, as a list of group elements.\n\n\n\n\x03\x04\x00\x01\x12\x03\x05\x08)\nR\n\x04\x04\x00\x02\x00\x12\x03\x07\x02\x1e\x1aE Each of these bytes should be the serialization of a group element.\n\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\x07\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x07\x0b\x10\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x07\x11\x19\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x07\x1c\x1d\nE\n\x02\x04\x01\x12\x04\x0b\x00\x10\x01\x1a9 The public package sent in round 1 of the DKG protocol.\n\n\n\n\x03\x04\x01\x01\x12\x03\x0b\x08\x18\nA\n\x04\x04\x01\x02\x00\x12\x03\r\x023\x1a4 A commitment to the polynomial for secret sharing.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\r\x02#\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\r$.\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\r12\nJ\n\x04\x04\x01\x02\x01\x12\x03\x0f\x02\x1f\x1a= A proof of knowledge of the underlying secret being shared.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x0f\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x0f\x08\x1a\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0f\x1d\x1e\n/\n\x02\x04\x02\x12\x04\x13\x00\x16\x01\x1a# A share of the final signing key.\n\n\n\n\x03\x04\x02\x01\x12\x03\x13\x08\x14\n4\n\x04\x04\x02\x02\x00\x12\x03\x15\x02\x13\x1a\' These bytes should be a valid scalar.\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x15\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x15\x08\x0e\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x15\x11\x12\nN\n\x02\x04\x03\x12\x04\x19\x00\x1c\x01\x1aB The per-participant package sent in round 2 of the DKG protocol.\n\n\n\n\x03\x04\x03\x01\x12\x03\x19\x08\x18\nC\n\x04\x04\x03\x02\x00\x12\x03\x1b\x02!\x1a6 This is the share we\'re sending to that participant.\n\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\x1c\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x1b\x1f \n7\n\x02\x04\x04\x12\x04\x1f\x00\"\x01\x1a+ Represents a commitment to a nonce value.\n\n\n\n\x03\x04\x04\x01\x12\x03\x1f\x08\x17\n;\n\x04\x04\x04\x02\x00\x12\x03!\x02\x14\x1a. These bytes should be a valid group element.\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\x0f\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03!\x12\x13\nF\n\x02\x04\x05\x12\x04%\x00*\x01\x1a: Represents the commitments to nonces needed for signing.\n\n\n\n\x03\x04\x05\x01\x12\x03%\x08\x1a\n&\n\x04\x04\x05\x02\x00\x12\x03\'\x02\x1d\x1a\x19 One nonce to hide them.\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03\'\x02\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\x03)\x02\x1e\x1a\x17 Another to bind them.\n\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03)\x02\x11\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03)\x12\x19\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03)\x1c\x1d\n\\\n\x02\x04\x06\x12\x04-\x000\x01\x1aP A share of the final signature. These get aggregated to make the actual thing.\n\n\n\n\x03\x04\x06\x01\x12\x03-\x08\x16\n4\n\x04\x04\x06\x02\x00\x12\x03/\x02\x13\x1a\' These bytes should be a valid scalar.\n\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03/\x02\x07\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03/\x08\x0e\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03/\x11\x12b\x06proto3\n\xa64\n!penumbra/custody/v1/custody.proto\x12\x13penumbra.custody.v1\x1a penumbra/core/keys/v1/keys.proto\x1a.penumbra/core/transaction/v1/transaction.proto\x1a,penumbra/core/component/stake/v1/stake.proto\x1a6penumbra/core/component/governance/v1/governance.proto\x1a4penumbra/crypto/decaf377_rdsa/v1/decaf377_rdsa.proto\"\xab\x01\n\x10AuthorizeRequest\x12A\n\x04plan\x18\x01 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionPlanR\x04plan\x12T\n\x12pre_authorizations\x18\x03 \x03(\x0b2%.penumbra.custody.v1.PreAuthorizationR\x11preAuthorizations\"X\n\x11AuthorizeResponse\x12C\n\x04data\x18\x01 \x01(\x0b2/.penumbra.core.transaction.v1.AuthorizationDataR\x04data\"\xdb\x01\n#AuthorizeValidatorDefinitionRequest\x12^\n\x14validator_definition\x18\x01 \x01(\x0b2+.penumbra.core.component.stake.v1.ValidatorR\x13validatorDefinition\x12T\n\x12pre_authorizations\x18\x03 \x03(\x0b2%.penumbra.custody.v1.PreAuthorizationR\x11preAuthorizations\"\x98\x01\n$AuthorizeValidatorDefinitionResponse\x12p\n\x19validator_definition_auth\x18\x01 \x01(\x0b24.penumbra.crypto.decaf377_rdsa.v1.SpendAuthSignatureR\x17validatorDefinitionAuth\"\xd6\x01\n\x1dAuthorizeValidatorVoteRequest\x12_\n\x0evalidator_vote\x18\x01 \x01(\x0b28.penumbra.core.component.governance.v1.ValidatorVoteBodyR\rvalidatorVote\x12T\n\x12pre_authorizations\x18\x03 \x03(\x0b2%.penumbra.custody.v1.PreAuthorizationR\x11preAuthorizations\"\x86\x01\n\x1eAuthorizeValidatorVoteResponse\x12d\n\x13validator_vote_auth\x18\x01 \x01(\x0b24.penumbra.crypto.decaf377_rdsa.v1.SpendAuthSignatureR\x11validatorVoteAuth\"\x9f\x01\n\x10PreAuthorization\x12I\n\x07ed25519\x18\x01 \x01(\x0b2-.penumbra.custody.v1.PreAuthorization.Ed25519H\x00R\x07ed25519\x1a+\n\x07Ed25519\x12\x0e\n\x02vk\x18\x01 \x01(\x0cR\x02vk\x12\x10\n\x03sig\x18\x02 \x01(\x0cR\x03sigB\x13\n\x11pre_authorization\"\x1d\n\x1bExportFullViewingKeyRequest\"o\n\x1cExportFullViewingKeyResponse\x12O\n\x10full_viewing_key\x18\x01 \x01(\x0b2%.penumbra.core.keys.v1.FullViewingKeyR\x0efullViewingKey\"a\n\x15ConfirmAddressRequest\x12H\n\raddress_index\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\"R\n\x16ConfirmAddressResponse\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address2\xee\x04\n\x0eCustodyService\x12Z\n\tAuthorize\x12%.penumbra.custody.v1.AuthorizeRequest\x1a&.penumbra.custody.v1.AuthorizeResponse\x12\x93\x01\n\x1cAuthorizeValidatorDefinition\x128.penumbra.custody.v1.AuthorizeValidatorDefinitionRequest\x1a9.penumbra.custody.v1.AuthorizeValidatorDefinitionResponse\x12\x81\x01\n\x16AuthorizeValidatorVote\x122.penumbra.custody.v1.AuthorizeValidatorVoteRequest\x1a3.penumbra.custody.v1.AuthorizeValidatorVoteResponse\x12{\n\x14ExportFullViewingKey\x120.penumbra.custody.v1.ExportFullViewingKeyRequest\x1a1.penumbra.custody.v1.ExportFullViewingKeyResponse\x12i\n\x0eConfirmAddress\x12*.penumbra.custody.v1.ConfirmAddressRequest\x1a+.penumbra.custody.v1.ConfirmAddressResponseJ\xb8!\n\x07\x12\x05\x00\x00\x82\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x1c\n\t\n\x02\x03\x00\x12\x03\x04\x00*\n\t\n\x02\x03\x01\x12\x03\x05\x008\n\t\n\x02\x03\x02\x12\x03\x06\x006\n\t\n\x02\x03\x03\x12\x03\x07\x00@\n\t\n\x02\x03\x04\x12\x03\x08\x00>\n\xb2\x04\n\x02\x06\x00\x12\x04\x15\x00,\x01\x1a\xa5\x04 The custody protocol is used by a wallet client to request authorization for\n a transaction they\'ve constructed.\n\n Modeling transaction authorization as an asynchronous RPC call encourages\n software to be written in a way that has a compatible data flow with a \"soft\n HSM\", threshold signing, a hardware wallet, etc.\n\n The custody protocol does not trust the client to authorize spends, so\n custody requests must contain sufficient information for the custodian to\n understand the transaction and determine whether or not it should be\n authorized.\n\n\n\n\x03\x06\x00\x01\x12\x03\x15\x08\x16\nT\n\x04\x06\x00\x02\x00\x12\x03\x17\x02>\x1aG Requests authorization of the transaction with the given description.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x17\x06\x0f\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x17\x10 \n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x17+<\nO\n\x04\x06\x00\x02\x01\x12\x03\x1a\x02w\x1aB Requests authorization of the given validator definition update.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x1a\x06\"\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x1a#F\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x1aQu\nB\n\x04\x06\x00\x02\x02\x12\x03\x1d\x02e\x1a5 Requests authorization of the given validator vote.\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03\x1d\x06\x1c\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03\x1d\x1d:\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03\x1dEc\n\xa3\x01\n\x04\x06\x00\x02\x03\x12\x03#\x02_\x1a\x95\x01 Requests the full viewing key from the custodian.\n\n Custody backends should decide whether to honor this request, and how to\n control access to it.\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#A]\n\x80\x02\n\x04\x06\x00\x02\x04\x12\x03+\x02M\x1a\xf2\x01 Displays an address to a user for confirmation.\n\n Custody backends with user interaction should present the address to the\n user and wait for explicit confirmation before returning.\n\n Non-interactive custody backends may return immediately.\n\n\x0c\n\x05\x06\x00\x02\x04\x01\x12\x03+\x06\x14\n\x0c\n\x05\x06\x00\x02\x04\x02\x12\x03+\x15*\n\x0c\n\x05\x06\x00\x02\x04\x03\x12\x03+5K\n\n\n\x02\x04\x00\x12\x04.\x009\x01\n\n\n\x03\x04\x00\x01\x12\x03.\x08\x18\n1\n\x04\x04\x00\x02\x00\x12\x030\x02/\x1a$ The transaction plan to authorize.\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x030\x02%\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x030&*\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x030-.\n\x9a\x02\n\x04\x04\x00\x02\x01\x12\x038\x023\x1a\x8c\x02 Optionally, pre-authorization data, if required by the custodian.\n\n Pre-authorization data is backend-specific, and backends are free to ignore it.\n\n Multiple `PreAuthorization` packets can be included in a single request,\n to support multi-party pre-authorizations.\n\n\x0c\n\x05\x04\x00\x02\x01\x04\x12\x038\x02\n\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x038\x0b\x1b\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x038\x1c.\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03812\n\n\n\x02\x04\x01\x12\x04;\x00=\x01\n\n\n\x03\x04\x01\x01\x12\x03;\x08\x19\n\x0b\n\x04\x04\x01\x02\x00\x12\x03<\x021\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03<\x02\'\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03<(,\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03</0\n\n\n\x02\x04\x02\x12\x04?\x00J\x01\n\n\n\x03\x04\x02\x01\x12\x03?\x08+\n5\n\x04\x04\x02\x02\x00\x12\x03A\x02=\x1a( The validator definition to authorize.\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03A\x02#\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03A$8\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03A;<\n\x9a\x02\n\x04\x04\x02\x02\x01\x12\x03I\x023\x1a\x8c\x02 Optionally, pre-authorization data, if required by the custodian.\n\n Pre-authorization data is backend-specific, and backends are free to ignore it.\n\n Multiple `PreAuthorization` packets can be included in a single request,\n to support multi-party pre-authorizations.\n\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03I\x02\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03I\x0b\x1b\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03I\x1c.\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03I12\n\n\n\x02\x04\x03\x12\x04L\x00O\x01\n\n\n\x03\x04\x03\x01\x12\x03L\x08,\nH\n\x04\x04\x03\x02\x00\x12\x03N\x02K\x1a; The authorization signature for the validator definition.\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03N\x02,\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03N-F\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03NIJ\n\n\n\x02\x04\x04\x12\x04Q\x00\\\x01\n\n\n\x03\x04\x04\x01\x12\x03Q\x08%\n/\n\x04\x04\x04\x02\x00\x12\x03S\x02D\x1a\" The validator vote to authorize.\n\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03S\x020\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03S1?\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03SBC\n\x9a\x02\n\x04\x04\x04\x02\x01\x12\x03[\x023\x1a\x8c\x02 Optionally, pre-authorization data, if required by the custodian.\n\n Pre-authorization data is backend-specific, and backends are free to ignore it.\n\n Multiple `PreAuthorization` packets can be included in a single request,\n to support multi-party pre-authorizations.\n\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\x03[\x02\n\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03[\x0b\x1b\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03[\x1c.\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03[12\n\n\n\x02\x04\x05\x12\x04^\x00a\x01\n\n\n\x03\x04\x05\x01\x12\x03^\x08&\nB\n\x04\x04\x05\x02\x00\x12\x03`\x02E\x1a5 The authorization signature for the validator vote.\n\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03`\x02,\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03`-@\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03`CD\n\x86\x02\n\x02\x04\x06\x12\x04g\x00s\x01\x1a\xf9\x01 A pre-authorization packet.  This allows a custodian to delegate (partial)\n signing authority to other authorization mechanisms.  Details of how a\n custodian manages those keys are out-of-scope for the custody protocol and\n are custodian-specific.\n\n\n\n\x03\x04\x06\x01\x12\x03g\x08\x18\no\n\x04\x04\x06\x03\x00\x12\x04j\x02o\x03\x1aa An Ed25519-based preauthorization, containing an Ed25519 signature over the\n `TransactionPlan`.\n\n\x0c\n\x05\x04\x06\x03\x00\x01\x12\x03j\n\x11\nK\n\x06\x04\x06\x03\x00\x02\x00\x12\x03l\x04\x11\x1a< The Ed25519 verification key used to verify the signature.\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x05\x12\x03l\x04\t\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x03l\n\x0c\n\x0e\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x03l\x0f\x10\nB\n\x06\x04\x06\x03\x00\x02\x01\x12\x03n\x04\x12\x1a3 The Ed25519 signature over the `TransactionPlan`.\n\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x05\x12\x03n\x04\t\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x03n\n\r\n\x0e\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x03n\x10\x11\n\x0c\n\x04\x04\x06\x08\x00\x12\x04p\x02r\x03\n\x0c\n\x05\x04\x06\x08\x00\x01\x12\x03p\x08\x19\n\x0b\n\x04\x04\x06\x02\x00\x12\x03q\x04\x18\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03q\x04\x0b\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03q\x0c\x13\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03q\x16\x17\n\t\n\x02\x04\x07\x12\x03u\x00&\n\n\n\x03\x04\x07\x01\x12\x03u\x08#\n\n\n\x02\x04\x08\x12\x04w\x00z\x01\n\n\n\x03\x04\x08\x01\x12\x03w\x08$\n$\n\x04\x04\x08\x02\x00\x12\x03y\x023\x1a\x17 The full viewing key.\n\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03y\x02\x1d\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03y\x1e.\n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03y12\n\n\n\x02\x04\t\x12\x04|\x00~\x01\n\n\n\x03\x04\t\x01\x12\x03|\x08\x1d\n\x0b\n\x04\x04\t\x02\x00\x12\x03}\x02.\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03}\x02\x1b\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03}\x1c)\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03},-\n\x0c\n\x02\x04\n\x12\x06\x80\x01\x00\x82\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\x80\x01\x08\x1e\n\x0c\n\x04\x04\n\x02\x00\x12\x04\x81\x01\x02#\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\x81\x01\x02\x16\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x81\x01\x17\x1e\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x81\x01!\"b\x06proto3\n\xbc5\n-penumbra/custody/threshold/v1/threshold.proto\x12\x1dpenumbra.custody.threshold.v1\x1a.penumbra/core/transaction/v1/transaction.proto\x1a,penumbra/core/component/stake/v1/stake.proto\x1a6penumbra/core/component/governance/v1/governance.proto\x1a6penumbra/crypto/decaf377_frost/v1/decaf377_frost.proto\"\'\n\x0fVerificationKey\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"!\n\tSignature\x12\x14\n\x05inner\x18\x01 \x01(\x0cR\x05inner\"\xa8\x02\n\x11CoordinatorRound1\x12C\n\x04plan\x18\x01 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionPlanH\x00R\x04plan\x12`\n\x14validator_definition\x18\x02 \x01(\x0b2+.penumbra.core.component.stake.v1.ValidatorH\x00R\x13validatorDefinition\x12a\n\x0evalidator_vote\x18\x03 \x01(\x0b28.penumbra.core.component.governance.v1.ValidatorVoteBodyH\x00R\rvalidatorVoteB\t\n\x07request\"\xa4\x03\n\x11CoordinatorRound2\x12q\n\x10signing_packages\x18\x01 \x03(\x0b2F.penumbra.custody.threshold.v1.CoordinatorRound2.PartialSigningPackageR\x0fsigningPackages\x1a\x90\x01\n\x15IdentifiedCommitments\x12\x1e\n\nidentifier\x18\x01 \x01(\x0cR\nidentifier\x12W\n\x0bcommitments\x18\x02 \x01(\x0b25.penumbra.crypto.decaf377_frost.v1.SigningCommitmentsR\x0bcommitments\x1a\x88\x01\n\x15PartialSigningPackage\x12o\n\x0fall_commitments\x18\x01 \x03(\x0b2F.penumbra.custody.threshold.v1.CoordinatorRound2.IdentifiedCommitmentsR\x0eallCommitments\"\xb9\x02\n\x0eFollowerRound1\x12I\n\x05inner\x18\x01 \x01(\x0b23.penumbra.custody.threshold.v1.FollowerRound1.InnerR\x05inner\x12>\n\x02pk\x18\x02 \x01(\x0b2..penumbra.custody.threshold.v1.VerificationKeyR\x02pk\x12:\n\x03sig\x18\x03 \x01(\x0b2(.penumbra.custody.threshold.v1.SignatureR\x03sig\x1a`\n\x05Inner\x12W\n\x0bcommitments\x18\x01 \x03(\x0b25.penumbra.crypto.decaf377_frost.v1.SigningCommitmentsR\x0bcommitments\"\xab\x02\n\x0eFollowerRound2\x12I\n\x05inner\x18\x01 \x01(\x0b23.penumbra.custody.threshold.v1.FollowerRound2.InnerR\x05inner\x12>\n\x02pk\x18\x02 \x01(\x0b2..penumbra.custody.threshold.v1.VerificationKeyR\x02pk\x12:\n\x03sig\x18\x03 \x01(\x0b2(.penumbra.custody.threshold.v1.SignatureR\x03sig\x1aR\n\x05Inner\x12I\n\x06shares\x18\x01 \x03(\x0b21.penumbra.crypto.decaf377_frost.v1.SignatureShareR\x06shares\"\xa7\x01\n\tDKGRound1\x12E\n\x03pkg\x18\x01 \x01(\x0b23.penumbra.crypto.decaf377_frost.v1.DKGRound1PackageR\x03pkg\x121\n\x14nullifier_commitment\x18\x02 \x01(\x0cR\x13nullifierCommitment\x12\x10\n\x03epk\x18\x03 \x01(\x0cR\x03epk\x12\x0e\n\x02vk\x18\x04 \x01(\x0cR\x02vk\"\xd4\x02\n\tDKGRound2\x12D\n\x05inner\x18\x01 \x01(\x0b2..penumbra.custody.threshold.v1.DKGRound2.InnerR\x05inner\x12\x0e\n\x02vk\x18\x02 \x01(\x0cR\x02vk\x12\x10\n\x03sig\x18\x03 \x01(\x0cR\x03sig\x1aN\n\x0fTargetedPackage\x12\x0e\n\x02vk\x18\x01 \x01(\x0cR\x02vk\x12+\n\x11encrypted_package\x18\x02 \x01(\x0cR\x10encryptedPackage\x1a\x8e\x01\n\x05Inner\x12g\n\x12encrypted_packages\x18\x01 \x03(\x0b28.penumbra.custody.threshold.v1.DKGRound2.TargetedPackageR\x11encryptedPackages\x12\x1c\n\tnullifier\x18\x02 \x01(\x0cR\tnullifierJ\x8c$\n\x06\x12\x04\x00\x00y\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00&\n\t\n\x02\x03\x00\x12\x03\x04\x008\n\t\n\x02\x03\x01\x12\x03\x05\x006\n\t\n\x02\x03\x02\x12\x03\x06\x00@\n\t\n\x02\x03\x03\x12\x03\x07\x00@\nq\n\x02\x04\x00\x12\x04\x0c\x00\x0e\x01\x1ae A key one can use to verify signatures.\n\n This key can also serve as a unique identifier for users.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0c\x08\x17\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\r\x02\x12\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\x08\r\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\x10\x11\n`\n\x02\x04\x01\x12\x04\x11\x00\x13\x01\x1aT A signature proving that a message was created by the owner of a verification key.\n\n\n\n\x03\x04\x01\x01\x12\x03\x11\x08\x11\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x12\x02\x12\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x12\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x12\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x12\x10\x11\nS\n\x02\x04\x02\x12\x04\x16\x00\x1f\x01\x1aG The message the coordinator sends in round 1 of the signing protocol.\n\n\n\n\x03\x04\x02\x01\x12\x03\x16\x08\x19\n\x0c\n\x04\x04\x02\x08\x00\x12\x04\x17\x02\x1e\x03\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03\x17\x08\x0f\nN\n\x04\x04\x02\x02\x00\x12\x03\x19\x041\x1aA The plan that the coordinator would like the followers to sign.\n\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x19\x04\'\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x19(,\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x19/0\nY\n\x04\x04\x02\x02\x01\x12\x03\x1b\x04?\x1aL The validator definition the coordinator would like the followers to sign.\n\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03\x1b\x04%\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1b&:\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1b=>\nS\n\x04\x04\x02\x02\x02\x12\x03\x1d\x04F\x1aF The validator vote the coordinator would like the followers to sign.\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03\x1d\x042\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x1d3A\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x1dDE\nS\n\x02\x04\x03\x12\x04\"\x006\x01\x1aG The message the coordinator sends in round 2 of the signing protocol.\n\n\n\n\x03\x04\x03\x01\x12\x03\"\x08\x19\n;\n\x04\x04\x03\x03\x00\x12\x04$\x02)\x03\x1a- A commitment along with a FROST identifier.\n\n\x0c\n\x05\x04\x03\x03\x00\x01\x12\x03$\n\x1f\n9\n\x06\x04\x03\x03\x00\x02\x00\x12\x03&\x04\x19\x1a* The serialization of a FROST identifier.\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x03&\x04\t\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x03&\n\x14\n\x0e\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x03&\x17\x18\nT\n\x06\x04\x03\x03\x00\x02\x01\x12\x03(\x04@\x1aE The commitments this person has produced for this round of signing.\n\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x06\x12\x03(\x04/\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x01\x12\x03(0;\n\x0e\n\x07\x04\x03\x03\x00\x02\x01\x03\x12\x03(>?\n\x9d\x02\n\x04\x04\x03\x03\x01\x12\x040\x022\x03\x1a\x8e\x02 A FROST signing package without a message.\n\n We structure things this way because the message is derived from the transaction plan.\n FROST expects the signing package to include the identified commitments *and*\n the message, but we have no need to include the message.\n\n\x0c\n\x05\x04\x03\x03\x01\x01\x12\x030\n\x1f\n\r\n\x06\x04\x03\x03\x01\x02\x00\x12\x031\x047\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x04\x12\x031\x04\x0c\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x06\x12\x031\r\"\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x01\x12\x031#2\n\x0e\n\x07\x04\x03\x03\x01\x02\x00\x03\x12\x03156\n_\n\x04\x04\x03\x02\x00\x12\x035\x026\x1aR The underlying signing packages being sent to the followers, for each signature.\n\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x035\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x035\x0b \n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x035!1\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03545\nX\n\x02\x04\x04\x12\x049\x00E\x01\x1aL The first message the followers send back to the coordinator when signing.\n\n\n\n\x03\x04\x04\x01\x12\x039\x08\x16\nF\n\x04\x04\x04\x03\x00\x12\x04;\x02>\x03\x1a8 The inner message that will be signed by the follower.\n\n\x0c\n\x05\x04\x04\x03\x00\x01\x12\x03;\n\x0f\n`\n\x06\x04\x04\x03\x00\x02\x00\x12\x03=\x04I\x1aQ One signing commitment pair for each signature requested by the plan, in order.\n\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x04\x12\x03=\x04\x0c\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x06\x12\x03=\r8\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x01\x12\x03=9D\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x03\x12\x03=GH\n\x0b\n\x04\x04\x04\x02\x00\x12\x03@\x02\x12\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03@\x02\x07\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03@\x08\r\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03@\x10\x11\n;\n\x04\x04\x04\x02\x01\x12\x03B\x02\x19\x1a. The verification key identifying the sender.\n\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03B\x02\x11\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03B\x12\x14\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03B\x17\x18\nA\n\x04\x04\x04\x02\x02\x12\x03D\x02\x14\x1a4 A signature over the proto-encoded bytes of inner.\n\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03D\x02\x0b\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03D\x0c\x0f\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03D\x12\x13\nY\n\x02\x04\x05\x12\x04H\x00T\x01\x1aM The second message the followers send back to the coordinator when signing.\n\n\n\n\x03\x04\x05\x01\x12\x03H\x08\x16\nF\n\x04\x04\x05\x03\x00\x12\x04J\x02M\x03\x1a8 The inner message that will be signed by the follower.\n\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03J\n\x0f\nN\n\x06\x04\x05\x03\x00\x02\x00\x12\x03L\x04@\x1a? One share for each signature requested by the plan, in order.\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x04\x12\x03L\x04\x0c\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x06\x12\x03L\r4\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03L5;\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03L>?\n\x0b\n\x04\x04\x05\x02\x00\x12\x03O\x02\x12\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03O\x02\x07\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03O\x08\r\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03O\x10\x11\n;\n\x04\x04\x05\x02\x01\x12\x03Q\x02\x19\x1a. The verification key identifying the sender.\n\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03Q\x02\x11\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03Q\x12\x14\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03Q\x17\x18\nA\n\x04\x04\x05\x02\x02\x12\x03S\x02\x14\x1a4 A signature over the proto-encoded bytes of inner.\n\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03S\x02\x0b\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03S\x0c\x0f\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03S\x12\x13\nA\n\x02\x04\x06\x12\x04W\x00`\x01\x1a5 The first message we broadcast in the DKG protocol.\n\n\n\n\x03\x04\x06\x01\x12\x03W\x08\x11\n8\n\x04\x04\x06\x02\x00\x12\x03Y\x024\x1a+ The package we\'re sending to other people\n\n\x0c\n\x05\x04\x06\x02\x00\x06\x12\x03Y\x02+\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03Y,/\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03Y23\nD\n\x04\x04\x06\x02\x01\x12\x03[\x02!\x1a7 A commitment to a share of the nullifier-deriving key\n\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03[\x02\x07\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03[\x08\x1c\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03[\x1f \n6\n\x04\x04\x06\x02\x02\x12\x03]\x02\x10\x1a) An encryption key for the second round.\n\n\x0c\n\x05\x04\x06\x02\x02\x05\x12\x03]\x02\x07\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03]\x08\x0b\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03]\x0e\x0f\nZ\n\x04\x04\x06\x02\x03\x12\x03_\x02\x0f\x1aM A verification key establishing an identity for the sender of this message.\n\n\x0c\n\x05\x04\x06\x02\x03\x05\x12\x03_\x02\x07\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03_\x08\n\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03_\r\x0e\nB\n\x02\x04\x07\x12\x04c\x00y\x01\x1a6 The second message we broadcast in the DKG protocol.\n\n\n\n\x03\x04\x07\x01\x12\x03c\x08\x11\nX\n\x04\x04\x07\x03\x00\x12\x04e\x02j\x03\x1aJ A round2 package, encrypted, along with an identifier for the recipient.\n\n\x0c\n\x05\x04\x07\x03\x00\x01\x12\x03e\n\x19\n>\n\x06\x04\x07\x03\x00\x02\x00\x12\x03g\x04\x11\x1a/ A verification key identifying the recipient.\n\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x05\x12\x03g\x04\t\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x01\x12\x03g\n\x0c\n\x0e\n\x07\x04\x07\x03\x00\x02\x00\x03\x12\x03g\x0f\x10\nJ\n\x06\x04\x07\x03\x00\x02\x01\x12\x03i\x04 \x1a; The ciphertext of an encrypted frost package for round 2.\n\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x05\x12\x03i\x04\t\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x01\x12\x03i\n\x1b\n\x0e\n\x07\x04\x07\x03\x00\x02\x01\x03\x12\x03i\x1e\x1f\n5\n\x04\x04\x07\x03\x01\x12\x04m\x02r\x03\x1a\' An inner message that will be signed.\n\n\x0c\n\x05\x04\x07\x03\x01\x01\x12\x03m\n\x0f\n7\n\x06\x04\x07\x03\x01\x02\x00\x12\x03o\x044\x1a( Encrypted packages for each recipient.\n\n\x0e\n\x07\x04\x07\x03\x01\x02\x00\x04\x12\x03o\x04\x0c\n\x0e\n\x07\x04\x07\x03\x01\x02\x00\x06\x12\x03o\r\x1c\n\x0e\n\x07\x04\x07\x03\x01\x02\x00\x01\x12\x03o\x1d/\n\x0e\n\x07\x04\x07\x03\x01\x02\x00\x03\x12\x03o23\nQ\n\x06\x04\x07\x03\x01\x02\x01\x12\x03q\x04\x18\x1aB An opening of the share of the nullifier-deriving key commitment\n\n\x0e\n\x07\x04\x07\x03\x01\x02\x01\x05\x12\x03q\x04\t\n\x0e\n\x07\x04\x07\x03\x01\x02\x01\x01\x12\x03q\n\x13\n\x0e\n\x07\x04\x07\x03\x01\x02\x01\x03\x12\x03q\x16\x17\n\x0b\n\x04\x04\x07\x02\x00\x12\x03t\x02\x12\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03t\x02\x07\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03t\x08\r\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03t\x10\x11\n;\n\x04\x04\x07\x02\x01\x12\x03v\x02\x0f\x1a. The verification key identifying the sender.\n\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03v\x02\x07\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03v\x08\n\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03v\r\x0e\n@\n\x04\x04\x07\x02\x02\x12\x03x\x02\x10\x1a3 A signature over the proto-encoded inner message.\n\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03x\x02\x07\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03x\x08\x0b\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03x\x0e\x0fb\x06proto3\n\xeb]\n\x1ccosmos/ics23/v1/proofs.proto\x12\x0fcosmos.ics23.v1\"\x93\x01\n\x0eExistenceProof\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12+\n\x04leaf\x18\x03 \x01(\x0b2\x17.cosmos.ics23.v1.LeafOpR\x04leaf\x12,\n\x04path\x18\x04 \x03(\x0b2\x18.cosmos.ics23.v1.InnerOpR\x04path\"\x91\x01\n\x11NonExistenceProof\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x123\n\x04left\x18\x02 \x01(\x0b2\x1f.cosmos.ics23.v1.ExistenceProofR\x04left\x125\n\x05right\x18\x03 \x01(\x0b2\x1f.cosmos.ics23.v1.ExistenceProofR\x05right\"\x93\x02\n\x0fCommitmentProof\x127\n\x05exist\x18\x01 \x01(\x0b2\x1f.cosmos.ics23.v1.ExistenceProofH\x00R\x05exist\x12@\n\x08nonexist\x18\x02 \x01(\x0b2\".cosmos.ics23.v1.NonExistenceProofH\x00R\x08nonexist\x123\n\x05batch\x18\x03 \x01(\x0b2\x1b.cosmos.ics23.v1.BatchProofH\x00R\x05batch\x12G\n\ncompressed\x18\x04 \x01(\x0b2%.cosmos.ics23.v1.CompressedBatchProofH\x00R\ncompressedB\x07\n\x05proof\"\xf8\x01\n\x06LeafOp\x12+\n\x04hash\x18\x01 \x01(\x0e2\x17.cosmos.ics23.v1.HashOpR\x04hash\x128\n\x0bprehash_key\x18\x02 \x01(\x0e2\x17.cosmos.ics23.v1.HashOpR\nprehashKey\x12<\n\rprehash_value\x18\x03 \x01(\x0e2\x17.cosmos.ics23.v1.HashOpR\x0cprehashValue\x121\n\x06length\x18\x04 \x01(\x0e2\x19.cosmos.ics23.v1.LengthOpR\x06length\x12\x16\n\x06prefix\x18\x05 \x01(\x0cR\x06prefix\"f\n\x07InnerOp\x12+\n\x04hash\x18\x01 \x01(\x0e2\x17.cosmos.ics23.v1.HashOpR\x04hash\x12\x16\n\x06prefix\x18\x02 \x01(\x0cR\x06prefix\x12\x16\n\x06suffix\x18\x03 \x01(\x0cR\x06suffix\"\xb6\x01\n\tProofSpec\x124\n\tleaf_spec\x18\x01 \x01(\x0b2\x17.cosmos.ics23.v1.LeafOpR\x08leafSpec\x129\n\ninner_spec\x18\x02 \x01(\x0b2\x1a.cosmos.ics23.v1.InnerSpecR\tinnerSpec\x12\x1b\n\tmax_depth\x18\x03 \x01(\x05R\x08maxDepth\x12\x1b\n\tmin_depth\x18\x04 \x01(\x05R\x08minDepth\"\xf1\x01\n\tInnerSpec\x12\x1f\n\x0bchild_order\x18\x01 \x03(\x05R\nchildOrder\x12\x1d\n\nchild_size\x18\x02 \x01(\x05R\tchildSize\x12*\n\x11min_prefix_length\x18\x03 \x01(\x05R\x0fminPrefixLength\x12*\n\x11max_prefix_length\x18\x04 \x01(\x05R\x0fmaxPrefixLength\x12\x1f\n\x0bempty_child\x18\x05 \x01(\x0cR\nemptyChild\x12+\n\x04hash\x18\x06 \x01(\x0e2\x17.cosmos.ics23.v1.HashOpR\x04hash\"C\n\nBatchProof\x125\n\x07entries\x18\x01 \x03(\x0b2\x1b.cosmos.ics23.v1.BatchEntryR\x07entries\"\x90\x01\n\nBatchEntry\x127\n\x05exist\x18\x01 \x01(\x0b2\x1f.cosmos.ics23.v1.ExistenceProofH\x00R\x05exist\x12@\n\x08nonexist\x18\x02 \x01(\x0b2\".cosmos.ics23.v1.NonExistenceProofH\x00R\x08nonexistB\x07\n\x05proof\"\x96\x01\n\x14CompressedBatchProof\x12?\n\x07entries\x18\x01 \x03(\x0b2%.cosmos.ics23.v1.CompressedBatchEntryR\x07entries\x12=\n\rlookup_inners\x18\x02 \x03(\x0b2\x18.cosmos.ics23.v1.InnerOpR\x0clookupInners\"\xae\x01\n\x14CompressedBatchEntry\x12A\n\x05exist\x18\x01 \x01(\x0b2).cosmos.ics23.v1.CompressedExistenceProofH\x00R\x05exist\x12J\n\x08nonexist\x18\x02 \x01(\x0b2,.cosmos.ics23.v1.CompressedNonExistenceProofH\x00R\x08nonexistB\x07\n\x05proof\"\x83\x01\n\x18CompressedExistenceProof\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12+\n\x04leaf\x18\x03 \x01(\x0b2\x17.cosmos.ics23.v1.LeafOpR\x04leaf\x12\x12\n\x04path\x18\x04 \x03(\x05R\x04path\"\xaf\x01\n\x1bCompressedNonExistenceProof\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12=\n\x04left\x18\x02 \x01(\x0b2).cosmos.ics23.v1.CompressedExistenceProofR\x04left\x12?\n\x05right\x18\x03 \x01(\x0b2).cosmos.ics23.v1.CompressedExistenceProofR\x05right*e\n\x06HashOp\x12\x0b\n\x07NO_HASH\x10\x00\x12\n\n\x06SHA256\x10\x01\x12\n\n\x06SHA512\x10\x02\x12\n\n\x06KECCAK\x10\x03\x12\r\n\tRIPEMD160\x10\x04\x12\x0b\n\x07BITCOIN\x10\x05\x12\x0e\n\nSHA512_256\x10\x06*\xab\x01\n\x08LengthOp\x12\r\n\tNO_PREFIX\x10\x00\x12\r\n\tVAR_PROTO\x10\x01\x12\x0b\n\x07VAR_RLP\x10\x02\x12\x0f\n\x0bFIXED32_BIG\x10\x03\x12\x12\n\x0eFIXED32_LITTLE\x10\x04\x12\x0f\n\x0bFIXED64_BIG\x10\x05\x12\x12\n\x0eFIXED64_LITTLE\x10\x06\x12\x14\n\x10REQUIRE_32_BYTES\x10\x07\x12\x14\n\x10REQUIRE_64_BYTES\x10\x08B\"Z github.com/cosmos/ics23/go;ics23J\xceI\n\x07\x12\x05\x00\x00\xe9\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x18\n\x08\n\x01\x08\x12\x03\x04\x007\n\t\n\x02\x08\x0b\x12\x03\x04\x007\n\n\n\x02\x05\x00\x12\x04\x06\x00\x0f\x01\n\n\n\x03\x05\x00\x01\x12\x03\x06\x05\x0b\nf\n\x04\x05\x00\x02\x00\x12\x03\x08\x02\x11\x1aY NO_HASH is the default if no data passed. Note this is an illegal argument some places.\n\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x08\x02\t\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x08\x0f\x10\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\t\x02\x11\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\t\x02\x08\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\t\x0f\x10\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\n\x02\x11\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\n\x02\x08\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\n\x0f\x10\n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x0b\x02\x11\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x0b\x02\x08\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x0b\x0f\x10\n\x0b\n\x04\x05\x00\x02\x04\x12\x03\x0c\x02\x11\n\x0c\n\x05\x05\x00\x02\x04\x01\x12\x03\x0c\x02\x0b\n\x0c\n\x05\x05\x00\x02\x04\x02\x12\x03\x0c\x0f\x10\n#\n\x04\x05\x00\x02\x05\x12\x03\r\x02\x11\"\x16 ripemd160(sha256(x))\n\n\x0c\n\x05\x05\x00\x02\x05\x01\x12\x03\r\x02\t\n\x0c\n\x05\x05\x00\x02\x05\x02\x12\x03\r\x0f\x10\n\x0b\n\x04\x05\x00\x02\x06\x12\x03\x0e\x02\x11\n\x0c\n\x05\x05\x00\x02\x06\x01\x12\x03\x0e\x02\x0c\n\x0c\n\x05\x05\x00\x02\x06\x02\x12\x03\x0e\x0f\x10\n\x83\x02\n\x02\x05\x01\x12\x04\x17\x00*\x01\x1a\xf6\x01*\nLengthOp defines how to process the key and value of the LeafOp\nto include length information. After encoding the length with the given\nalgorithm, the length will be prepended to the key and value bytes.\n(Each one with it\'s own encoded length)\n\n\n\n\x03\x05\x01\x01\x12\x03\x17\x05\r\n6\n\x04\x05\x01\x02\x00\x12\x03\x19\x02\x10\x1a) NO_PREFIX don\'t include any length info\n\n\x0c\n\x05\x05\x01\x02\x00\x01\x12\x03\x19\x02\x0b\n\x0c\n\x05\x05\x01\x02\x00\x02\x12\x03\x19\x0e\x0f\nS\n\x04\x05\x01\x02\x01\x12\x03\x1b\x02\x10\x1aF VAR_PROTO uses protobuf (and go-amino) varint encoding of the length\n\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03\x1b\x02\x0b\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\x1b\x0e\x0f\n:\n\x04\x05\x01\x02\x02\x12\x03\x1d\x02\x0e\x1a- VAR_RLP uses rlp int encoding of the length\n\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03\x1d\x02\t\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03\x1d\x0c\r\nU\n\x04\x05\x01\x02\x03\x12\x03\x1f\x02\x12\x1aH FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer\n\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03\x1f\x02\r\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03\x1f\x10\x11\n[\n\x04\x05\x01\x02\x04\x12\x03!\x02\x15\x1aN FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit integer\n\n\x0c\n\x05\x05\x01\x02\x04\x01\x12\x03!\x02\x10\n\x0c\n\x05\x05\x01\x02\x04\x02\x12\x03!\x13\x14\nU\n\x04\x05\x01\x02\x05\x12\x03#\x02\x12\x1aH FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer\n\n\x0c\n\x05\x05\x01\x02\x05\x01\x12\x03#\x02\r\n\x0c\n\x05\x05\x01\x02\x05\x02\x12\x03#\x10\x11\n[\n\x04\x05\x01\x02\x06\x12\x03%\x02\x15\x1aN FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit integer\n\n\x0c\n\x05\x05\x01\x02\x06\x01\x12\x03%\x02\x10\n\x0c\n\x05\x05\x01\x02\x06\x02\x12\x03%\x13\x14\np\n\x04\x05\x01\x02\x07\x12\x03\'\x02\x17\x1ac REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 bytes (sha256 output)\n\n\x0c\n\x05\x05\x01\x02\x07\x01\x12\x03\'\x02\x12\n\x0c\n\x05\x05\x01\x02\x07\x02\x12\x03\'\x15\x16\np\n\x04\x05\x01\x02\x08\x12\x03)\x02\x17\x1ac REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 bytes (sha512 output)\n\n\x0c\n\x05\x05\x01\x02\x08\x01\x12\x03)\x02\x12\n\x0c\n\x05\x05\x01\x02\x08\x02\x12\x03)\x15\x16\n\xe6\x07\n\x02\x04\x00\x12\x04A\x00F\x01\x1a\xd9\x07*\nExistenceProof takes a key and a value and a set of steps to perform on it.\nThe result of peforming all these steps will provide a \"root hash\", which can\nbe compared to the value in a header.\n\nSince it is computationally infeasible to produce a hash collission for any of the used\ncryptographic hash functions, if someone can provide a series of operations to transform\na given key and value into a root hash that matches some trusted root, these key and values\nmust be in the referenced merkle tree.\n\nThe only possible issue is maliablity in LeafOp, such as providing extra prefix data,\nwhich should be controlled by a spec. Eg. with lengthOp as NONE,\nprefix = FOO, key = BAR, value = CHOICE\nand\nprefix = F, key = OOBAR, value = CHOICE\nwould produce the same value.\n\nWith LengthOp this is tricker but not impossible. Which is why the \"leafPrefixEqual\" field\nin the ProofSpec is valuable to prevent this mutability. And why all trees should\nlength-prefix the data before hashing it.\n\n\n\n\x03\x04\x00\x01\x12\x03A\x08\x16\n\x0b\n\x04\x04\x00\x02\x00\x12\x03B\x02\x1d\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03B\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03B\x13\x16\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03B\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x01\x12\x03C\x02\x1d\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03C\x02\x07\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03C\x13\x18\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03C\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x02\x12\x03D\x02\x1d\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03D\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03D\x13\x17\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03D\x1b\x1c\n\x0b\n\x04\x04\x00\x02\x03\x12\x03E\x02\x1d\n\x0c\n\x05\x04\x00\x02\x03\x04\x12\x03E\x02\n\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03E\x0b\x12\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03E\x13\x17\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03E\x1b\x1c\n\xdc\x01\n\x02\x04\x01\x12\x04M\x00Q\x01\x1a\xcf\x01\nNonExistenceProof takes a proof of two neighbors, one left of the desired key,\none right of the desired key. If both proofs are valid AND they are neighbors,\nthen there is no valid proof for the given key.\n\n\n\n\x03\x04\x01\x01\x12\x03M\x08\x19\nC\n\x04\x04\x01\x02\x00\x12\x03N\x02\x1b\"6 TODO: remove this as unnecessary??? we prove a range\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03N\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03N\x11\x14\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03N\x19\x1a\n\x0b\n\x04\x04\x01\x02\x01\x12\x03O\x02\x1b\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03O\x02\x10\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03O\x11\x15\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03O\x19\x1a\n\x0b\n\x04\x04\x01\x02\x02\x12\x03P\x02\x1b\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03P\x02\x10\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03P\x11\x16\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03P\x19\x1a\nm\n\x02\x04\x02\x12\x04V\x00]\x01\x1aa\nCommitmentProof is either an ExistenceProof or a NonExistenceProof, or a Batch of such messages\n\n\n\n\x03\x04\x02\x01\x12\x03V\x08\x17\n\x0c\n\x04\x04\x02\x08\x00\x12\x04W\x02\\\x03\n\x0c\n\x05\x04\x02\x08\x00\x01\x12\x03W\x08\r\n\x0b\n\x04\x04\x02\x02\x00\x12\x03X\x04(\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03X\x04\x12\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03X\x19\x1e\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03X&\'\n\x0b\n\x04\x04\x02\x02\x01\x12\x03Y\x04(\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03Y\x04\x15\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03Y\x19!\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03Y&\'\n\x0b\n\x04\x04\x02\x02\x02\x12\x03Z\x04(\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03Z\x04\x0e\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03Z\x19\x1e\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03Z&\'\n\x0b\n\x04\x04\x02\x02\x03\x12\x03[\x04(\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x03[\x04\x18\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03[\x19#\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03[&\'\n\xc9\x04\n\x02\x04\x03\x12\x04o\x00w\x01\x1a\xbc\x04*\nLeafOp represents the raw key-value data we wish to prove, and\nmust be flexible to represent the internal transformation from\nthe original key-value pairs into the basis hash, for many existing\nmerkle trees.\n\nkey and value are passed in. So that the signature of this operation is:\nleafOp(key, value) -> output\n\nTo process this, first prehash the keys and values if needed (ANY means no hash in this case):\nhkey = prehashKey(key)\nhvalue = prehashValue(value)\n\nThen combine the bytes, and hash it\noutput = hash(prefix || length(hkey) || hkey || length(hvalue) || hvalue)\n\n\n\n\x03\x04\x03\x01\x12\x03o\x08\x0e\n\x0b\n\x04\x04\x03\x02\x00\x12\x03p\x02\x1d\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03p\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03p\x0b\x0f\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03p\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x01\x12\x03q\x02\x1d\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03q\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03q\x0b\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03q\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x02\x12\x03r\x02\x1d\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03r\x02\x08\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03r\x0b\x18\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03r\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x03\x12\x03s\x02\x1d\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03s\x02\n\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03s\x0b\x11\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03s\x1b\x1c\n\x89\x01\n\x04\x04\x03\x02\x04\x12\x03v\x02\x13\x1a| prefix is a fixed bytes that may optionally be included at the beginning to differentiate\n a leaf node from an inner node.\n\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03v\x02\x07\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03v\x08\x0e\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03v\x11\x12\n\xe4\x05\n\x02\x04\x04\x12\x06\x8a\x01\x00\x8e\x01\x01\x1a\xd5\x05*\nInnerOp represents a merkle-proof step that is not a leaf.\nIt represents concatenating two children and hashing them to provide the next result.\n\nThe result of the previous step is passed in, so the signature of this op is:\ninnerOp(child) -> output\n\nThe result of applying InnerOp should be:\noutput = op.hash(op.prefix || child || op.suffix)\n\nwhere the || operator is concatenation of binary data,\nand child is the result of hashing all the tree below this step.\n\nAny special data, like prepending child with the length, or prepending the entire operation with\nsome value to differentiate from leaf nodes, should be included in prefix and suffix.\nIf either of prefix or suffix is empty, we just treat it as an empty string\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x8a\x01\x08\x0f\n\x0c\n\x04\x04\x04\x02\x00\x12\x04\x8b\x01\x02\x14\n\r\n\x05\x04\x04\x02\x00\x06\x12\x04\x8b\x01\x02\x08\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\x8b\x01\t\r\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\x8b\x01\x12\x13\n\x0c\n\x04\x04\x04\x02\x01\x12\x04\x8c\x01\x02\x14\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\x8c\x01\x02\x07\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\x8c\x01\t\x0f\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\x8c\x01\x12\x13\n\x0c\n\x04\x04\x04\x02\x02\x12\x04\x8d\x01\x02\x14\n\r\n\x05\x04\x04\x02\x02\x05\x12\x04\x8d\x01\x02\x07\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\x8d\x01\t\x0f\n\r\n\x05\x04\x04\x02\x02\x03\x12\x04\x8d\x01\x12\x13\n\xbf\x04\n\x02\x04\x05\x12\x06\x9c\x01\x00\xa5\x01\x01\x1a\xb0\x04*\nProofSpec defines what the expected parameters are for a given proof type.\nThis can be stored in the client and used to validate any incoming proofs.\n\nverify(ProofSpec, Proof) -> Proof | Error\n\nAs demonstrated in tests, if we don\'t fix the algorithm used to calculate the\nLeafHash for a given tree, there are many possible key-value pairs that can\ngenerate a given hash (by interpretting the preimage differently).\nWe need this for proper security, requires client knows a priori what\ntree format server uses. But not in code, rather a configuration object.\n\n\x0b\n\x03\x04\x05\x01\x12\x04\x9c\x01\x08\x11\n\x9f\x01\n\x04\x04\x05\x02\x00\x12\x04\x9f\x01\x02\x1b\x1a\x90\x01 any field in the ExistenceProof must be the same as in this spec.\n except Prefix, which is just the first bytes of prefix (spec can be longer)\n\n\r\n\x05\x04\x05\x02\x00\x06\x12\x04\x9f\x01\x02\x08\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\x9f\x01\x0c\x15\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\x9f\x01\x19\x1a\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xa0\x01\x02\x1b\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\xa0\x01\x02\x0b\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xa0\x01\x0c\x16\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xa0\x01\x19\x1a\nk\n\x04\x04\x05\x02\x02\x12\x04\xa2\x01\x02\x16\x1a] max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for fixed-depth tries)\n\n\r\n\x05\x04\x05\x02\x02\x05\x12\x04\xa2\x01\x02\x07\n\r\n\x05\x04\x05\x02\x02\x01\x12\x04\xa2\x01\x08\x11\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\xa2\x01\x14\x15\nk\n\x04\x04\x05\x02\x03\x12\x04\xa4\x01\x02\x16\x1a] min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for fixed-depth tries)\n\n\r\n\x05\x04\x05\x02\x03\x05\x12\x04\xa4\x01\x02\x07\n\r\n\x05\x04\x05\x02\x03\x01\x12\x04\xa4\x01\x08\x11\n\r\n\x05\x04\x05\x02\x03\x03\x12\x04\xa4\x01\x14\x15\n\xa4\x02\n\x02\x04\x06\x12\x06\xb1\x01\x00\xbd\x01\x01\x1a\x95\x02\nInnerSpec contains all store-specific structure info to determine if two proofs from a\ngiven store are neighbors.\n\nThis enables:\n\nisLeftMost(spec: InnerSpec, op: InnerOp)\nisRightMost(spec: InnerSpec, op: InnerOp)\nisLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp)\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xb1\x01\x08\x11\n\xa2\x01\n\x04\x04\x06\x02\x00\x12\x04\xb5\x01\x02\'\x1a\x93\x01 Child order is the ordering of the children node, must count from 0\n iavl tree is [0, 1] (left then right)\n merk is [0, 2, 1] (left, right, here)\n\n\r\n\x05\x04\x06\x02\x00\x04\x12\x04\xb5\x01\x02\n\n\r\n\x05\x04\x06\x02\x00\x05\x12\x04\xb5\x01\x0b\x10\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xb5\x01\x11\x1c\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xb5\x01%&\n\x0c\n\x04\x04\x06\x02\x01\x12\x04\xb6\x01\x02\'\n\r\n\x05\x04\x06\x02\x01\x05\x12\x04\xb6\x01\x02\x07\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xb6\x01\x11\x1b\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xb6\x01%&\n\x0c\n\x04\x04\x06\x02\x02\x12\x04\xb7\x01\x02\'\n\r\n\x05\x04\x06\x02\x02\x05\x12\x04\xb7\x01\x02\x07\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xb7\x01\x11\"\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xb7\x01%&\n\x0c\n\x04\x04\x06\x02\x03\x12\x04\xb8\x01\x02\'\n\r\n\x05\x04\x06\x02\x03\x05\x12\x04\xb8\x01\x02\x07\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\xb8\x01\x11\"\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\xb8\x01%&\ng\n\x04\x04\x06\x02\x04\x12\x04\xba\x01\x02\x18\x1aY empty child is the prehash image that is used when one child is nil (eg. 20 bytes of 0)\n\n\r\n\x05\x04\x06\x02\x04\x05\x12\x04\xba\x01\x02\x07\n\r\n\x05\x04\x06\x02\x04\x01\x12\x04\xba\x01\x08\x13\n\r\n\x05\x04\x06\x02\x04\x03\x12\x04\xba\x01\x16\x17\nH\n\x04\x04\x06\x02\x05\x12\x04\xbc\x01\x02\x12\x1a: hash is the algorithm that must be used for each InnerOp\n\n\r\n\x05\x04\x06\x02\x05\x06\x12\x04\xbc\x01\x02\x08\n\r\n\x05\x04\x06\x02\x05\x01\x12\x04\xbc\x01\t\r\n\r\n\x05\x04\x06\x02\x05\x03\x12\x04\xbc\x01\x10\x11\nT\n\x02\x04\x07\x12\x06\xc2\x01\x00\xc4\x01\x01\x1aF\nBatchProof is a group of multiple proof types than can be compressed\n\n\x0b\n\x03\x04\x07\x01\x12\x04\xc2\x01\x08\x12\n\x0c\n\x04\x04\x07\x02\x00\x12\x04\xc3\x01\x02\"\n\r\n\x05\x04\x07\x02\x00\x04\x12\x04\xc3\x01\x02\n\n\r\n\x05\x04\x07\x02\x00\x06\x12\x04\xc3\x01\x0b\x15\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\xc3\x01\x16\x1d\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\xc3\x01 !\nF\n\x02\x04\x08\x12\x06\xc7\x01\x00\xcc\x01\x01\x1a8 Use BatchEntry not CommitmentProof, to avoid recursion\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xc7\x01\x08\x12\n\x0e\n\x04\x04\x08\x08\x00\x12\x06\xc8\x01\x02\xcb\x01\x03\n\r\n\x05\x04\x08\x08\x00\x01\x12\x04\xc8\x01\x08\r\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\xc9\x01\x04#\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\xc9\x01\x04\x12\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\xc9\x01\x16\x1b\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\xc9\x01!\"\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\xca\x01\x04#\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\xca\x01\x04\x15\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\xca\x01\x16\x1e\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xca\x01!\"\n>\n\x02\x04\t\x12\x06\xd0\x01\x00\xd3\x01\x0120***** all items here are compressed forms ******\n\x0b\n\x03\x04\t\x01\x12\x04\xd0\x01\x08\x1c\n\x0c\n\x04\x04\t\x02\x00\x12\x04\xd1\x01\x022\n\r\n\x05\x04\t\x02\x00\x04\x12\x04\xd1\x01\x02\n\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\xd1\x01\x0b\x1f\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\xd1\x01 \'\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\xd1\x0101\n\x0c\n\x04\x04\t\x02\x01\x12\x04\xd2\x01\x022\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\xd2\x01\x02\n\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\xd2\x01\x0b\x12\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xd2\x01 -\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xd2\x0101\nF\n\x02\x04\n\x12\x06\xd6\x01\x00\xdb\x01\x01\x1a8 Use BatchEntry not CommitmentProof, to avoid recursion\n\n\x0b\n\x03\x04\n\x01\x12\x04\xd6\x01\x08\x1c\n\x0e\n\x04\x04\n\x08\x00\x12\x06\xd7\x01\x02\xda\x01\x03\n\r\n\x05\x04\n\x08\x00\x01\x12\x04\xd7\x01\x08\r\n\x0c\n\x04\x04\n\x02\x00\x12\x04\xd8\x01\x04-\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\xd8\x01\x04\x1c\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\xd8\x01 %\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\xd8\x01+,\n\x0c\n\x04\x04\n\x02\x01\x12\x04\xd9\x01\x04-\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\xd9\x01\x04\x1f\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\xd9\x01 (\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xd9\x01+,\n\x0c\n\x02\x04\x0b\x12\x06\xdd\x01\x00\xe3\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xdd\x01\x08 \n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\xde\x01\x02\x13\n\r\n\x05\x04\x0b\x02\x00\x05\x12\x04\xde\x01\x02\x07\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xde\x01\t\x0c\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xde\x01\x11\x12\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\xdf\x01\x02\x13\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\xdf\x01\x02\x07\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xdf\x01\t\x0e\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xdf\x01\x11\x12\n\x0c\n\x04\x04\x0b\x02\x02\x12\x04\xe0\x01\x02\x13\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\xe0\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xe0\x01\t\r\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xe0\x01\x11\x12\nV\n\x04\x04\x0b\x02\x03\x12\x04\xe2\x01\x02\x1a\x1aH these are indexes into the lookup_inners table in CompressedBatchProof\n\n\r\n\x05\x04\x0b\x02\x03\x04\x12\x04\xe2\x01\x02\n\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xe2\x01\x0b\x10\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\xe2\x01\x11\x15\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\xe2\x01\x18\x19\n\x0c\n\x02\x04\x0c\x12\x06\xe5\x01\x00\xe9\x01\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\xe5\x01\x08#\nD\n\x04\x04\x0c\x02\x00\x12\x04\xe6\x01\x02%\"6 TODO: remove this as unnecessary??? we prove a range\n\n\r\n\x05\x04\x0c\x02\x00\x05\x12\x04\xe6\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xe6\x01\x1b\x1e\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xe6\x01#$\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\xe7\x01\x02%\n\r\n\x05\x04\x0c\x02\x01\x06\x12\x04\xe7\x01\x02\x1a\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\xe7\x01\x1b\x1f\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xe7\x01#$\n\x0c\n\x04\x04\x0c\x02\x02\x12\x04\xe8\x01\x02%\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\xe8\x01\x02\x1a\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\xe8\x01\x1b \n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xe8\x01#$b\x06proto3\n\xc4\x0c\n\'ibc/core/commitment/v1/commitment.proto\x12\x16ibc.core.commitment.v1\x1a\x14gogoproto/gogo.proto\x1a\x1ccosmos/ics23/v1/proofs.proto\"&\n\nMerkleRoot\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash:\x04\x88\xa0\x1f\x00\"-\n\x0cMerklePrefix\x12\x1d\n\nkey_prefix\x18\x01 \x01(\x0cR\tkeyPrefix\"-\n\nMerklePath\x12\x19\n\x08key_path\x18\x01 \x03(\tR\x07keyPath:\x04\x98\xa0\x1f\x00\"G\n\x0bMerkleProof\x128\n\x06proofs\x18\x01 \x03(\x0b2 .cosmos.ics23.v1.CommitmentProofR\x06proofsB>Z<github.com/cosmos/ibc-go/v8/modules/core/23-commitment/typesJ\xb5\t\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\x1f\n\x08\n\x01\x08\x12\x03\x04\x00S\n\t\n\x02\x08\x0b\x12\x03\x04\x00S\n\t\n\x02\x03\x00\x12\x03\x06\x00\x1e\n\t\n\x02\x03\x01\x12\x03\x07\x00&\nx\n\x02\x04\x00\x12\x04\x0b\x00\x0f\x01\x1al MerkleRoot defines a merkle root hash.\n In the Cosmos SDK, the AppHash of a block header becomes the root.\n\n\n\n\x03\x04\x00\x01\x12\x03\x0b\x08\x12\n\n\n\x03\x04\x00\x07\x12\x03\x0c\x02-\n\r\n\x06\x04\x00\x07\x81\xf4\x03\x12\x03\x0c\x02-\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0e\x02\x11\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0e\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0e\x08\x0c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0e\x0f\x10\n\xac\x01\n\x02\x04\x01\x12\x04\x14\x00\x16\x01\x1a\x9f\x01 MerklePrefix is merkle path prefixed to the key.\n The constructed key from the Path and the key will be append(Path.KeyPath,\n append(Path.KeyPrefix, key...))\n\n\n\n\x03\x04\x01\x01\x12\x03\x14\x08\x14\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x15\x02\x17\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x15\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x15\x08\x12\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x15\x15\x16\n\xc1\x01\n\x02\x04\x02\x12\x04\x1b\x00\x1f\x01\x1a\xb4\x01 MerklePath is the path used to verify commitment proofs, which can be an\n arbitrary structured object (defined by a commitment type).\n MerklePath is represented from root-to-leaf\n\n\n\n\x03\x04\x02\x01\x12\x03\x1b\x08\x12\n\n\n\x03\x04\x02\x07\x12\x03\x1c\x02.\n\r\n\x06\x04\x02\x07\x83\xf4\x03\x12\x03\x1c\x02.\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1e\x02\x1f\n\x0c\n\x05\x04\x02\x02\x00\x04\x12\x03\x1e\x02\n\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x1e\x0b\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1e\x12\x1a\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1e\x1d\x1e\n\xa0\x02\n\x02\x04\x03\x12\x04&\x00(\x01\x1a\x93\x02 MerkleProof is a wrapper type over a chain of CommitmentProofs.\n It demonstrates membership or non-membership for an element or set of\n elements, verifiable in conjunction with a known commitment root. Proofs\n should be succinct.\n MerkleProofs are ordered from leaf-to-root\n\n\n\n\x03\x04\x03\x01\x12\x03&\x08\x13\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\'\x026\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03\'\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03\'\x0b*\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\'+1\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\'45b\x06proto3\n\xfd#\n%penumbra/cnidarium/v1/cnidarium.proto\x12\x15penumbra.cnidarium.v1\x1a\'ibc/core/commitment/v1/commitment.proto\"9\n\x0fKeyValueRequest\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x14\n\x05proof\x18\x03 \x01(\x08R\x05proof\"\xb1\x01\n\x10KeyValueResponse\x12C\n\x05value\x18\x01 \x01(\x0b2-.penumbra.cnidarium.v1.KeyValueResponse.ValueR\x05value\x129\n\x05proof\x18\x02 \x01(\x0b2#.ibc.core.commitment.v1.MerkleProofR\x05proof\x1a\x1d\n\x05Value\x12\x14\n\x05value\x18\x01 \x01(\x0cR\x05value\",\n\x12PrefixValueRequest\x12\x16\n\x06prefix\x18\x02 \x01(\tR\x06prefix\"=\n\x13PrefixValueResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\"M\n\x0cWatchRequest\x12\x1b\n\tkey_regex\x18\x01 \x01(\tR\x08keyRegex\x12 \n\x0cnv_key_regex\x18\x02 \x01(\tR\nnvKeyRegex\"\xd9\x02\n\rWatchResponse\x12\x18\n\x07version\x18\x01 \x01(\x04R\x07version\x12?\n\x02kv\x18\x05 \x01(\x0b2-.penumbra.cnidarium.v1.WatchResponse.KeyValueH\x00R\x02kv\x12F\n\x05nv_kv\x18\x06 \x01(\x0b2/.penumbra.cnidarium.v1.WatchResponse.NvKeyValueH\x00R\x04nvKv\x1aL\n\x08KeyValue\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12\x18\n\x07deleted\x18\x03 \x01(\x08R\x07deleted\x1aN\n\nNvKeyValue\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12\x18\n\x07deleted\x18\x03 \x01(\x08R\x07deletedB\x07\n\x05entry2\xa9\x02\n\x0cQueryService\x12[\n\x08KeyValue\x12&.penumbra.cnidarium.v1.KeyValueRequest\x1a\'.penumbra.cnidarium.v1.KeyValueResponse\x12f\n\x0bPrefixValue\x12).penumbra.cnidarium.v1.PrefixValueRequest\x1a*.penumbra.cnidarium.v1.PrefixValueResponse0\x01\x12T\n\x05Watch\x12#.penumbra.cnidarium.v1.WatchRequest\x1a$.penumbra.cnidarium.v1.WatchResponse0\x01J\xd8\x1a\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\x1e\n\t\n\x02\x03\x00\x12\x03\x04\x001\n\n\n\x02\x06\x00\x12\x04\x06\x00\x11\x01\n\n\n\x03\x06\x00\x01\x12\x03\x06\x08\x14\nw\n\x04\x06\x00\x02\x00\x12\x03\t\x02;\x1aj General-purpose key-value state query API, that can be used to query\n arbitrary keys in the JMT storage.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\t\x06\x0e\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\t\x0f\x1e\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\t)9\n\x84\x01\n\x04\x06\x00\x02\x01\x12\x03\r\x02K\x1aw General-purpose prefixed key-value state query API, that can be used to query\n arbitrary prefixes in the JMT storage.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\r\x06\x11\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\r\x12$\n\x0c\n\x05\x06\x00\x02\x01\x06\x12\x03\r/5\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\r6I\nY\n\x04\x06\x00\x02\x02\x12\x03\x10\x029\x1aL Subscribes to a stream of key-value updates, with regex filtering on keys.\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03\x10\x06\x0b\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03\x10\x0c\x18\n\x0c\n\x05\x06\x00\x02\x02\x06\x12\x03\x10#)\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03\x10*7\nk\n\x02\x04\x00\x12\x04\x16\x00\x1b\x01\x1a_ Performs a key-value query, either by key or by key hash.\n\n Proofs are only supported by key.\n\n\n\n\x03\x04\x00\x01\x12\x03\x16\x08\x17\n5\n\x04\x04\x00\x02\x00\x12\x03\x18\x02\x11\x1a( If set, the key to fetch from storage.\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x18\t\x0c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x18\x0f\x10\n(\n\x04\x04\x00\x02\x01\x12\x03\x1a\x02\x11\x1a\x1b whether to return a proof\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x1a\x02\x06\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x1a\x07\x0c\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x1a\x0f\x10\n\n\n\x02\x04\x01\x12\x04\x1d\x00%\x01\n\n\n\x03\x04\x01\x01\x12\x03\x1d\x08\x18\n\x0c\n\x04\x04\x01\x03\x00\x12\x04\x1e\x02 \x03\n\x0c\n\x05\x04\x01\x03\x00\x01\x12\x03\x1e\n\x0f\n\r\n\x06\x04\x01\x03\x00\x02\x00\x12\x03\x1f\x04\x14\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x05\x12\x03\x1f\x04\t\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x01\x12\x03\x1f\n\x0f\n\x0e\n\x07\x04\x01\x03\x00\x02\x00\x03\x12\x03\x1f\x12\x13\nM\n\x04\x04\x01\x02\x00\x12\x03\"\x02\x12\x1a@ The value corresponding to the specified key, if it was found.\n\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\"\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\"\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\"\x10\x11\n5\n\x04\x04\x01\x02\x01\x12\x03$\x020\x1a( A proof of existence or non-existence.\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03$\x02%\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03$&+\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03$./\nD\n\x02\x04\x02\x12\x04(\x00+\x01\x1a8 Performs a prefixed key-value query, by string prefix.\n\n\n\n\x03\x04\x02\x01\x12\x03(\x08\x1a\n8\n\x04\x04\x02\x02\x00\x12\x03*\x02\x14\x1a+ The prefix to fetch subkeys from storage.\n\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\x0f\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03*\x12\x13\n\n\n\x02\x04\x03\x12\x04-\x000\x01\n\n\n\x03\x04\x03\x01\x12\x03-\x08\x1b\n\x0b\n\x04\x04\x03\x02\x00\x12\x03.\x02\x11\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\x0c\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03.\x0f\x10\n\x0b\n\x04\x04\x03\x02\x01\x12\x03/\x02\x12\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03/\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03/\x08\r\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03/\x10\x11\n]\n\x02\x04\x04\x12\x043\x00@\x01\x1aQ Requests a stream of new key-value pairs that have been committed to the state.\n\n\n\n\x03\x04\x04\x01\x12\x033\x08\x14\n\xf4\x01\n\x04\x04\x04\x02\x00\x12\x039\x02\x17\x1a\xe6\x01 A regex for keys in the verifiable storage.\n\n Only key-value updates whose keys match this regex will be returned.\n Note that the empty string matches all keys.\n To exclude all keys, use the regex \"$^\", which matches no strings.\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x039\x02\x08\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x039\t\x12\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x039\x15\x16\n\xf7\x01\n\x04\x04\x04\x02\x01\x12\x03?\x02\x1a\x1a\xe9\x01 A regex for keys in the nonverifiable storage.\n\n Only key-value updates whose keys match this regex will be returned.\n Note that the empty string matches all keys.\n To exclude all keys, use the regex \"$^\", which matches no strings.\n\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03?\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03?\t\x15\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03?\x18\x19\nD\n\x02\x04\x05\x12\x04C\x00]\x01\x1a8 A key-value pair that has been committed to the state.\n\n\n\n\x03\x04\x05\x01\x12\x03C\x08\x15\nD\n\x04\x04\x05\x03\x00\x12\x04E\x02K\x03\x1a6 Elements of the verifiable storage have string keys.\n\n\x0c\n\x05\x04\x05\x03\x00\x01\x12\x03E\n\x12\n\r\n\x06\x04\x05\x03\x00\x02\x00\x12\x03F\x04\x13\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x05\x12\x03F\x04\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x03F\x0b\x0e\n\x0e\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x03F\x11\x12\n\r\n\x06\x04\x05\x03\x00\x02\x01\x12\x03G\x04\x14\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x05\x12\x03G\x04\t\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x01\x12\x03G\n\x0f\n\x0e\n\x07\x04\x05\x03\x00\x02\x01\x03\x12\x03G\x12\x13\n\xa2\x01\n\x06\x04\x05\x03\x00\x02\x02\x12\x03J\x04\x15\x1a\x92\x01 If set to true, the key-value pair was deleted.\n This allows distinguishing a deleted key-value pair from a key-value pair whose value is empty.\n\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x05\x12\x03J\x04\x08\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x01\x12\x03J\t\x10\n\x0e\n\x07\x04\x05\x03\x00\x02\x02\x03\x12\x03J\x13\x14\nE\n\x04\x04\x05\x03\x01\x12\x04M\x02S\x03\x1a7 Elements of the nonverifiable storage have byte keys.\n\n\x0c\n\x05\x04\x05\x03\x01\x01\x12\x03M\n\x14\n\r\n\x06\x04\x05\x03\x01\x02\x00\x12\x03N\x04\x12\n\x0e\n\x07\x04\x05\x03\x01\x02\x00\x05\x12\x03N\x04\t\n\x0e\n\x07\x04\x05\x03\x01\x02\x00\x01\x12\x03N\n\r\n\x0e\n\x07\x04\x05\x03\x01\x02\x00\x03\x12\x03N\x10\x11\n\r\n\x06\x04\x05\x03\x01\x02\x01\x12\x03O\x04\x14\n\x0e\n\x07\x04\x05\x03\x01\x02\x01\x05\x12\x03O\x04\t\n\x0e\n\x07\x04\x05\x03\x01\x02\x01\x01\x12\x03O\n\x0f\n\x0e\n\x07\x04\x05\x03\x01\x02\x01\x03\x12\x03O\x12\x13\n\xa2\x01\n\x06\x04\x05\x03\x01\x02\x02\x12\x03R\x04\x15\x1a\x92\x01 If set to true, the key-value pair was deleted.\n This allows distinguishing a deleted key-value pair from a key-value pair whose value is empty.\n\n\x0e\n\x07\x04\x05\x03\x01\x02\x02\x05\x12\x03R\x04\x08\n\x0e\n\x07\x04\x05\x03\x01\x02\x02\x01\x12\x03R\t\x10\n\x0e\n\x07\x04\x05\x03\x01\x02\x02\x03\x12\x03R\x13\x14\nE\n\x04\x04\x05\x02\x00\x12\x03V\x02\x15\x1a8 The state version the key-value pair was committed at.\n\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03V\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03V\t\x10\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03V\x13\x14\n-\n\x04\x04\x05\x08\x00\x12\x04Y\x02\\\x03\x1a\x1f The entry that was committed.\n\n\x0c\n\x05\x04\x05\x08\x00\x01\x12\x03Y\x08\r\n\x0b\n\x04\x04\x05\x02\x01\x12\x03Z\x04\x14\n\x0c\n\x05\x04\x05\x02\x01\x06\x12\x03Z\x04\x0c\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03Z\r\x0f\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03Z\x12\x13\n\x0b\n\x04\x04\x05\x02\x02\x12\x03[\x04\x19\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03[\x04\x0e\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03[\x0f\x14\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03[\x17\x18b\x06proto3\n\x94-\n+penumbra/tools/summoning/v1/summoning.proto\x12\x1bpenumbra.tools.summoning.v1\x1a penumbra/core/keys/v1/keys.proto\x1a\x1epenumbra/core/num/v1/num.proto\"\xa2\x04\n\x12ParticipateRequest\x12V\n\x08identify\x18\x01 \x01(\x0b28.penumbra.tools.summoning.v1.ParticipateRequest.IdentifyH\x00R\x08identify\x12b\n\x0ccontribution\x18\x02 \x01(\x0b2<.penumbra.tools.summoning.v1.ParticipateRequest.ContributionH\x00R\x0ccontribution\x1aD\n\x08Identify\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\x1a\x82\x02\n\x0cContribution\x12B\n\x07updated\x18\x01 \x01(\x0b2(.penumbra.tools.summoning.v1.CeremonyCrsR\x07updated\x12V\n\rupdate_proofs\x18\x02 \x01(\x0b21.penumbra.tools.summoning.v1.CeremonyLinkingProofR\x0cupdateProofs\x12V\n\rparent_hashes\x18\x03 \x01(\x0b21.penumbra.tools.summoning.v1.CeremonyParentHashesR\x0cparentHashesB\x05\n\x03msg\"\xf8\x01\n\x0bCeremonyCrs\x12\x14\n\x05spend\x18d \x01(\x0cR\x05spend\x12\x16\n\x06output\x18e \x01(\x0cR\x06output\x12%\n\x0edelegator_vote\x18f \x01(\x0cR\rdelegatorVote\x12)\n\x10undelegate_claim\x18g \x01(\x0cR\x0fundelegateClaim\x12\x12\n\x04swap\x18h \x01(\x0cR\x04swap\x12\x1d\n\nswap_claim\x18i \x01(\x0cR\tswapClaim\x126\n\x17nullifer_derivation_crs\x18j \x01(\x0cR\x15nulliferDerivationCrs\"\x81\x02\n\x14CeremonyLinkingProof\x12\x14\n\x05spend\x18d \x01(\x0cR\x05spend\x12\x16\n\x06output\x18e \x01(\x0cR\x06output\x12%\n\x0edelegator_vote\x18f \x01(\x0cR\rdelegatorVote\x12)\n\x10undelegate_claim\x18g \x01(\x0cR\x0fundelegateClaim\x12\x12\n\x04swap\x18h \x01(\x0cR\x04swap\x12\x1d\n\nswap_claim\x18i \x01(\x0cR\tswapClaim\x126\n\x17nullifer_derivation_crs\x18j \x01(\x0cR\x15nulliferDerivationCrs\"\x81\x02\n\x14CeremonyParentHashes\x12\x14\n\x05spend\x18d \x01(\x0cR\x05spend\x12\x16\n\x06output\x18e \x01(\x0cR\x06output\x12%\n\x0edelegator_vote\x18f \x01(\x0cR\rdelegatorVote\x12)\n\x10undelegate_claim\x18g \x01(\x0cR\x0fundelegateClaim\x12\x12\n\x04swap\x18h \x01(\x0cR\x04swap\x12\x1d\n\nswap_claim\x18i \x01(\x0cR\tswapClaim\x126\n\x17nullifer_derivation_crs\x18j \x01(\x0cR\x15nulliferDerivationCrs\"\x81\x05\n\x13ParticipateResponse\x12W\n\x08position\x18\x01 \x01(\x0b29.penumbra.tools.summoning.v1.ParticipateResponse.PositionH\x00R\x08position\x12g\n\x0econtribute_now\x18\x02 \x01(\x0b2>.penumbra.tools.summoning.v1.ParticipateResponse.ContributeNowH\x00R\rcontributeNow\x12T\n\x07confirm\x18\x03 \x01(\x0b28.penumbra.tools.summoning.v1.ParticipateResponse.ConfirmH\x00R\x07confirm\x1a\xd8\x01\n\x08Position\x12\x1a\n\x08position\x18\x01 \x01(\rR\x08position\x125\n\x16connected_participants\x18\x02 \x01(\rR\x15connectedParticipants\x12@\n\rlast_slot_bid\x18\x03 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0blastSlotBid\x127\n\x08your_bid\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x07yourBid\x1aQ\n\rContributeNow\x12@\n\x06parent\x18\x01 \x01(\x0b2(.penumbra.tools.summoning.v1.CeremonyCrsR\x06parent\x1a\x1d\n\x07Confirm\x12\x12\n\x04slot\x18\x01 \x01(\x04R\x04slotB\x05\n\x03msg2\x92\x01\n\x1aCeremonyCoordinatorService\x12t\n\x0bParticipate\x12/.penumbra.tools.summoning.v1.ParticipateRequest\x1a0.penumbra.tools.summoning.v1.ParticipateResponse(\x010\x01J\xbc\x1b\n\x06\x12\x04\x00\x00e\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00$\n\t\n\x02\x03\x00\x12\x03\x04\x00*\n\t\n\x02\x03\x01\x12\x03\x05\x00(\nG\n\x02\x06\x00\x12\x04\x08\x00\x15\x01\x1a; Runs a Phase 2 MPC ceremony with dynamic slot allocation.\n\n\n\n\x03\x06\x00\x01\x12\x03\x08\x08\"\n\xba\x02\n\x04\x06\x00\x02\x00\x12\x03\x14\x02R\x1a\xac\x02 The protocol used to participate in the ceremony.\n\n The message flow is\n ```\n Client                     Server\n  Identify     ===========>\n               <=========== Position (repeated)\n               <=========== ContributeNow\n  Contribution ===========>\n               <=========== Confirm\n ```\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x14\x06\x11\n\x0c\n\x05\x06\x00\x02\x00\x05\x12\x03\x14\x12\x18\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x14\x19+\n\x0c\n\x05\x06\x00\x02\x00\x06\x12\x03\x146<\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x14=P\n\n\n\x02\x04\x00\x12\x04\x17\x00(\x01\n\n\n\x03\x04\x00\x01\x12\x03\x17\x08\x1a\nT\n\x04\x04\x00\x03\x00\x12\x04\x19\x02\x1b\x03\x1aF Sent at the beginning of the connection to identify the participant.\n\n\x0c\n\x05\x04\x00\x03\x00\x01\x12\x03\x19\n\x12\n\r\n\x06\x04\x00\x03\x00\x02\x00\x12\x03\x1a\x04%\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x06\x12\x03\x1a\x04\x18\n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x01\x12\x03\x1a\x19 \n\x0e\n\x07\x04\x00\x03\x00\x02\x00\x03\x12\x03\x1a#$\nP\n\x04\x04\x00\x03\x01\x12\x04\x1e\x02\"\x03\x1aB Sent by the participant after getting a `ContributeNow` message.\n\n\x0c\n\x05\x04\x00\x03\x01\x01\x12\x03\x1e\n\x16\n\r\n\x06\x04\x00\x03\x01\x02\x00\x12\x03\x1f\x04\x1c\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x06\x12\x03\x1f\x04\x0f\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x01\x12\x03\x1f\x10\x17\n\x0e\n\x07\x04\x00\x03\x01\x02\x00\x03\x12\x03\x1f\x1a\x1b\n\r\n\x06\x04\x00\x03\x01\x02\x01\x12\x03 \x04+\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x06\x12\x03 \x04\x18\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x01\x12\x03 \x19&\n\x0e\n\x07\x04\x00\x03\x01\x02\x01\x03\x12\x03 )*\n\r\n\x06\x04\x00\x03\x01\x02\x02\x12\x03!\x04+\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x06\x12\x03!\x04\x18\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x01\x12\x03!\x19&\n\x0e\n\x07\x04\x00\x03\x01\x02\x02\x03\x12\x03!)*\n\x0c\n\x04\x04\x00\x08\x00\x12\x04$\x02\'\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03$\x08\x0b\n\x0b\n\x04\x04\x00\x02\x00\x12\x03%\x04\x1a\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03%\x04\x0c\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03%\r\x15\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03%\x18\x19\n\x0b\n\x04\x04\x00\x02\x01\x12\x03&\x04\"\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03&\x04\x10\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03&\x11\x1d\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03& !\n\n\n\x02\x04\x01\x12\x04*\x002\x01\n\n\n\x03\x04\x01\x01\x12\x03*\x08\x13\n\x0b\n\x04\x04\x01\x02\x00\x12\x03+\x02\x14\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03+\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03+\x08\r\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03+\x10\x13\n\x0b\n\x04\x04\x01\x02\x01\x12\x03,\x02\x15\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03,\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03,\x08\x0e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03,\x11\x14\n\x0b\n\x04\x04\x01\x02\x02\x12\x03-\x02\x1d\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03-\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03-\x08\x16\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03-\x19\x1c\n\x0b\n\x04\x04\x01\x02\x03\x12\x03.\x02\x1f\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03.\x02\x07\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03.\x08\x18\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03.\x1b\x1e\n\x0b\n\x04\x04\x01\x02\x04\x12\x03/\x02\x13\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x03/\x02\x07\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03/\x08\x0c\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03/\x0f\x12\n\x0b\n\x04\x04\x01\x02\x05\x12\x030\x02\x19\n\x0c\n\x05\x04\x01\x02\x05\x05\x12\x030\x02\x07\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x030\x08\x12\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x030\x15\x18\n\x0b\n\x04\x04\x01\x02\x06\x12\x031\x02&\n\x0c\n\x05\x04\x01\x02\x06\x05\x12\x031\x02\x07\n\x0c\n\x05\x04\x01\x02\x06\x01\x12\x031\x08\x1f\n\x0c\n\x05\x04\x01\x02\x06\x03\x12\x031\"%\n\n\n\x02\x04\x02\x12\x044\x00<\x01\n\n\n\x03\x04\x02\x01\x12\x034\x08\x1c\n\x0b\n\x04\x04\x02\x02\x00\x12\x035\x02\x14\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x035\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x035\x08\r\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x035\x10\x13\n\x0b\n\x04\x04\x02\x02\x01\x12\x036\x02\x15\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x036\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x036\x08\x0e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x036\x11\x14\n\x0b\n\x04\x04\x02\x02\x02\x12\x037\x02\x1d\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x037\x02\x07\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x037\x08\x16\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x037\x19\x1c\n\x0b\n\x04\x04\x02\x02\x03\x12\x038\x02\x1f\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x038\x02\x07\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x038\x08\x18\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x038\x1b\x1e\n\x0b\n\x04\x04\x02\x02\x04\x12\x039\x02\x13\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\x039\x02\x07\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x039\x08\x0c\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x039\x0f\x12\n\x0b\n\x04\x04\x02\x02\x05\x12\x03:\x02\x19\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03:\x02\x07\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03:\x08\x12\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03:\x15\x18\n\x0b\n\x04\x04\x02\x02\x06\x12\x03;\x02&\n\x0c\n\x05\x04\x02\x02\x06\x05\x12\x03;\x02\x07\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03;\x08\x1f\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03;\"%\n\n\n\x02\x04\x03\x12\x04>\x00F\x01\n\n\n\x03\x04\x03\x01\x12\x03>\x08\x1c\n\x0b\n\x04\x04\x03\x02\x00\x12\x03?\x02\x14\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\r\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03?\x10\x13\n\x0b\n\x04\x04\x03\x02\x01\x12\x03@\x02\x15\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03@\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03@\x08\x0e\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03@\x11\x14\n\x0b\n\x04\x04\x03\x02\x02\x12\x03A\x02\x1d\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03A\x02\x07\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03A\x08\x16\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03A\x19\x1c\n\x0b\n\x04\x04\x03\x02\x03\x12\x03B\x02\x1f\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x03B\x02\x07\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03B\x08\x18\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03B\x1b\x1e\n\x0b\n\x04\x04\x03\x02\x04\x12\x03C\x02\x13\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03C\x02\x07\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03C\x08\x0c\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03C\x0f\x12\n\x0b\n\x04\x04\x03\x02\x05\x12\x03D\x02\x19\n\x0c\n\x05\x04\x03\x02\x05\x05\x12\x03D\x02\x07\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03D\x08\x12\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03D\x15\x18\n\x0b\n\x04\x04\x03\x02\x06\x12\x03E\x02&\n\x0c\n\x05\x04\x03\x02\x06\x05\x12\x03E\x02\x07\n\x0c\n\x05\x04\x03\x02\x06\x01\x12\x03E\x08\x1f\n\x0c\n\x05\x04\x03\x02\x06\x03\x12\x03E\"%\n\n\n\x02\x04\x04\x12\x04H\x00e\x01\n\n\n\x03\x04\x04\x01\x12\x03H\x08\x1b\nZ\n\x04\x04\x04\x03\x00\x12\x04J\x02S\x03\x1aL Streamed to the participant to inform them of their position in the queue.\n\n\x0c\n\x05\x04\x04\x03\x00\x01\x12\x03J\n\x12\n>\n\x06\x04\x04\x03\x00\x02\x00\x12\x03L\x04\x18\x1a/ The position of the participant in the queue.\n\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x05\x12\x03L\x04\n\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x01\x12\x03L\x0b\x13\n\x0e\n\x07\x04\x04\x03\x00\x02\x00\x03\x12\x03L\x16\x17\n?\n\x06\x04\x04\x03\x00\x02\x01\x12\x03N\x04&\x1a0 The total number of participants in the queue.\n\n\x0e\n\x07\x04\x04\x03\x00\x02\x01\x05\x12\x03N\x04\n\n\x0e\n\x07\x04\x04\x03\x00\x02\x01\x01\x12\x03N\x0b!\n\x0e\n\x07\x04\x04\x03\x00\x02\x01\x03\x12\x03N$%\nJ\n\x06\x04\x04\x03\x00\x02\x02\x12\x03P\x04)\x1a; The bid for the most recently executed contribution slot.\n\n\x0e\n\x07\x04\x04\x03\x00\x02\x02\x06\x12\x03P\x04\x16\n\x0e\n\x07\x04\x04\x03\x00\x02\x02\x01\x12\x03P\x17$\n\x0e\n\x07\x04\x04\x03\x00\x02\x02\x03\x12\x03P\'(\n/\n\x06\x04\x04\x03\x00\x02\x03\x12\x03R\x04$\x1a  The participant\'s current bid.\n\n\x0e\n\x07\x04\x04\x03\x00\x02\x03\x06\x12\x03R\x04\x16\n\x0e\n\x07\x04\x04\x03\x00\x02\x03\x01\x12\x03R\x17\x1f\n\x0e\n\x07\x04\x04\x03\x00\x02\x03\x03\x12\x03R\"#\nW\n\x04\x04\x04\x03\x01\x12\x04V\x02Y\x03\x1aI Sent to the participant to inform them that they should contribute now.\n\n\x0c\n\x05\x04\x04\x03\x01\x01\x12\x03V\n\x17\nJ\n\x06\x04\x04\x03\x01\x02\x00\x12\x03X\x04\x1b\x1a; The most recent CRS, which the participant should update.\n\n\x0e\n\x07\x04\x04\x03\x01\x02\x00\x06\x12\x03X\x04\x0f\n\x0e\n\x07\x04\x04\x03\x01\x02\x00\x01\x12\x03X\x10\x16\n\x0e\n\x07\x04\x04\x03\x01\x02\x00\x03\x12\x03X\x19\x1a\nR\n\x04\x04\x04\x03\x02\x12\x04\\\x02^\x03\x1aD Sent to the participant to confim their contribution was accepted.\n\n\x0c\n\x05\x04\x04\x03\x02\x01\x12\x03\\\n\x11\n\r\n\x06\x04\x04\x03\x02\x02\x00\x12\x03]\x04\x14\n\x0e\n\x07\x04\x04\x03\x02\x02\x00\x05\x12\x03]\x04\n\n\x0e\n\x07\x04\x04\x03\x02\x02\x00\x01\x12\x03]\x0b\x0f\n\x0e\n\x07\x04\x04\x03\x02\x02\x00\x03\x12\x03]\x12\x13\n\x0c\n\x04\x04\x04\x08\x00\x12\x04`\x02d\x03\n\x0c\n\x05\x04\x04\x08\x00\x01\x12\x03`\x08\x0b\n\x0b\n\x04\x04\x04\x02\x00\x12\x03a\x04\x1a\n\x0c\n\x05\x04\x04\x02\x00\x06\x12\x03a\x04\x0c\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03a\r\x15\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03a\x18\x19\n\x0b\n\x04\x04\x04\x02\x01\x12\x03b\x04%\n\x0c\n\x05\x04\x04\x02\x01\x06\x12\x03b\x04\x11\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03b\x12 \n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03b#$\n\x0b\n\x04\x04\x04\x02\x02\x12\x03c\x04\x18\n\x0c\n\x05\x04\x04\x02\x02\x06\x12\x03c\x04\x0b\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03c\x0c\x13\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03c\x16\x17b\x06proto3\n\xc31\n\x1fgoogle/protobuf/timestamp.proto\x12\x0fgoogle.protobuf\";\n\tTimestamp\x12\x18\n\x07seconds\x18\x01 \x01(\x03R\x07seconds\x12\x14\n\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x85\x01\n\x13com.google.protobufB\x0eTimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestamppb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesJ\xc1/\n\x07\x12\x05\x1e\x00\x8f\x01\x01\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\x1f\n\t\n\x02\x08\x1f\x12\x03\"\x00\x1f\n\x08\n\x01\x08\x12\x03#\x00I\n\t\n\x02\x08\x0b\x12\x03#\x00I\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;\n\t\n\x02\x08%\x12\x03(\x00;\n\xda\x1d\n\x02\x04\x00\x12\x06\x84\x01\x00\x8f\x01\x01\x1a\xcb\x1d A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n     Timestamp timestamp;\n     timestamp.set_seconds(time(NULL));\n     timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n     struct timeval tv;\n     gettimeofday(&tv, NULL);\n\n     Timestamp timestamp;\n     timestamp.set_seconds(tv.tv_sec);\n     timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n     FILETIME ft;\n     GetSystemTimeAsFileTime(&ft);\n     UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n     // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n     // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n     Timestamp timestamp;\n     timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n     timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n     long millis = System.currentTimeMillis();\n\n     Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n         .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n     Instant now = Instant.now();\n\n     Timestamp timestamp =\n         Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n             .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n     timestamp = Timestamp()\n     timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec \'%Y-%m-%dT%H:%M:%S.%fZ\'. Likewise, in Java, one can use\n the Joda Time\'s [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format.\n\n\n\x0b\n\x03\x04\x00\x01\x12\x04\x84\x01\x08\x11\n\x9d\x01\n\x04\x04\x00\x02\x00\x12\x04\x88\x01\x02\x14\x1a\x8e\x01 Represents seconds of UTC time since Unix epoch\n 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n 9999-12-31T23:59:59Z inclusive.\n\n\r\n\x05\x04\x00\x02\x00\x05\x12\x04\x88\x01\x02\x07\n\r\n\x05\x04\x00\x02\x00\x01\x12\x04\x88\x01\x08\x0f\n\r\n\x05\x04\x00\x02\x00\x03\x12\x04\x88\x01\x12\x13\n\xe5\x01\n\x04\x04\x00\x02\x01\x12\x04\x8e\x01\x02\x12\x1a\xd6\x01 Non-negative fractions of a second at nanosecond resolution. Negative\n second values with fractions must still have non-negative nanos values\n that count forward in time. Must be from 0 to 999,999,999\n inclusive.\n\n\r\n\x05\x04\x00\x02\x01\x05\x12\x04\x8e\x01\x02\x07\n\r\n\x05\x04\x00\x02\x01\x01\x12\x04\x8e\x01\x08\r\n\r\n\x05\x04\x00\x02\x01\x03\x12\x04\x8e\x01\x10\x11b\x06proto3\n\xe4\r\n\x1dtendermint/crypto/proof.proto\x12\x11tendermint.crypto\x1a\x14gogoproto/gogo.proto\"f\n\x05Proof\x12\x14\n\x05total\x18\x01 \x01(\x03R\x05total\x12\x14\n\x05index\x18\x02 \x01(\x03R\x05index\x12\x1b\n\tleaf_hash\x18\x03 \x01(\x0cR\x08leafHash\x12\x14\n\x05aunts\x18\x04 \x03(\x0cR\x05aunts\"K\n\x07ValueOp\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12.\n\x05proof\x18\x02 \x01(\x0b2\x18.tendermint.crypto.ProofR\x05proof\"J\n\x08DominoOp\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05input\x18\x02 \x01(\tR\x05input\x12\x16\n\x06output\x18\x03 \x01(\tR\x06output\"C\n\x07ProofOp\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\x0cR\x03key\x12\x12\n\x04data\x18\x03 \x01(\x0cR\x04data\">\n\x08ProofOps\x122\n\x03ops\x18\x01 \x03(\x0b2\x1a.tendermint.crypto.ProofOpB\x04\xc8\xde\x1f\x00R\x03opsB6Z4github.com/cometbft/cometbft/proto/tendermint/cryptoJ\xd3\t\n\x06\x12\x04\x00\x00(\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1a\n\x08\n\x01\x08\x12\x03\x03\x00K\n\t\n\x02\x08\x0b\x12\x03\x03\x00K\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\n\n\x02\x04\x00\x12\x04\x07\x00\x0c\x01\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\r\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x08\x02\x1f\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\x11\x16\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\x1d\x1e\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\t\x02\x1f\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\t\x02\x07\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\t\x11\x16\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\t\x1d\x1e\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\n\x02\x1f\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\n\x02\x07\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\n\x11\x1a\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\n\x1d\x1e\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\x0b\x02\x1f\n\x0c\n\x05\x04\x00\x02\x03\x04\x12\x03\x0b\x02\n\n\x0c\n\x05\x04\x00\x02\x03\x05\x12\x03\x0b\x0b\x10\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\x0b\x11\x16\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\x0b\x1d\x1e\n\n\n\x02\x04\x01\x12\x04\x0e\x00\x14\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0e\x08\x0f\n&\n\x04\x04\x01\x02\x00\x12\x03\x10\x02\x10\x1a\x19 Encoded in ProofOp.Key.\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x10\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x10\x08\x0b\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x10\x0e\x0f\n(\n\x04\x04\x01\x02\x01\x12\x03\x13\x02\x12\x1a\x1b To encode in ProofOp.Data\n\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x13\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x13\x08\r\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x13\x10\x11\n\n\n\x02\x04\x02\x12\x04\x16\x00\x1a\x01\n\n\n\x03\x04\x02\x01\x12\x03\x16\x08\x10\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x17\x02\x14\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x03\x17\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x17\t\x0c\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x17\x12\x13\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x18\x02\x14\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x18\t\x0e\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x18\x12\x13\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x19\x02\x14\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03\x19\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x19\t\x0f\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x19\x12\x13\n\xae\x01\n\x02\x04\x03\x12\x04\x1f\x00#\x01\x1a\xa1\x01 ProofOp defines an operation used for calculating Merkle root\n The data could be arbitrary format, providing nessecary data\n for example neighbouring node hash\n\n\n\n\x03\x04\x03\x01\x12\x03\x1f\x08\x0f\n\x0b\n\x04\x04\x03\x02\x00\x12\x03 \x02\x12\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\x0b\n\x04\x04\x03\x02\x01\x12\x03!\x02\x12\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03!\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03!\t\x0c\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03!\x10\x11\n\x0b\n\x04\x04\x03\x02\x02\x12\x03\"\x02\x12\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03\"\x02\x07\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03\"\t\r\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03\"\x10\x11\nF\n\x02\x04\x04\x12\x04&\x00(\x01\x1a: ProofOps is Merkle proof defined by the list of ProofOps\n\n\n\n\x03\x04\x04\x01\x12\x03&\x08\x10\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\x12\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03\'\x13\x16\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03\'\x19\x1a\n\x0c\n\x05\x04\x04\x02\x00\x08\x12\x03\'\x1b9\n\x0f\n\x08\x04\x04\x02\x00\x08\xe9\xfb\x03\x12\x03\'\x1c8b\x06proto3\n\xe1\x0f\n\x1atendermint/p2p/types.proto\x12\x0etendermint.p2p\x1a\x14gogoproto/gogo.proto\"P\n\nNetAddress\x12\x16\n\x02id\x18\x01 \x01(\tB\x06\xe2\xde\x1f\x02IDR\x02id\x12\x16\n\x02ip\x18\x02 \x01(\tB\x06\xe2\xde\x1f\x02IPR\x02ip\x12\x12\n\x04port\x18\x03 \x01(\rR\x04port\"T\n\x0fProtocolVersion\x12\x19\n\x03p2p\x18\x01 \x01(\x04B\x07\xe2\xde\x1f\x03P2PR\x03p2p\x12\x14\n\x05block\x18\x02 \x01(\x04R\x05block\x12\x10\n\x03app\x18\x03 \x01(\x04R\x03app\"\xeb\x02\n\x0fDefaultNodeInfo\x12P\n\x10protocol_version\x18\x01 \x01(\x0b2\x1f.tendermint.p2p.ProtocolVersionB\x04\xc8\xde\x1f\x00R\x0fprotocolVersion\x129\n\x0fdefault_node_id\x18\x02 \x01(\tB\x11\xe2\xde\x1f\rDefaultNodeIDR\rdefaultNodeId\x12\x1f\n\x0blisten_addr\x18\x03 \x01(\tR\nlistenAddr\x12\x18\n\x07network\x18\x04 \x01(\tR\x07network\x12\x18\n\x07version\x18\x05 \x01(\tR\x07version\x12\x1a\n\x08channels\x18\x06 \x01(\x0cR\x08channels\x12\x18\n\x07moniker\x18\x07 \x01(\tR\x07moniker\x12@\n\x05other\x18\x08 \x01(\x0b2$.tendermint.p2p.DefaultNodeInfoOtherB\x04\xc8\xde\x1f\x00R\x05other\"b\n\x14DefaultNodeInfoOther\x12\x19\n\x08tx_index\x18\x01 \x01(\tR\x07txIndex\x12/\n\x0brpc_address\x18\x02 \x01(\tB\x0e\xe2\xde\x1f\nRPCAddressR\nrpcAddressB3Z1github.com/cometbft/cometbft/proto/tendermint/p2pJ\xe5\t\n\x06\x12\x04\x00\x00!\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x17\n\x08\n\x01\x08\x12\x03\x03\x00H\n\t\n\x02\x08\x0b\x12\x03\x03\x00H\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\n\n\x02\x04\x00\x12\x04\x07\x00\x0b\x01\n\n\n\x03\x04\x00\x01\x12\x03\x07\x08\x12\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x08\x022\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x08\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x08\t\x0b\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x08\x10\x11\n\x0c\n\x05\x04\x00\x02\x00\x08\x12\x03\x08\x121\n\x0f\n\x08\x04\x00\x02\x00\x08\xec\xfb\x03\x12\x03\x08\x130\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\t\x022\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\t\x02\x08\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\t\t\x0b\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\t\x10\x11\n\x0c\n\x05\x04\x00\x02\x01\x08\x12\x03\t\x121\n\x0f\n\x08\x04\x00\x02\x01\x08\xec\xfb\x03\x12\x03\t\x130\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\n\x02\x12\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\n\x02\x08\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\n\t\r\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\n\x10\x11\n\n\n\x02\x04\x01\x12\x04\r\x00\x11\x01\n\n\n\x03\x04\x01\x01\x12\x03\r\x08\x17\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x0e\x024\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x0e\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0e\t\x0c\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0e\x11\x12\n\x0c\n\x05\x04\x01\x02\x00\x08\x12\x03\x0e\x133\n\x0f\n\x08\x04\x01\x02\x00\x08\xec\xfb\x03\x12\x03\x0e\x142\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x0f\x02\x13\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\x0e\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x0f\x11\x12\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x10\x02\x13\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x10\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x10\t\x0c\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x10\x11\x12\n\n\n\x02\x04\x02\x12\x04\x13\x00\x1c\x01\n\n\n\x03\x04\x02\x01\x12\x03\x13\x08\x17\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x14\x02K\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x14\x02\x11\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x14\x17\'\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x14*+\n\x0c\n\x05\x04\x02\x02\x00\x08\x12\x03\x14,J\n\x0f\n\x08\x04\x02\x02\x00\x08\xe9\xfb\x03\x12\x03\x14-I\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x15\x02W\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x15\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x15\x17&\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x15*+\n\x0c\n\x05\x04\x02\x02\x01\x08\x12\x03\x15,V\n\x0f\n\x08\x04\x02\x02\x01\x08\xec\xfb\x03\x12\x03\x15-U\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x16\x02,\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x16\x17\"\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x16*+\n\x0b\n\x04\x04\x02\x02\x03\x12\x03\x17\x02,\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03\x17\x02\x08\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x17\x17\x1e\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03\x17*+\n\x0b\n\x04\x04\x02\x02\x04\x12\x03\x18\x02,\n\x0c\n\x05\x04\x02\x02\x04\x05\x12\x03\x18\x02\x08\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03\x18\x17\x1e\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03\x18*+\n\x0b\n\x04\x04\x02\x02\x05\x12\x03\x19\x02,\n\x0c\n\x05\x04\x02\x02\x05\x05\x12\x03\x19\x02\x07\n\x0c\n\x05\x04\x02\x02\x05\x01\x12\x03\x19\x17\x1f\n\x0c\n\x05\x04\x02\x02\x05\x03\x12\x03\x19*+\n\x0b\n\x04\x04\x02\x02\x06\x12\x03\x1a\x02,\n\x0c\n\x05\x04\x02\x02\x06\x05\x12\x03\x1a\x02\x08\n\x0c\n\x05\x04\x02\x02\x06\x01\x12\x03\x1a\x17\x1e\n\x0c\n\x05\x04\x02\x02\x06\x03\x12\x03\x1a*+\n\x0b\n\x04\x04\x02\x02\x07\x12\x03\x1b\x02K\n\x0c\n\x05\x04\x02\x02\x07\x06\x12\x03\x1b\x02\x16\n\x0c\n\x05\x04\x02\x02\x07\x01\x12\x03\x1b\x17\x1c\n\x0c\n\x05\x04\x02\x02\x07\x03\x12\x03\x1b*+\n\x0c\n\x05\x04\x02\x02\x07\x08\x12\x03\x1b,J\n\x0f\n\x08\x04\x02\x02\x07\x08\xe9\xfb\x03\x12\x03\x1b-I\n\n\n\x02\x04\x03\x12\x04\x1e\x00!\x01\n\n\n\x03\x04\x03\x01\x12\x03\x1e\x08\x1c\n\x0b\n\x04\x04\x03\x02\x00\x12\x03\x1f\x02\x19\n\x0c\n\x05\x04\x03\x02\x00\x05\x12\x03\x1f\x02\x08\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03\x1f\t\x11\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03\x1f\x17\x18\n\x0b\n\x04\x04\x03\x02\x01\x12\x03 \x02A\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03 \x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03 \t\x14\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03 \x17\x18\n\x0c\n\x05\x04\x03\x02\x01\x08\x12\x03 \x19@\n\x0f\n\x08\x04\x03\x02\x01\x08\xec\xfb\x03\x12\x03 \x1a?b\x06proto3\n\xd7\x07\n\x1etendermint/version/types.proto\x12\x12tendermint.version\x1a\x14gogoproto/gogo.proto\"=\n\x03App\x12\x1a\n\x08protocol\x18\x01 \x01(\x04R\x08protocol\x12\x1a\n\x08software\x18\x02 \x01(\tR\x08software\"9\n\tConsensus\x12\x14\n\x05block\x18\x01 \x01(\x04R\x05block\x12\x10\n\x03app\x18\x02 \x01(\x04R\x03app:\x04\xe8\xa0\x1f\x01B7Z5github.com/cometbft/cometbft/proto/tendermint/versionJ\xcf\x05\n\x06\x12\x04\x00\x00\x17\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1b\n\x08\n\x01\x08\x12\x03\x03\x00L\n\t\n\x02\x08\x0b\x12\x03\x03\x00L\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\xb7\x01\n\x02\x04\x00\x12\x04\n\x00\r\x01\x1a\xaa\x01 App includes the protocol and software version for the application.\n This information is included in ResponseInfo. The App.Protocol can be\n updated in ResponseEndBlock.\n\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x0b\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0b\x02\x16\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\x0b\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0b\t\x11\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0b\x14\x15\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0c\x02\x16\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\x11\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0c\x14\x15\n\xc7\x01\n\x02\x04\x01\x12\x04\x12\x00\x17\x01\x1a\xba\x01 Consensus captures the consensus rules for processing a block in the blockchain,\n including all blockchain data structures and the rules of the application\'s\n state transition machine.\n\n\n\n\x03\x04\x01\x01\x12\x03\x12\x08\x11\n\n\n\x03\x04\x01\x07\x12\x03\x13\x02\"\n\r\n\x06\x04\x01\x07\x8d\xf4\x03\x12\x03\x13\x02\"\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x15\x02\x13\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x15\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x15\t\x0e\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x15\x11\x12\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x16\x02\x13\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x16\t\x0c\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x16\x11\x12b\x06proto3\n\xb8\x04\n\x1ctendermint/crypto/keys.proto\x12\x11tendermint.crypto\x1a\x14gogoproto/gogo.proto\"X\n\tPublicKey\x12\x1a\n\x07ed25519\x18\x01 \x01(\x0cH\x00R\x07ed25519\x12\x1e\n\tsecp256k1\x18\x02 \x01(\x0cH\x00R\tsecp256k1:\x08\xe8\xa0\x1f\x01\xe8\xa1\x1f\x01B\x05\n\x03sumB6Z4github.com/cometbft/cometbft/proto/tendermint/cryptoJ\xd4\x02\n\x06\x12\x04\x00\x00\x10\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x1a\n\x08\n\x01\x08\x12\x03\x03\x00K\n\t\n\x02\x08\x0b\x12\x03\x03\x00K\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\nJ\n\x02\x04\x00\x12\x04\x08\x00\x10\x01\x1a> PublicKey defines the keys available for use with Validators\n\n\n\n\x03\x04\x00\x01\x12\x03\x08\x08\x11\n\n\n\x03\x04\x00\x07\x12\x03\t\x02$\n\r\n\x06\x04\x00\x07\x9d\xf4\x03\x12\x03\t\x02$\n\n\n\x03\x04\x00\x07\x12\x03\n\x02$\n\r\n\x06\x04\x00\x07\x8d\xf4\x03\x12\x03\n\x02$\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\x0b\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\r\x04\x18\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03\r\x04\t\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\r\n\x11\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\r\x16\x17\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0e\x04\x18\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\x0e\x04\t\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0e\n\x13\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0e\x16\x17b\x06proto3\n\xac\n\n tendermint/types/validator.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1ctendermint/crypto/keys.proto\"\xb2\x01\n\x0cValidatorSet\x12;\n\nvalidators\x18\x01 \x03(\x0b2\x1b.tendermint.types.ValidatorR\nvalidators\x127\n\x08proposer\x18\x02 \x01(\x0b2\x1b.tendermint.types.ValidatorR\x08proposer\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\"\xb2\x01\n\tValidator\x12\x18\n\x07address\x18\x01 \x01(\x0cR\x07address\x12;\n\x07pub_key\x18\x02 \x01(\x0b2\x1c.tendermint.crypto.PublicKeyB\x04\xc8\xde\x1f\x00R\x06pubKey\x12!\n\x0cvoting_power\x18\x03 \x01(\x03R\x0bvotingPower\x12+\n\x11proposer_priority\x18\x04 \x01(\x03R\x10proposerPriority\"k\n\x0fSimpleValidator\x125\n\x07pub_key\x18\x01 \x01(\x0b2\x1c.tendermint.crypto.PublicKeyR\x06pubKey\x12!\n\x0cvoting_power\x18\x02 \x01(\x03R\x0bvotingPowerB5Z3github.com/cometbft/cometbft/proto/tendermint/typesJ\xab\x05\n\x06\x12\x04\x00\x00\x18\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x19\n\x08\n\x01\x08\x12\x03\x03\x00J\n\t\n\x02\x08\x0b\x12\x03\x03\x00J\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\t\n\x02\x03\x01\x12\x03\x06\x00&\n\n\n\x02\x04\x00\x12\x04\x08\x00\x0c\x01\n\n\n\x03\x04\x00\x01\x12\x03\x08\x08\x14\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\t\x02,\n\x0c\n\x05\x04\x00\x02\x00\x04\x12\x03\t\x02\n\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\t\x0b\x14\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\t\x15\x1f\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\t*+\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\n\x02,\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\n\x02\x0b\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\n\x15\x1d\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\n*+\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x0b\x02,\n\x0c\n\x05\x04\x00\x02\x02\x05\x12\x03\x0b\x02\x07\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0b\x15\'\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0b*+\n\n\n\x02\x04\x01\x12\x04\x0e\x00\x13\x01\n\n\n\x03\x04\x01\x01\x12\x03\x0e\x08\x11\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x0f\x024\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03\x0f\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x0f\x1e%\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x0f23\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x10\x02S\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x10\x02\x1d\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x10\x1e%\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1023\n\x0c\n\x05\x04\x01\x02\x01\x08\x12\x03\x104R\n\x0f\n\x08\x04\x01\x02\x01\x08\xe9\xfb\x03\x12\x03\x105Q\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x11\x024\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x11\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x11\x1e*\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1123\n\x0b\n\x04\x04\x01\x02\x03\x12\x03\x12\x024\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x12\x02\x07\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x12\x1e/\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x1223\n\n\n\x02\x04\x02\x12\x04\x15\x00\x18\x01\n\n\n\x03\x04\x02\x01\x12\x03\x15\x08\x17\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x16\x02/\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x16\x02\x1d\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x16\x1e%\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x16-.\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x17\x02/\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x17\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x17\x1e*\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x17-.b\x06proto3\n\xdaJ\n\x1ctendermint/types/types.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dtendermint/crypto/proof.proto\x1a\x1etendermint/version/types.proto\x1a tendermint/types/validator.proto\"9\n\rPartSetHeader\x12\x14\n\x05total\x18\x01 \x01(\rR\x05total\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\"h\n\x04Part\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x14\n\x05bytes\x18\x02 \x01(\x0cR\x05bytes\x124\n\x05proof\x18\x03 \x01(\x0b2\x18.tendermint.crypto.ProofB\x04\xc8\xde\x1f\x00R\x05proof\"l\n\x07BlockID\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12M\n\x0fpart_set_header\x18\x02 \x01(\x0b2\x1f.tendermint.types.PartSetHeaderB\x04\xc8\xde\x1f\x00R\rpartSetHeader\"\xe6\x04\n\x06Header\x12=\n\x07version\x18\x01 \x01(\x0b2\x1d.tendermint.version.ConsensusB\x04\xc8\xde\x1f\x00R\x07version\x12&\n\x08chain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07ChainIDR\x07chainId\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x128\n\x04time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\x04time\x12C\n\rlast_block_id\x18\x05 \x01(\x0b2\x19.tendermint.types.BlockIDB\x04\xc8\xde\x1f\x00R\x0blastBlockId\x12(\n\x10last_commit_hash\x18\x06 \x01(\x0cR\x0elastCommitHash\x12\x1b\n\tdata_hash\x18\x07 \x01(\x0cR\x08dataHash\x12\'\n\x0fvalidators_hash\x18\x08 \x01(\x0cR\x0evalidatorsHash\x120\n\x14next_validators_hash\x18\t \x01(\x0cR\x12nextValidatorsHash\x12%\n\x0econsensus_hash\x18\n \x01(\x0cR\rconsensusHash\x12\x19\n\x08app_hash\x18\x0b \x01(\x0cR\x07appHash\x12*\n\x11last_results_hash\x18\x0c \x01(\x0cR\x0flastResultsHash\x12#\n\revidence_hash\x18\r \x01(\x0cR\x0cevidenceHash\x12)\n\x10proposer_address\x18\x0e \x01(\x0cR\x0fproposerAddress\"\x18\n\x04Data\x12\x10\n\x03txs\x18\x01 \x03(\x0cR\x03txs\"\xe8\x02\n\x04Vote\x123\n\x04type\x18\x01 \x01(\x0e2\x1f.tendermint.types.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12E\n\x08block_id\x18\x04 \x01(\x0b2\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07BlockIDR\x07blockId\x12B\n\ttimestamp\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12+\n\x11validator_address\x18\x06 \x01(\x0cR\x10validatorAddress\x12\'\n\x0fvalidator_index\x18\x07 \x01(\x05R\x0evalidatorIndex\x12\x1c\n\tsignature\x18\x08 \x01(\x0cR\tsignature\"\xc0\x01\n\x06Commit\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x02 \x01(\x05R\x05round\x12E\n\x08block_id\x18\x03 \x01(\x0b2\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07BlockIDR\x07blockId\x12A\n\nsignatures\x18\x04 \x03(\x0b2\x1b.tendermint.types.CommitSigB\x04\xc8\xde\x1f\x00R\nsignatures\"\xdd\x01\n\tCommitSig\x12A\n\rblock_id_flag\x18\x01 \x01(\x0e2\x1d.tendermint.types.BlockIDFlagR\x0bblockIdFlag\x12+\n\x11validator_address\x18\x02 \x01(\x0cR\x10validatorAddress\x12B\n\ttimestamp\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x04 \x01(\x0cR\tsignature\"\xb3\x02\n\x08Proposal\x123\n\x04type\x18\x01 \x01(\x0e2\x1f.tendermint.types.SignedMsgTypeR\x04type\x12\x16\n\x06height\x18\x02 \x01(\x03R\x06height\x12\x14\n\x05round\x18\x03 \x01(\x05R\x05round\x12\x1b\n\tpol_round\x18\x04 \x01(\x05R\x08polRound\x12E\n\x08block_id\x18\x05 \x01(\x0b2\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07BlockIDR\x07blockId\x12B\n\ttimestamp\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\x12\x1c\n\tsignature\x18\x07 \x01(\x0cR\tsignature\"r\n\x0cSignedHeader\x120\n\x06header\x18\x01 \x01(\x0b2\x18.tendermint.types.HeaderR\x06header\x120\n\x06commit\x18\x02 \x01(\x0b2\x18.tendermint.types.CommitR\x06commit\"\x96\x01\n\nLightBlock\x12C\n\rsigned_header\x18\x01 \x01(\x0b2\x1e.tendermint.types.SignedHeaderR\x0csignedHeader\x12C\n\rvalidator_set\x18\x02 \x01(\x0b2\x1e.tendermint.types.ValidatorSetR\x0cvalidatorSet\"\xc2\x01\n\tBlockMeta\x12E\n\x08block_id\x18\x01 \x01(\x0b2\x19.tendermint.types.BlockIDB\x0f\xc8\xde\x1f\x00\xe2\xde\x1f\x07BlockIDR\x07blockId\x12\x1d\n\nblock_size\x18\x02 \x01(\x03R\tblockSize\x126\n\x06header\x18\x03 \x01(\x0b2\x18.tendermint.types.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x12\x17\n\x07num_txs\x18\x04 \x01(\x03R\x06numTxs\"j\n\x07TxProof\x12\x1b\n\troot_hash\x18\x01 \x01(\x0cR\x08rootHash\x12\x12\n\x04data\x18\x02 \x01(\x0cR\x04data\x12.\n\x05proof\x18\x03 \x01(\x0b2\x18.tendermint.crypto.ProofR\x05proof*\xd7\x01\n\x0bBlockIDFlag\x121\n\x15BLOCK_ID_FLAG_UNKNOWN\x10\x00\x1a\x16\x8a\x9d \x12BlockIDFlagUnknown\x12/\n\x14BLOCK_ID_FLAG_ABSENT\x10\x01\x1a\x15\x8a\x9d \x11BlockIDFlagAbsent\x12/\n\x14BLOCK_ID_FLAG_COMMIT\x10\x02\x1a\x15\x8a\x9d \x11BlockIDFlagCommit\x12)\n\x11BLOCK_ID_FLAG_NIL\x10\x03\x1a\x12\x8a\x9d \x0eBlockIDFlagNil\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01*\xd7\x01\n\rSignedMsgType\x12,\n\x17SIGNED_MSG_TYPE_UNKNOWN\x10\x00\x1a\x0f\x8a\x9d \x0bUnknownType\x12,\n\x17SIGNED_MSG_TYPE_PREVOTE\x10\x01\x1a\x0f\x8a\x9d \x0bPrevoteType\x120\n\x19SIGNED_MSG_TYPE_PRECOMMIT\x10\x02\x1a\x11\x8a\x9d \rPrecommitType\x12.\n\x18SIGNED_MSG_TYPE_PROPOSAL\x10 \x1a\x10\x8a\x9d \x0cProposalType\x1a\x08\x88\xa3\x1e\x00\xa8\xa4\x1e\x01B5Z3github.com/cometbft/cometbft/proto/tendermint/typesJ\x841\n\x07\x12\x05\x00\x00\x9c\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x19\n\x08\n\x01\x08\x12\x03\x03\x00J\n\t\n\x02\x08\x0b\x12\x03\x03\x00J\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\t\n\x02\x03\x01\x12\x03\x06\x00)\n\t\n\x02\x03\x02\x12\x03\x07\x00\'\n\t\n\x02\x03\x03\x12\x03\x08\x00(\n\t\n\x02\x03\x04\x12\x03\t\x00*\nF\n\x02\x05\x00\x12\x04\x0c\x00\x14\x01\x1a: BlockIdFlag indicates which BlcokID the signature is for\n\n\n\n\x03\x05\x00\x01\x12\x03\x0c\x05\x10\n\n\n\x03\x05\x00\x03\x12\x03\r\x022\n\r\n\x06\x05\x00\x03\xc5\xe4\x03\x12\x03\r\x022\n\n\n\x03\x05\x00\x03\x12\x03\x0e\x023\n\r\n\x06\x05\x00\x03\xb1\xe4\x03\x12\x03\x0e\x023\n\x0b\n\x04\x05\x00\x02\x00\x12\x03\x10\x02V\n\x0c\n\x05\x05\x00\x02\x00\x01\x12\x03\x10\x02\x17\n\x0c\n\x05\x05\x00\x02\x00\x02\x12\x03\x10\x1a\x1b\n\x0c\n\x05\x05\x00\x02\x00\x03\x12\x03\x10\x1cU\n\x0f\n\x08\x05\x00\x02\x00\x03\xd1\x83\x04\x12\x03\x10\x1dT\n\x0b\n\x04\x05\x00\x02\x01\x12\x03\x11\x02U\n\x0c\n\x05\x05\x00\x02\x01\x01\x12\x03\x11\x02\x16\n\x0c\n\x05\x05\x00\x02\x01\x02\x12\x03\x11\x1a\x1b\n\x0c\n\x05\x05\x00\x02\x01\x03\x12\x03\x11\x1cT\n\x0f\n\x08\x05\x00\x02\x01\x03\xd1\x83\x04\x12\x03\x11\x1dS\n\x0b\n\x04\x05\x00\x02\x02\x12\x03\x12\x02U\n\x0c\n\x05\x05\x00\x02\x02\x01\x12\x03\x12\x02\x16\n\x0c\n\x05\x05\x00\x02\x02\x02\x12\x03\x12\x1a\x1b\n\x0c\n\x05\x05\x00\x02\x02\x03\x12\x03\x12\x1cT\n\x0f\n\x08\x05\x00\x02\x02\x03\xd1\x83\x04\x12\x03\x12\x1dS\n\x0b\n\x04\x05\x00\x02\x03\x12\x03\x13\x02R\n\x0c\n\x05\x05\x00\x02\x03\x01\x12\x03\x13\x02\x13\n\x0c\n\x05\x05\x00\x02\x03\x02\x12\x03\x13\x1a\x1b\n\x0c\n\x05\x05\x00\x02\x03\x03\x12\x03\x13\x1cQ\n\x0f\n\x08\x05\x00\x02\x03\x03\xd1\x83\x04\x12\x03\x13\x1dP\nI\n\x02\x05\x01\x12\x04\x17\x00\"\x01\x1a= SignedMsgType is a type of signed message in the consensus.\n\n\n\n\x03\x05\x01\x01\x12\x03\x17\x05\x12\n\n\n\x03\x05\x01\x03\x12\x03\x18\x022\n\r\n\x06\x05\x01\x03\xc5\xe4\x03\x12\x03\x18\x022\n\n\n\x03\x05\x01\x03\x12\x03\x19\x023\n\r\n\x06\x05\x01\x03\xb1\xe4\x03\x12\x03\x19\x023\n\x0b\n\x04\x05\x01\x02\x00\x12\x03\x1b\x02Q\n\x0c\n\x05\x05\x01\x02\x00\x01\x12\x03\x1b\x02\x19\n\x0c\n\x05\x05\x01\x02\x00\x02\x12\x03\x1b\x1c\x1d\n\x0c\n\x05\x05\x01\x02\x00\x03\x12\x03\x1b\x1eP\n\x0f\n\x08\x05\x01\x02\x00\x03\xd1\x83\x04\x12\x03\x1b\x1fO\n\x14\n\x04\x05\x01\x02\x01\x12\x03\x1d\x02S\x1a\x07 Votes\n\n\x0c\n\x05\x05\x01\x02\x01\x01\x12\x03\x1d\x02\x19\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03\x1d\x1e\x1f\n\x0c\n\x05\x05\x01\x02\x01\x03\x12\x03\x1d R\n\x0f\n\x08\x05\x01\x02\x01\x03\xd1\x83\x04\x12\x03\x1d!Q\n\x0b\n\x04\x05\x01\x02\x02\x12\x03\x1e\x02U\n\x0c\n\x05\x05\x01\x02\x02\x01\x12\x03\x1e\x02\x1b\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03\x1e\x1e\x1f\n\x0c\n\x05\x05\x01\x02\x02\x03\x12\x03\x1e T\n\x0f\n\x08\x05\x01\x02\x02\x03\xd1\x83\x04\x12\x03\x1e!S\n\x18\n\x04\x05\x01\x02\x03\x12\x03!\x02T\x1a\x0b Proposals\n\n\x0c\n\x05\x05\x01\x02\x03\x01\x12\x03!\x02\x1a\n\x0c\n\x05\x05\x01\x02\x03\x02\x12\x03!\x1d\x1f\n\x0c\n\x05\x05\x01\x02\x03\x03\x12\x03! S\n\x0f\n\x08\x05\x01\x02\x03\x03\xd1\x83\x04\x12\x03!!R\n\x1b\n\x02\x04\x00\x12\x04%\x00(\x01\x1a\x0f PartsetHeader\n\n\n\n\x03\x04\x00\x01\x12\x03%\x08\x15\n\x0b\n\x04\x04\x00\x02\x00\x12\x03&\x02\x13\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03&\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03&\t\x0e\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03&\x11\x12\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\'\x02\x13\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03\'\x02\x07\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\'\t\r\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\'\x11\x12\n\n\n\x02\x04\x01\x12\x04*\x00.\x01\n\n\n\x03\x04\x01\x01\x12\x03*\x08\x0c\n\x0b\n\x04\x04\x01\x02\x00\x12\x03+\x02$\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03+\x02\x08\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03+\x1a\x1f\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03+\"#\n\x0b\n\x04\x04\x01\x02\x01\x12\x03,\x02$\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03,\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03,\x1a\x1f\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03,\"#\n\x0b\n\x04\x04\x01\x02\x02\x12\x03-\x02C\n\x0c\n\x05\x04\x01\x02\x02\x06\x12\x03-\x02\x19\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03-\x1a\x1f\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03-\"#\n\x0c\n\x05\x04\x01\x02\x02\x08\x12\x03-$B\n\x0f\n\x08\x04\x01\x02\x02\x08\xe9\xfb\x03\x12\x03-%A\n\x15\n\x02\x04\x02\x12\x041\x004\x01\x1a\t BlockID\n\n\n\n\x03\x04\x02\x01\x12\x031\x08\x0f\n\x0b\n\x04\x04\x02\x02\x00\x12\x032\x02$\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x032\x02\x07\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x032\x10\x14\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x032\"#\n\x0b\n\x04\x04\x02\x02\x01\x12\x033\x02C\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x033\x02\x0f\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x033\x10\x1f\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x033\"#\n\x0c\n\x05\x04\x02\x02\x01\x08\x12\x033$B\n\x0f\n\x08\x04\x02\x02\x01\x08\xe9\xfb\x03\x12\x033%A\na\n\x02\x04\x03\x12\x049\x00Q\x01\x1a1 Header defines the structure of a block header.\n2\" --------------------------------\n\n\n\n\x03\x04\x03\x01\x12\x039\x08\x0e\n\x1f\n\x04\x04\x03\x02\x00\x12\x03;\x02K\x1a\x12 basic block info\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03;\x02\x1e\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03;\x1f&\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03;*+\n\x0c\n\x05\x04\x03\x02\x00\x08\x12\x03;,J\n\x0f\n\x08\x04\x03\x02\x00\x08\xe9\xfb\x03\x12\x03;-I\n\x0b\n\x04\x04\x03\x02\x01\x12\x03<\x02Q\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03<\x02\x08\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03<\x1f\'\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03<*+\n\x0c\n\x05\x04\x03\x02\x01\x08\x12\x03<,P\n\x0f\n\x08\x04\x03\x02\x01\x08\xec\xfb\x03\x12\x03<-O\n\x0b\n\x04\x04\x03\x02\x02\x12\x03=\x02,\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03=\x02\x07\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03=\x1f%\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03=*+\n\x0b\n\x04\x04\x03\x02\x03\x12\x03>\x02g\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03>\x02\x1b\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03>\x1f#\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\x03>*+\n\x0c\n\x05\x04\x03\x02\x03\x08\x12\x03>,f\n\x0f\n\x08\x04\x03\x02\x03\x08\xe9\xfb\x03\x12\x03>-I\n\x0f\n\x08\x04\x03\x02\x03\x08\xf2\xfb\x03\x12\x03>Ke\n\x1e\n\x04\x04\x03\x02\x04\x12\x03A\x02;\x1a\x11 prev block info\n\n\x0c\n\x05\x04\x03\x02\x04\x06\x12\x03A\x02\t\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03A\n\x17\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x03A\x1a\x1b\n\x0c\n\x05\x04\x03\x02\x04\x08\x12\x03A\x1c:\n\x0f\n\x08\x04\x03\x02\x04\x08\xe9\xfb\x03\x12\x03A\x1d9\nQ\n\x04\x04\x03\x02\x05\x12\x03D\x02\x1d\x1a\x16 hashes of block data\n\", commit from validators from the last block\n\n\x0c\n\x05\x04\x03\x02\x05\x05\x12\x03D\x02\x07\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03D\x08\x18\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03D\x1b\x1c\n\x1b\n\x04\x04\x03\x02\x06\x12\x03E\x02\x1d\"\x0e transactions\n\n\x0c\n\x05\x04\x03\x02\x06\x05\x12\x03E\x02\x07\n\x0c\n\x05\x04\x03\x02\x06\x01\x12\x03E\x08\x11\n\x0c\n\x05\x04\x03\x02\x06\x03\x12\x03E\x1b\x1c\na\n\x04\x04\x03\x02\x07\x12\x03H\x02!\x1a0 hashes from the app output from the prev block\n\"\" validators for the current block\n\n\x0c\n\x05\x04\x03\x02\x07\x05\x12\x03H\x02\x07\n\x0c\n\x05\x04\x03\x02\x07\x01\x12\x03H\x08\x17\n\x0c\n\x05\x04\x03\x02\x07\x03\x12\x03H\x1f \n,\n\x04\x04\x03\x02\x08\x12\x03I\x02!\"\x1f validators for the next block\n\n\x0c\n\x05\x04\x03\x02\x08\x05\x12\x03I\x02\x07\n\x0c\n\x05\x04\x03\x02\x08\x01\x12\x03I\x08\x1c\n\x0c\n\x05\x04\x03\x02\x08\x03\x12\x03I\x1f \n1\n\x04\x04\x03\x02\t\x12\x03J\x02\"\"$ consensus params for current block\n\n\x0c\n\x05\x04\x03\x02\t\x05\x12\x03J\x02\x07\n\x0c\n\x05\x04\x03\x02\t\x01\x12\x03J\x08\x16\n\x0c\n\x05\x04\x03\x02\t\x03\x12\x03J\x1f!\n6\n\x04\x04\x03\x02\n\x12\x03K\x02\"\") state after txs from the previous block\n\n\x0c\n\x05\x04\x03\x02\n\x05\x12\x03K\x02\x07\n\x0c\n\x05\x04\x03\x02\n\x01\x12\x03K\x08\x10\n\x0c\n\x05\x04\x03\x02\n\x03\x12\x03K\x1f!\nL\n\x04\x04\x03\x02\x0b\x12\x03L\x02\"\"? root hash of all results from the txs from the previous block\n\n\x0c\n\x05\x04\x03\x02\x0b\x05\x12\x03L\x02\x07\n\x0c\n\x05\x04\x03\x02\x0b\x01\x12\x03L\x08\x19\n\x0c\n\x05\x04\x03\x02\x0b\x03\x12\x03L\x1f!\n?\n\x04\x04\x03\x02\x0c\x12\x03O\x02\x1e\x1a\x10 consensus info\n\"  evidence included in the block\n\n\x0c\n\x05\x04\x03\x02\x0c\x05\x12\x03O\x02\x07\n\x0c\n\x05\x04\x03\x02\x0c\x01\x12\x03O\x08\x15\n\x0c\n\x05\x04\x03\x02\x0c\x03\x12\x03O\x1b\x1d\n-\n\x04\x04\x03\x02\r\x12\x03P\x02\x1e\"  original proposer of the block\n\n\x0c\n\x05\x04\x03\x02\r\x05\x12\x03P\x02\x07\n\x0c\n\x05\x04\x03\x02\r\x01\x12\x03P\x08\x18\n\x0c\n\x05\x04\x03\x02\r\x03\x12\x03P\x1b\x1d\nI\n\x02\x04\x04\x12\x04T\x00Y\x01\x1a= Data contains the set of transactions included in the block\n\n\n\n\x03\x04\x04\x01\x12\x03T\x08\x0c\n\xca\x01\n\x04\x04\x04\x02\x00\x12\x03X\x02\x19\x1a\xbc\x01 Txs that will be applied by state @ block.Height+1.\n NOTE: not all txs here are valid.  We\'re just agreeing on the order first.\n This means that block.AppHash does not include these txs.\n\n\x0c\n\x05\x04\x04\x02\x00\x04\x12\x03X\x02\n\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03X\x0b\x10\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03X\x11\x14\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03X\x17\x18\nb\n\x02\x04\x05\x12\x04]\x00h\x01\x1aV Vote represents a prevote, precommit, or commit vote from validators for\n consensus.\n\n\n\n\x03\x04\x05\x01\x12\x03]\x08\x0c\n\x0b\n\x04\x04\x05\x02\x00\x12\x03^\x02\x1d\n\x0c\n\x05\x04\x05\x02\x00\x06\x12\x03^\x02\x0f\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03^\x10\x14\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03^\x1b\x1c\n\x0b\n\x04\x04\x05\x02\x01\x12\x03_\x02\x1d\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03_\x02\x07\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03_\x10\x16\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03_\x1b\x1c\n\x0b\n\x04\x04\x05\x02\x02\x12\x03`\x02\x1d\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x03`\x02\x07\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03`\x10\x15\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03`\x1b\x1c\n$\n\x04\x04\x05\x02\x03\x12\x04a\x02bI\"\x16 zero if vote is nil.\n\n\x0c\n\x05\x04\x05\x02\x03\x06\x12\x03a\x02\t\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03a\x10\x18\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03a\x1b\x1c\n\x0c\n\x05\x04\x05\x02\x03\x08\x12\x03b\x06H\n\x0f\n\x08\x04\x05\x02\x03\x08\xe9\xfb\x03\x12\x03b\x07#\n\x0f\n\x08\x04\x05\x02\x03\x08\xec\xfb\x03\x12\x03b%G\n\x0c\n\x04\x04\x05\x02\x04\x12\x04c\x02dA\n\x0c\n\x05\x04\x05\x02\x04\x06\x12\x03c\x02\x1b\n\x0c\n\x05\x04\x05\x02\x04\x01\x12\x03c\x1c%\n\x0c\n\x05\x04\x05\x02\x04\x03\x12\x03c()\n\x0c\n\x05\x04\x05\x02\x04\x08\x12\x03d\x06@\n\x0f\n\x08\x04\x05\x02\x04\x08\xe9\xfb\x03\x12\x03d\x07#\n\x0f\n\x08\x04\x05\x02\x04\x08\xf2\xfb\x03\x12\x03d%?\n\x0b\n\x04\x04\x05\x02\x05\x12\x03e\x02\x1e\n\x0c\n\x05\x04\x05\x02\x05\x05\x12\x03e\x02\x07\n\x0c\n\x05\x04\x05\x02\x05\x01\x12\x03e\x08\x19\n\x0c\n\x05\x04\x05\x02\x05\x03\x12\x03e\x1c\x1d\n\x0b\n\x04\x04\x05\x02\x06\x12\x03f\x02\x1e\n\x0c\n\x05\x04\x05\x02\x06\x05\x12\x03f\x02\x07\n\x0c\n\x05\x04\x05\x02\x06\x01\x12\x03f\x08\x17\n\x0c\n\x05\x04\x05\x02\x06\x03\x12\x03f\x1c\x1d\n\x0b\n\x04\x04\x05\x02\x07\x12\x03g\x02\x1e\n\x0c\n\x05\x04\x05\x02\x07\x05\x12\x03g\x02\x07\n\x0c\n\x05\x04\x05\x02\x07\x01\x12\x03g\x08\x11\n\x0c\n\x05\x04\x05\x02\x07\x03\x12\x03g\x1c\x1d\n]\n\x02\x04\x06\x12\x04k\x00p\x01\x1aQ Commit contains the evidence that a block was committed by a set of validators.\n\n\n\n\x03\x04\x06\x01\x12\x03k\x08\x0e\n\x0b\n\x04\x04\x06\x02\x00\x12\x03l\x02$\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03l\x02\x07\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03l\x15\x1b\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03l\"#\n\x0b\n\x04\x04\x06\x02\x01\x12\x03m\x02$\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03m\x02\x07\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03m\x15\x1a\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03m\"#\n\x0b\n\x04\x04\x06\x02\x02\x12\x03n\x02g\n\x0c\n\x05\x04\x06\x02\x02\x06\x12\x03n\x02\t\n\x0c\n\x05\x04\x06\x02\x02\x01\x12\x03n\x15\x1d\n\x0c\n\x05\x04\x06\x02\x02\x03\x12\x03n\"#\n\x0c\n\x05\x04\x06\x02\x02\x08\x12\x03n$f\n\x0f\n\x08\x04\x06\x02\x02\x08\xe9\xfb\x03\x12\x03n%A\n\x0f\n\x08\x04\x06\x02\x02\x08\xec\xfb\x03\x12\x03nCe\n\x0b\n\x04\x04\x06\x02\x03\x12\x03o\x02C\n\x0c\n\x05\x04\x06\x02\x03\x04\x12\x03o\x02\n\n\x0c\n\x05\x04\x06\x02\x03\x06\x12\x03o\x0b\x14\n\x0c\n\x05\x04\x06\x02\x03\x01\x12\x03o\x15\x1f\n\x0c\n\x05\x04\x06\x02\x03\x03\x12\x03o\"#\n\x0c\n\x05\x04\x06\x02\x03\x08\x12\x03o$B\n\x0f\n\x08\x04\x06\x02\x03\x08\xe9\xfb\x03\x12\x03o%A\nC\n\x02\x04\x07\x12\x04s\x00y\x01\x1a7 CommitSig is a part of the Vote included in a Commit.\n\n\n\n\x03\x04\x07\x01\x12\x03s\x08\x11\n\x0b\n\x04\x04\x07\x02\x00\x12\x03t\x022\n\x0c\n\x05\x04\x07\x02\x00\x06\x12\x03t\x02\r\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03t\x1c)\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03t01\n\x0b\n\x04\x04\x07\x02\x01\x12\x03u\x022\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03u\x02\x07\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03u\x1c-\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03u01\n\x0c\n\x04\x04\x07\x02\x02\x12\x04v\x02wA\n\x0c\n\x05\x04\x07\x02\x02\x06\x12\x03v\x02\x1b\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03v\x1c%\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03v01\n\x0c\n\x05\x04\x07\x02\x02\x08\x12\x03w\x06@\n\x0f\n\x08\x04\x07\x02\x02\x08\xe9\xfb\x03\x12\x03w\x07#\n\x0f\n\x08\x04\x07\x02\x02\x08\xf2\xfb\x03\x12\x03w%?\n\x0b\n\x04\x04\x07\x02\x03\x12\x03x\x02\x16\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x03x\x02\x07\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03x\x08\x11\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03x\x14\x15\n\x0b\n\x02\x04\x08\x12\x05{\x00\x84\x01\x01\n\n\n\x03\x04\x08\x01\x12\x03{\x08\x10\n\x0b\n\x04\x04\x08\x02\x00\x12\x03|\x02*\n\x0c\n\x05\x04\x08\x02\x00\x06\x12\x03|\x02\x0f\n\x0c\n\x05\x04\x08\x02\x00\x01\x12\x03|\x1c \n\x0c\n\x05\x04\x08\x02\x00\x03\x12\x03|()\n\x0b\n\x04\x04\x08\x02\x01\x12\x03}\x02*\n\x0c\n\x05\x04\x08\x02\x01\x05\x12\x03}\x02\x07\n\x0c\n\x05\x04\x08\x02\x01\x01\x12\x03}\x1c\"\n\x0c\n\x05\x04\x08\x02\x01\x03\x12\x03}()\n\x0b\n\x04\x04\x08\x02\x02\x12\x03~\x02*\n\x0c\n\x05\x04\x08\x02\x02\x05\x12\x03~\x02\x07\n\x0c\n\x05\x04\x08\x02\x02\x01\x12\x03~\x1c!\n\x0c\n\x05\x04\x08\x02\x02\x03\x12\x03~()\n\x0b\n\x04\x04\x08\x02\x03\x12\x03\x7f\x02*\n\x0c\n\x05\x04\x08\x02\x03\x05\x12\x03\x7f\x02\x07\n\x0c\n\x05\x04\x08\x02\x03\x01\x12\x03\x7f\x1c%\n\x0c\n\x05\x04\x08\x02\x03\x03\x12\x03\x7f()\n\x0c\n\x04\x04\x08\x02\x04\x12\x04\x80\x01\x02m\n\r\n\x05\x04\x08\x02\x04\x06\x12\x04\x80\x01\x02\t\n\r\n\x05\x04\x08\x02\x04\x01\x12\x04\x80\x01\x1c$\n\r\n\x05\x04\x08\x02\x04\x03\x12\x04\x80\x01()\n\r\n\x05\x04\x08\x02\x04\x08\x12\x04\x80\x01*l\n\x10\n\x08\x04\x08\x02\x04\x08\xec\xfb\x03\x12\x04\x80\x01+M\n\x10\n\x08\x04\x08\x02\x04\x08\xe9\xfb\x03\x12\x04\x80\x01Ok\n\x0e\n\x04\x04\x08\x02\x05\x12\x06\x81\x01\x02\x82\x01A\n\r\n\x05\x04\x08\x02\x05\x06\x12\x04\x81\x01\x02\x1b\n\r\n\x05\x04\x08\x02\x05\x01\x12\x04\x81\x01\x1c%\n\r\n\x05\x04\x08\x02\x05\x03\x12\x04\x81\x01()\n\r\n\x05\x04\x08\x02\x05\x08\x12\x04\x82\x01\x06@\n\x10\n\x08\x04\x08\x02\x05\x08\xe9\xfb\x03\x12\x04\x82\x01\x07#\n\x10\n\x08\x04\x08\x02\x05\x08\xf2\xfb\x03\x12\x04\x82\x01%?\n\x0c\n\x04\x04\x08\x02\x06\x12\x04\x83\x01\x02\x16\n\r\n\x05\x04\x08\x02\x06\x05\x12\x04\x83\x01\x02\x07\n\r\n\x05\x04\x08\x02\x06\x01\x12\x04\x83\x01\x08\x11\n\r\n\x05\x04\x08\x02\x06\x03\x12\x04\x83\x01\x14\x15\n\x0c\n\x02\x04\t\x12\x06\x86\x01\x00\x89\x01\x01\n\x0b\n\x03\x04\t\x01\x12\x04\x86\x01\x08\x14\n\x0c\n\x04\x04\t\x02\x00\x12\x04\x87\x01\x02\x14\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\x87\x01\x02\x08\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\x87\x01\t\x0f\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\x87\x01\x12\x13\n\x0c\n\x04\x04\t\x02\x01\x12\x04\x88\x01\x02\x14\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\x88\x01\x02\x08\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x88\x01\t\x0f\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\x88\x01\x12\x13\n\x0c\n\x02\x04\n\x12\x06\x8b\x01\x00\x8e\x01\x01\n\x0b\n\x03\x04\n\x01\x12\x04\x8b\x01\x08\x12\n\x0c\n\x04\x04\n\x02\x00\x12\x04\x8c\x01\x022\n\r\n\x05\x04\n\x02\x00\x06\x12\x04\x8c\x01\x02\x0e\n\r\n\x05\x04\n\x02\x00\x01\x12\x04\x8c\x01 -\n\r\n\x05\x04\n\x02\x00\x03\x12\x04\x8c\x0101\n\x0c\n\x04\x04\n\x02\x01\x12\x04\x8d\x01\x022\n\r\n\x05\x04\n\x02\x01\x06\x12\x04\x8d\x01\x02\x1f\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\x8d\x01 -\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\x8d\x0101\n\x0c\n\x02\x04\x0b\x12\x06\x90\x01\x00\x95\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\x90\x01\x08\x11\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\x91\x01\x02\\\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\x91\x01\x02\t\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\x91\x01\n\x12\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\x91\x01\x17\x18\n\r\n\x05\x04\x0b\x02\x00\x08\x12\x04\x91\x01\x19[\n\x10\n\x08\x04\x0b\x02\x00\x08\xec\xfb\x03\x12\x04\x91\x01\x1a<\n\x10\n\x08\x04\x0b\x02\x00\x08\xe9\xfb\x03\x12\x04\x91\x01>Z\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\x92\x01\x02\x19\n\r\n\x05\x04\x0b\x02\x01\x05\x12\x04\x92\x01\x02\x07\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\x92\x01\n\x14\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\x92\x01\x17\x18\n\x0c\n\x04\x04\x0b\x02\x02\x12\x04\x93\x01\x028\n\r\n\x05\x04\x0b\x02\x02\x06\x12\x04\x93\x01\x02\x08\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\x93\x01\n\x10\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\x93\x01\x17\x18\n\r\n\x05\x04\x0b\x02\x02\x08\x12\x04\x93\x01\x197\n\x10\n\x08\x04\x0b\x02\x02\x08\xe9\xfb\x03\x12\x04\x93\x01\x1a6\n\x0c\n\x04\x04\x0b\x02\x03\x12\x04\x94\x01\x02\x19\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\x94\x01\x02\x07\n\r\n\x05\x04\x0b\x02\x03\x01\x12\x04\x94\x01\n\x11\n\r\n\x05\x04\x0b\x02\x03\x03\x12\x04\x94\x01\x17\x18\nf\n\x02\x04\x0c\x12\x06\x98\x01\x00\x9c\x01\x01\x1aX TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x98\x01\x08\x0f\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\x99\x01\x02(\n\r\n\x05\x04\x0c\x02\x00\x05\x12\x04\x99\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x99\x01\x1a#\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x99\x01&\'\n\x0c\n\x04\x04\x0c\x02\x01\x12\x04\x9a\x01\x02(\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x9a\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x9a\x01\x1a\x1e\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\x9a\x01&\'\n\x0c\n\x04\x04\x0c\x02\x02\x12\x04\x9b\x01\x02(\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\x9b\x01\x02\x19\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\x9b\x01\x1a\x1f\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\x9b\x01&\'b\x06proto3\n\x87\x13\n\x1ftendermint/types/evidence.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1ctendermint/types/types.proto\x1a tendermint/types/validator.proto\"\xe4\x01\n\x08Evidence\x12a\n\x17duplicate_vote_evidence\x18\x01 \x01(\x0b2\'.tendermint.types.DuplicateVoteEvidenceH\x00R\x15duplicateVoteEvidence\x12n\n\x1clight_client_attack_evidence\x18\x02 \x01(\x0b2+.tendermint.types.LightClientAttackEvidenceH\x00R\x19lightClientAttackEvidenceB\x05\n\x03sum\"\x90\x02\n\x15DuplicateVoteEvidence\x12-\n\x06vote_a\x18\x01 \x01(\x0b2\x16.tendermint.types.VoteR\x05voteA\x12-\n\x06vote_b\x18\x02 \x01(\x0b2\x16.tendermint.types.VoteR\x05voteB\x12,\n\x12total_voting_power\x18\x03 \x01(\x03R\x10totalVotingPower\x12\'\n\x0fvalidator_power\x18\x04 \x01(\x03R\x0evalidatorPower\x12B\n\ttimestamp\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"\xcd\x02\n\x19LightClientAttackEvidence\x12I\n\x11conflicting_block\x18\x01 \x01(\x0b2\x1c.tendermint.types.LightBlockR\x10conflictingBlock\x12#\n\rcommon_height\x18\x02 \x01(\x03R\x0ccommonHeight\x12N\n\x14byzantine_validators\x18\x03 \x03(\x0b2\x1b.tendermint.types.ValidatorR\x13byzantineValidators\x12,\n\x12total_voting_power\x18\x04 \x01(\x03R\x10totalVotingPower\x12B\n\ttimestamp\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01R\ttimestamp\"L\n\x0cEvidenceList\x12<\n\x08evidence\x18\x01 \x03(\x0b2\x1a.tendermint.types.EvidenceB\x04\xc8\xde\x1f\x00R\x08evidenceB5Z3github.com/cometbft/cometbft/proto/tendermint/typesJ\x83\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\x01\x00\x19\n\x08\n\x01\x08\x12\x03\x03\x00J\n\t\n\x02\x08\x0b\x12\x03\x03\x00J\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\t\n\x02\x03\x01\x12\x03\x06\x00)\n\t\n\x02\x03\x02\x12\x03\x07\x00&\n\t\n\x02\x03\x03\x12\x03\x08\x00*\n\n\n\x02\x04\x00\x12\x04\n\x00\x0f\x01\n\n\n\x03\x04\x00\x01\x12\x03\n\x08\x10\n\x0c\n\x04\x04\x00\x08\x00\x12\x04\x0b\x02\x0e\x03\n\x0c\n\x05\x04\x00\x08\x00\x01\x12\x03\x0b\x08\x0b\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\x0c\x04?\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\x0c\x04\x19\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\x0c\x1e5\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\x0c=>\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\r\x04?\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\r\x04\x1d\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\r\x1e:\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\r=>\nb\n\x02\x04\x01\x12\x04\x12\x00\x18\x01\x1aV DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.\n\n\n\n\x03\x04\x01\x01\x12\x03\x12\x08\x1d\n\x0b\n\x04\x04\x01\x02\x00\x12\x03\x13\x023\n\x0c\n\x05\x04\x01\x02\x00\x06\x12\x03\x13\x02\x17\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03\x13\x1c\"\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03\x1312\n\x0b\n\x04\x04\x01\x02\x01\x12\x03\x14\x023\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03\x14\x02\x17\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x14\x1c\"\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x1412\n\x0b\n\x04\x04\x01\x02\x02\x12\x03\x15\x023\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\x15\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x15\x1c.\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03\x1512\n\x0b\n\x04\x04\x01\x02\x03\x12\x03\x16\x023\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x16\x02\x07\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03\x16\x1c+\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03\x1612\n\x0b\n\x04\x04\x01\x02\x04\x12\x03\x17\x02n\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03\x17\x02\x1b\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\x17\x1c%\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x1712\n\x0c\n\x05\x04\x01\x02\x04\x08\x12\x03\x173m\n\x0f\n\x08\x04\x01\x02\x04\x08\xe9\xfb\x03\x12\x03\x174P\n\x0f\n\x08\x04\x01\x02\x04\x08\xf2\xfb\x03\x12\x03\x17Rl\nv\n\x02\x04\x02\x12\x04\x1b\x00!\x01\x1aj LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.\n\n\n\n\x03\x04\x02\x01\x12\x03\x1b\x08!\n\x0b\n\x04\x04\x02\x02\x00\x12\x03\x1c\x02?\n\x0c\n\x05\x04\x02\x02\x00\x06\x12\x03\x1c\x02\x1d\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x03\x1c\x1e/\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x03\x1c=>\n\x0b\n\x04\x04\x02\x02\x01\x12\x03\x1d\x02?\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x1d\x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1d\x1e+\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1d=>\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\x1e\x02?\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03\x1e\x02\n\n\x0c\n\x05\x04\x02\x02\x02\x06\x12\x03\x1e\x0b%\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\x1e&:\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\x1e=>\n\x0b\n\x04\x04\x02\x02\x03\x12\x03\x1f\x02?\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03\x1f\x02\x07\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03\x1f&8\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x03\x1f=>\n\x0b\n\x04\x04\x02\x02\x04\x12\x03 \x02z\n\x0c\n\x05\x04\x02\x02\x04\x06\x12\x03 \x02\x1b\n\x0c\n\x05\x04\x02\x02\x04\x01\x12\x03 &/\n\x0c\n\x05\x04\x02\x02\x04\x03\x12\x03 =>\n\x0c\n\x05\x04\x02\x02\x04\x08\x12\x03 ?y\n\x0f\n\x08\x04\x02\x02\x04\x08\xe9\xfb\x03\x12\x03 @\\\n\x0f\n\x08\x04\x02\x02\x04\x08\xf2\xfb\x03\x12\x03 ^x\n\n\n\x02\x04\x03\x12\x04#\x00%\x01\n\n\n\x03\x04\x03\x01\x12\x03#\x08\x14\n\x0b\n\x04\x04\x03\x02\x00\x12\x03$\x02@\n\x0c\n\x05\x04\x03\x02\x00\x04\x12\x03$\x02\n\n\x0c\n\x05\x04\x03\x02\x00\x06\x12\x03$\x0b\x13\n\x0c\n\x05\x04\x03\x02\x00\x01\x12\x03$\x14\x1c\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03$\x1f \n\x0c\n\x05\x04\x03\x02\x00\x08\x12\x03$!?\n\x0f\n\x08\x04\x03\x02\x00\x08\xe9\xfb\x03\x12\x03$\">b\x06proto3\n\xdb\x06\n\x1ctendermint/types/block.proto\x12\x10tendermint.types\x1a\x14gogoproto/gogo.proto\x1a\x1ctendermint/types/types.proto\x1a\x1ftendermint/types/evidence.proto\"\xee\x01\n\x05Block\x126\n\x06header\x18\x01 \x01(\x0b2\x18.tendermint.types.HeaderB\x04\xc8\xde\x1f\x00R\x06header\x120\n\x04data\x18\x02 \x01(\x0b2\x16.tendermint.types.DataB\x04\xc8\xde\x1f\x00R\x04data\x12@\n\x08evidence\x18\x03 \x01(\x0b2\x1e.tendermint.types.EvidenceListB\x04\xc8\xde\x1f\x00R\x08evidence\x129\n\x0blast_commit\x18\x04 \x01(\x0b2\x18.tendermint.types.CommitR\nlastCommitB5Z3github.com/cometbft/cometbft/proto/tendermint/typesJ\xa3\x03\n\x06\x12\x04\x00\x00\x0e\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00\x19\n\x08\n\x01\x08\x12\x03\x03\x00J\n\t\n\x02\x08\x0b\x12\x03\x03\x00J\n\t\n\x02\x03\x00\x12\x03\x05\x00\x1e\n\t\n\x02\x03\x01\x12\x03\x06\x00&\n\t\n\x02\x03\x02\x12\x03\x07\x00)\n\n\n\x02\x04\x00\x12\x04\t\x00\x0e\x01\n\n\n\x03\x04\x00\x01\x12\x03\t\x08\r\n\x0b\n\x04\x04\x00\x02\x00\x12\x03\n\x02O\n\x0c\n\x05\x04\x00\x02\x00\x06\x12\x03\n\x02\x08\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03\n &\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03\n./\n\x0c\n\x05\x04\x00\x02\x00\x08\x12\x03\n0N\n\x0f\n\x08\x04\x00\x02\x00\x08\xe9\xfb\x03\x12\x03\n1M\n\x0b\n\x04\x04\x00\x02\x01\x12\x03\x0b\x02O\n\x0c\n\x05\x04\x00\x02\x01\x06\x12\x03\x0b\x02\x06\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03\x0b $\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03\x0b./\n\x0c\n\x05\x04\x00\x02\x01\x08\x12\x03\x0b0N\n\x0f\n\x08\x04\x00\x02\x01\x08\xe9\xfb\x03\x12\x03\x0b1M\n\x0b\n\x04\x04\x00\x02\x02\x12\x03\x0c\x02O\n\x0c\n\x05\x04\x00\x02\x02\x06\x12\x03\x0c\x02\x1f\n\x0c\n\x05\x04\x00\x02\x02\x01\x12\x03\x0c (\n\x0c\n\x05\x04\x00\x02\x02\x03\x12\x03\x0c./\n\x0c\n\x05\x04\x00\x02\x02\x08\x12\x03\x0c0N\n\x0f\n\x08\x04\x00\x02\x02\x08\xe9\xfb\x03\x12\x03\x0c1M\n\x0b\n\x04\x04\x00\x02\x03\x12\x03\r\x020\n\x0c\n\x05\x04\x00\x02\x03\x06\x12\x03\r\x02\x08\n\x0c\n\x05\x04\x00\x02\x03\x01\x12\x03\r +\n\x0c\n\x05\x04\x00\x02\x03\x03\x12\x03\r./b\x06proto3\n\xacC\n8penumbra/util/tendermint_proxy/v1/tendermint_proxy.proto\x12!penumbra.util.tendermint_proxy.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1dtendermint/crypto/proof.proto\x1a\x1atendermint/p2p/types.proto\x1a\x1ctendermint/types/block.proto\x1a\x1ctendermint/types/types.proto\x1a tendermint/types/validator.proto\"8\n\x0cGetTxRequest\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12\x14\n\x05prove\x18\x02 \x01(\x08R\x05prove\"\xab\x01\n\rGetTxResponse\x12\x12\n\x04hash\x18\x01 \x01(\x0cR\x04hash\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\x12\x14\n\x05index\x18\x03 \x01(\x04R\x05index\x12H\n\ttx_result\x18\x04 \x01(\x0b2+.penumbra.util.tendermint_proxy.v1.TxResultR\x08txResult\x12\x0e\n\x02tx\x18\x05 \x01(\x0cR\x02tx\"\x92\x01\n\x08TxResult\x12\x10\n\x03log\x18\x01 \x01(\tR\x03log\x12\x1d\n\ngas_wanted\x18\x02 \x01(\x04R\tgasWanted\x12\x19\n\x08gas_used\x18\x03 \x01(\x04R\x07gasUsed\x12:\n\x04tags\x18\x04 \x03(\x0b2&.penumbra.util.tendermint_proxy.v1.TagR\x04tags\"C\n\x03Tag\x12\x10\n\x03key\x18\x01 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x0cR\x05value\x12\x14\n\x05index\x18\x03 \x01(\x08R\x05index\"H\n\x17BroadcastTxAsyncRequest\x12\x16\n\x06params\x18\x01 \x01(\x0cR\x06params\x12\x15\n\x06req_id\x18\x02 \x01(\x04R\x05reqId\"h\n\x18BroadcastTxAsyncResponse\x12\x12\n\x04code\x18\x01 \x01(\x04R\x04code\x12\x12\n\x04data\x18\x02 \x01(\x0cR\x04data\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\"G\n\x16BroadcastTxSyncRequest\x12\x16\n\x06params\x18\x01 \x01(\x0cR\x06params\x12\x15\n\x06req_id\x18\x02 \x01(\x04R\x05reqId\"g\n\x17BroadcastTxSyncResponse\x12\x12\n\x04code\x18\x01 \x01(\x04R\x04code\x12\x12\n\x04data\x18\x02 \x01(\x0cR\x04data\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04hash\x18\x04 \x01(\x0cR\x04hash\"\x12\n\x10GetStatusRequest\"\xdf\x01\n\x11GetStatusResponse\x12<\n\tnode_info\x18\x01 \x01(\x0b2\x1f.tendermint.p2p.DefaultNodeInfoR\x08nodeInfo\x12H\n\tsync_info\x18\x02 \x01(\x0b2+.penumbra.util.tendermint_proxy.v1.SyncInfoR\x08syncInfo\x12B\n\x0evalidator_info\x18\x03 \x01(\x0b2\x1b.tendermint.types.ValidatorR\rvalidatorInfo\"\xf7\x01\n\x08SyncInfo\x12*\n\x11latest_block_hash\x18\x01 \x01(\x0cR\x0flatestBlockHash\x12&\n\x0flatest_app_hash\x18\x02 \x01(\x0cR\rlatestAppHash\x12.\n\x13latest_block_height\x18\x03 \x01(\x04R\x11latestBlockHeight\x12F\n\x11latest_block_time\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0flatestBlockTime\x12\x1f\n\x0bcatching_up\x18\t \x01(\x08R\ncatchingUp\"h\n\x10ABCIQueryRequest\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x16\n\x06height\x18\x03 \x01(\x03R\x06height\x12\x14\n\x05prove\x18\x04 \x01(\x08R\x05prove\"\x81\x02\n\x11ABCIQueryResponse\x12\x12\n\x04code\x18\x01 \x01(\rR\x04code\x12\x10\n\x03log\x18\x03 \x01(\tR\x03log\x12\x12\n\x04info\x18\x04 \x01(\tR\x04info\x12\x14\n\x05index\x18\x05 \x01(\x03R\x05index\x12\x10\n\x03key\x18\x06 \x01(\x0cR\x03key\x12\x14\n\x05value\x18\x07 \x01(\x0cR\x05value\x128\n\tproof_ops\x18\x08 \x01(\x0b2\x1b.tendermint.crypto.ProofOpsR\x08proofOps\x12\x16\n\x06height\x18\t \x01(\x03R\x06height\x12\x1c\n\tcodespace\x18\n \x01(\tR\tcodespaceJ\x04\x08\x02\x10\x03\"1\n\x17GetBlockByHeightRequest\x12\x16\n\x06height\x18\x01 \x01(\x03R\x06height\"\x7f\n\x18GetBlockByHeightResponse\x124\n\x08block_id\x18\x01 \x01(\x0b2\x19.tendermint.types.BlockIDR\x07blockId\x12-\n\x05block\x18\x02 \x01(\x0b2\x17.tendermint.types.BlockR\x05block2\xa7\x06\n\x16TendermintProxyService\x12x\n\tGetStatus\x123.penumbra.util.tendermint_proxy.v1.GetStatusRequest\x1a4.penumbra.util.tendermint_proxy.v1.GetStatusResponse\"\x00\x12\x8d\x01\n\x10BroadcastTxAsync\x12:.penumbra.util.tendermint_proxy.v1.BroadcastTxAsyncRequest\x1a;.penumbra.util.tendermint_proxy.v1.BroadcastTxAsyncResponse\"\x00\x12\x8a\x01\n\x0fBroadcastTxSync\x129.penumbra.util.tendermint_proxy.v1.BroadcastTxSyncRequest\x1a:.penumbra.util.tendermint_proxy.v1.BroadcastTxSyncResponse\"\x00\x12l\n\x05GetTx\x12/.penumbra.util.tendermint_proxy.v1.GetTxRequest\x1a0.penumbra.util.tendermint_proxy.v1.GetTxResponse\"\x00\x12x\n\tABCIQuery\x123.penumbra.util.tendermint_proxy.v1.ABCIQueryRequest\x1a4.penumbra.util.tendermint_proxy.v1.ABCIQueryResponse\"\x00\x12\x8d\x01\n\x10GetBlockByHeight\x12:.penumbra.util.tendermint_proxy.v1.GetBlockByHeightRequest\x1a;.penumbra.util.tendermint_proxy.v1.GetBlockByHeightResponse\"\x00J\xa6,\n\x07\x12\x05\x00\x00\x98\x01\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x01\x00*\n\t\n\x02\x03\x00\x12\x03\x03\x00)\n\t\n\x02\x03\x01\x12\x03\x04\x00\'\n\t\n\x02\x03\x02\x12\x03\x05\x00$\n\t\n\x02\x03\x03\x12\x03\x06\x00&\n\t\n\x02\x03\x04\x12\x03\x07\x00&\n\t\n\x02\x03\x05\x12\x03\x08\x00*\na\n\x02\x06\x00\x12\x04\x0b\x00\x1f\x01\x1aU Defines the gRPC query service for proxying requests to an upstream Tendermint RPC.\n\n\n\n\x03\x06\x00\x01\x12\x03\x0b\x08\x1e\n1\n\x04\x06\x00\x02\x00\x12\x03\r\x02@\x1a$ Status queries the current status.\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\r\x06\x0f\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\r\x10 \n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\r+<\n6\n\x04\x06\x00\x02\x01\x12\x03\x10\x02U\x1a) Broadcast a transaction asynchronously.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x10\x06\x16\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x10\x17.\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x109Q\n5\n\x04\x06\x00\x02\x02\x12\x03\x13\x02R\x1a( Broadcast a transaction synchronously.\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03\x13\x06\x15\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03\x13\x16,\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03\x137N\n+\n\x04\x06\x00\x02\x03\x12\x03\x16\x024\x1a\x1e Fetch a transaction by hash.\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03\x16\x06\x0b\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03\x16\x0c\x18\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03\x16#0\n\xeb\x01\n\x04\x06\x00\x02\x04\x12\x03\x1b\x02@\x1a\xdd\x01 ABCIQuery defines a query handler that supports ABCI queries directly to the\n application, bypassing Tendermint completely. The ABCI query must contain\n a valid and supported path, including app, custom, p2p, and store.\n\n\x0c\n\x05\x06\x00\x02\x04\x01\x12\x03\x1b\x06\x0f\n\x0c\n\x05\x06\x00\x02\x04\x02\x12\x03\x1b\x10 \n\x0c\n\x05\x06\x00\x02\x04\x03\x12\x03\x1b+<\n?\n\x04\x06\x00\x02\x05\x12\x03\x1e\x02U\x1a2 GetBlockByHeight queries block for given height.\n\n\x0c\n\x05\x06\x00\x02\x05\x01\x12\x03\x1e\x06\x16\n\x0c\n\x05\x06\x00\x02\x05\x02\x12\x03\x1e\x17.\n\x0c\n\x05\x06\x00\x02\x05\x03\x12\x03\x1e9Q\nH\n\x02\x04\x00\x12\x04\"\x00\'\x01\x1a< GetTxRequest is the request type for the GetTx RPC method.\n\n\n\n\x03\x04\x00\x01\x12\x03\"\x08\x14\n.\n\x04\x04\x00\x02\x00\x12\x03$\x02\x11\x1a! Hash of transaction to retrieve\n\n\x0c\n\x05\x04\x00\x02\x00\x05\x12\x03$\x02\x07\n\x0c\n\x05\x04\x00\x02\x00\x01\x12\x03$\x08\x0c\n\x0c\n\x05\x04\x00\x02\x00\x03\x12\x03$\x0f\x10\nI\n\x04\x04\x00\x02\x01\x12\x03&\x02\x11\x1a< Include proofs of the transaction\'s inclusion in the block\n\n\x0c\n\x05\x04\x00\x02\x01\x05\x12\x03&\x02\x06\n\x0c\n\x05\x04\x00\x02\x01\x01\x12\x03&\x07\x0c\n\x0c\n\x05\x04\x00\x02\x01\x03\x12\x03&\x0f\x10\nJ\n\x02\x04\x01\x12\x04*\x001\x01\x1a> GetTxResponse is the response type for the GetTx RPC method.\n\n\n\n\x03\x04\x01\x01\x12\x03*\x08\x15\n\"\n\x04\x04\x01\x02\x00\x12\x03,\x02\x11\x1a\x15 Hash of transaction\n\n\x0c\n\x05\x04\x01\x02\x00\x05\x12\x03,\x02\x07\n\x0c\n\x05\x04\x01\x02\x00\x01\x12\x03,\x08\x0c\n\x0c\n\x05\x04\x01\x02\x00\x03\x12\x03,\x0f\x10\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\n\x0b\n\x04\x04\x01\x02\x02\x12\x03.\x02\x13\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03.\x02\x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03.\t\x0e\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03.\x11\x12\n\x0b\n\x04\x04\x01\x02\x03\x12\x03/\x02\x19\n\x0c\n\x05\x04\x01\x02\x03\x06\x12\x03/\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03/\x0b\x14\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03/\x17\x18\n\x0b\n\x04\x04\x01\x02\x04\x12\x030\x02\x0f\n\x0c\n\x05\x04\x01\x02\x04\x05\x12\x030\x02\x07\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x030\x08\n\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x030\r\x0e\n\n\n\x02\x04\x02\x12\x043\x008\x01\n\n\n\x03\x04\x02\x01\x12\x033\x08\x10\n\x0b\n\x04\x04\x02\x02\x00\x12\x034\x02\x11\n\x0c\n\x05\x04\x02\x02\x00\x05\x12\x034\x02\x08\n\x0c\n\x05\x04\x02\x02\x00\x01\x12\x034\t\x0c\n\x0c\n\x05\x04\x02\x02\x00\x03\x12\x034\x0f\x10\n\x0b\n\x04\x04\x02\x02\x01\x12\x035\x02\x18\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x035\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x035\t\x13\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x035\x16\x17\n\x0b\n\x04\x04\x02\x02\x02\x12\x036\x02\x16\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x036\x02\x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x036\t\x11\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x036\x14\x15\n\x0b\n\x04\x04\x02\x02\x03\x12\x037\x02\x18\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\x037\x02\n\n\x0c\n\x05\x04\x02\x02\x03\x06\x12\x037\x0b\x0e\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x037\x0f\x13\n\x0c\n\x05\x04\x02\x02\x03\x03\x12\x037\x16\x17\n\n\n\x02\x04\x03\x12\x04:\x00>\x01\n\n\n\x03\x04\x03\x01\x12\x03:\x08\x0b\n\x0b\n\x04\x04\x03\x02\x00\x12\x03;\x02\x10\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\x0b\n\x0c\n\x05\x04\x03\x02\x00\x03\x12\x03;\x0e\x0f\n\x0b\n\x04\x04\x03\x02\x01\x12\x03<\x02\x12\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03<\x02\x07\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03<\x08\r\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03<\x10\x11\n\x0b\n\x04\x04\x03\x02\x02\x12\x03=\x02\x11\n\x0c\n\x05\x04\x03\x02\x02\x05\x12\x03=\x02\x06\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03=\x07\x0c\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03=\x0f\x10\n^\n\x02\x04\x04\x12\x04A\x00D\x01\x1aR BroadcastTxAsyncRequest is the request type for the BroadcastTxAsync RPC method.\n\n\n\n\x03\x04\x04\x01\x12\x03A\x08\x1f\n\x0b\n\x04\x04\x04\x02\x00\x12\x03B\x02\x13\n\x0c\n\x05\x04\x04\x02\x00\x05\x12\x03B\x02\x07\n\x0c\n\x05\x04\x04\x02\x00\x01\x12\x03B\x08\x0e\n\x0c\n\x05\x04\x04\x02\x00\x03\x12\x03B\x11\x12\n\x0b\n\x04\x04\x04\x02\x01\x12\x03C\x02\x14\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03C\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\x03C\t\x0f\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03C\x12\x13\n`\n\x02\x04\x05\x12\x04G\x00L\x01\x1aT BroadcastTxAsyncResponse is the response type for the BroadcastTxAsync RPC method.\n\n\n\n\x03\x04\x05\x01\x12\x03G\x08 \n\x0b\n\x04\x04\x05\x02\x00\x12\x03H\x02\x12\n\x0c\n\x05\x04\x05\x02\x00\x05\x12\x03H\x02\x08\n\x0c\n\x05\x04\x05\x02\x00\x01\x12\x03H\t\r\n\x0c\n\x05\x04\x05\x02\x00\x03\x12\x03H\x10\x11\n\x0b\n\x04\x04\x05\x02\x01\x12\x03I\x02\x11\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\x03I\x02\x07\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03I\x08\x0c\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03I\x0f\x10\n\x0b\n\x04\x04\x05\x02\x02\x12\x03J\x02\x11\n\x0c\n\x05\x04\x05\x02\x02\x05\x12\x03J\x02\x08\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\x03J\t\x0c\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03J\x0f\x10\n\x0b\n\x04\x04\x05\x02\x03\x12\x03K\x02\x11\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\x03K\x02\x07\n\x0c\n\x05\x04\x05\x02\x03\x01\x12\x03K\x08\x0c\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03K\x0f\x10\n\\\n\x02\x04\x06\x12\x04O\x00R\x01\x1aP BroadcastTxSyncRequest is the request type for the BroadcastTxSync RPC method.\n\n\n\n\x03\x04\x06\x01\x12\x03O\x08\x1e\n\x0b\n\x04\x04\x06\x02\x00\x12\x03P\x02\x13\n\x0c\n\x05\x04\x06\x02\x00\x05\x12\x03P\x02\x07\n\x0c\n\x05\x04\x06\x02\x00\x01\x12\x03P\x08\x0e\n\x0c\n\x05\x04\x06\x02\x00\x03\x12\x03P\x11\x12\n\x0b\n\x04\x04\x06\x02\x01\x12\x03Q\x02\x14\n\x0c\n\x05\x04\x06\x02\x01\x05\x12\x03Q\x02\x08\n\x0c\n\x05\x04\x06\x02\x01\x01\x12\x03Q\t\x0f\n\x0c\n\x05\x04\x06\x02\x01\x03\x12\x03Q\x12\x13\n^\n\x02\x04\x07\x12\x04U\x00Z\x01\x1aR BroadcastTxSyncResponse is the response type for the BroadcastTxSync RPC method.\n\n\n\n\x03\x04\x07\x01\x12\x03U\x08\x1f\n\x0b\n\x04\x04\x07\x02\x00\x12\x03V\x02\x12\n\x0c\n\x05\x04\x07\x02\x00\x05\x12\x03V\x02\x08\n\x0c\n\x05\x04\x07\x02\x00\x01\x12\x03V\t\r\n\x0c\n\x05\x04\x07\x02\x00\x03\x12\x03V\x10\x11\n\x0b\n\x04\x04\x07\x02\x01\x12\x03W\x02\x11\n\x0c\n\x05\x04\x07\x02\x01\x05\x12\x03W\x02\x07\n\x0c\n\x05\x04\x07\x02\x01\x01\x12\x03W\x08\x0c\n\x0c\n\x05\x04\x07\x02\x01\x03\x12\x03W\x0f\x10\n\x0b\n\x04\x04\x07\x02\x02\x12\x03X\x02\x11\n\x0c\n\x05\x04\x07\x02\x02\x05\x12\x03X\x02\x08\n\x0c\n\x05\x04\x07\x02\x02\x01\x12\x03X\t\x0c\n\x0c\n\x05\x04\x07\x02\x02\x03\x12\x03X\x0f\x10\n\x0b\n\x04\x04\x07\x02\x03\x12\x03Y\x02\x11\n\x0c\n\x05\x04\x07\x02\x03\x05\x12\x03Y\x02\x07\n\x0c\n\x05\x04\x07\x02\x03\x01\x12\x03Y\x08\x0c\n\x0c\n\x05\x04\x07\x02\x03\x03\x12\x03Y\x0f\x10\nU\n\x02\x04\x08\x12\x03]\x00\x1b\x1aJ GetStatusRequest is the request type for the Query/GetStatus RPC method.\n\n\n\n\x03\x04\x08\x01\x12\x03]\x08\x18\nX\n\x02\x04\t\x12\x04`\x00d\x01\x1aL GetStatusResponse is the response type for the Query/GetStatus RPC method.\n\n\n\n\x03\x04\t\x01\x12\x03`\x08\x19\n\x0b\n\x04\x04\t\x02\x00\x12\x03a\x020\n\x0c\n\x05\x04\t\x02\x00\x06\x12\x03a\x02!\n\x0c\n\x05\x04\t\x02\x00\x01\x12\x03a\"+\n\x0c\n\x05\x04\t\x02\x00\x03\x12\x03a./\n\x0b\n\x04\x04\t\x02\x01\x12\x03b\x02\x19\n\x0c\n\x05\x04\t\x02\x01\x06\x12\x03b\x02\n\n\x0c\n\x05\x04\t\x02\x01\x01\x12\x03b\x0b\x14\n\x0c\n\x05\x04\t\x02\x01\x03\x12\x03b\x17\x18\n\x0b\n\x04\x04\t\x02\x02\x12\x03c\x021\n\x0c\n\x05\x04\t\x02\x02\x06\x12\x03c\x02\x1d\n\x0c\n\x05\x04\t\x02\x02\x01\x12\x03c\x1e,\n\x0c\n\x05\x04\t\x02\x02\x03\x12\x03c/0\n\n\n\x02\x04\n\x12\x04f\x00r\x01\n\n\n\x03\x04\n\x01\x12\x03f\x08\x10\n\x0b\n\x04\x04\n\x02\x00\x12\x03g\x02\x1e\n\x0c\n\x05\x04\n\x02\x00\x05\x12\x03g\x02\x07\n\x0c\n\x05\x04\n\x02\x00\x01\x12\x03g\x08\x19\n\x0c\n\x05\x04\n\x02\x00\x03\x12\x03g\x1c\x1d\n\x0b\n\x04\x04\n\x02\x01\x12\x03h\x02\x1c\n\x0c\n\x05\x04\n\x02\x01\x05\x12\x03h\x02\x07\n\x0c\n\x05\x04\n\x02\x01\x01\x12\x03h\x08\x17\n\x0c\n\x05\x04\n\x02\x01\x03\x12\x03h\x1a\x1b\n\x0b\n\x04\x04\n\x02\x02\x12\x03i\x02!\n\x0c\n\x05\x04\n\x02\x02\x05\x12\x03i\x02\x08\n\x0c\n\x05\x04\n\x02\x02\x01\x12\x03i\t\x1c\n\x0c\n\x05\x04\n\x02\x02\x03\x12\x03i\x1f \n\x0b\n\x04\x04\n\x02\x03\x12\x03j\x022\n\x0c\n\x05\x04\n\x02\x03\x06\x12\x03j\x02\x1b\n\x0c\n\x05\x04\n\x02\x03\x01\x12\x03j\x1c-\n\x0c\n\x05\x04\n\x02\x03\x03\x12\x03j01\n\xe5\x01\n\x04\x04\n\x02\x04\x12\x03q\x02\x17\x1a\xd7\x01 These are implemented in tendermint, but not\n in tendermint-rpc.\n bytes earliest_block_hash = 5;\n bytes earliest_app_hash = 6;\n uint64 earliest_block_height = 7;\n google.protobuf.Timestamp earliest_block_time = 8;\n\n\x0c\n\x05\x04\n\x02\x04\x05\x12\x03q\x02\x06\n\x0c\n\x05\x04\n\x02\x04\x01\x12\x03q\x07\x12\n\x0c\n\x05\x04\n\x02\x04\x03\x12\x03q\x15\x16\nZ\n\x02\x04\x0b\x12\x04u\x00z\x01\x1aN ABCIQueryRequest defines the request structure for the ABCIQuery gRPC query.\n\n\n\n\x03\x04\x0b\x01\x12\x03u\x08\x18\n\x0b\n\x04\x04\x0b\x02\x00\x12\x03v\x02\x11\n\x0c\n\x05\x04\x0b\x02\x00\x05\x12\x03v\x02\x07\n\x0c\n\x05\x04\x0b\x02\x00\x01\x12\x03v\x08\x0c\n\x0c\n\x05\x04\x0b\x02\x00\x03\x12\x03v\x0f\x10\n\x0b\n\x04\x04\x0b\x02\x01\x12\x03w\x02\x12\n\x0c\n\x05\x04\x0b\x02\x01\x05\x12\x03w\x02\x08\n\x0c\n\x05\x04\x0b\x02\x01\x01\x12\x03w\t\r\n\x0c\n\x05\x04\x0b\x02\x01\x03\x12\x03w\x10\x11\n\x0b\n\x04\x04\x0b\x02\x02\x12\x03x\x02\x13\n\x0c\n\x05\x04\x0b\x02\x02\x05\x12\x03x\x02\x07\n\x0c\n\x05\x04\x0b\x02\x02\x01\x12\x03x\x08\x0e\n\x0c\n\x05\x04\x0b\x02\x02\x03\x12\x03x\x11\x12\n\x0b\n\x04\x04\x0b\x02\x03\x12\x03y\x02\x11\n\x0c\n\x05\x04\x0b\x02\x03\x05\x12\x03y\x02\x06\n\x0c\n\x05\x04\x0b\x02\x03\x01\x12\x03y\x07\x0c\n\x0c\n\x05\x04\x0b\x02\x03\x03\x12\x03y\x0f\x10\n\xb8\x01\n\x02\x04\x0c\x12\x06\x80\x01\x00\x8c\x01\x01\x1a\xa9\x01 ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\n Note: This type is a duplicate of the ResponseQuery proto type defined in\n Tendermint.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x80\x01\x08\x19\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\x81\x01\x02\x12\n\r\n\x05\x04\x0c\x02\x00\x05\x12\x04\x81\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\x81\x01\t\r\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\x81\x01\x10\x11\n.\n\x03\x04\x0c\t\x12\x04\x83\x01\x02\r\x1a! DEPRECATED: use \"value\" instead\n\n\x0c\n\x04\x04\x0c\t\x00\x12\x04\x83\x01\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x01\x12\x04\x83\x01\x0b\x0c\n\r\n\x05\x04\x0c\t\x00\x02\x12\x04\x83\x01\x0b\x0c\n \n\x04\x04\x0c\x02\x01\x12\x04\x84\x01\x02\x11\"\x12 nondeterministic\n\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x84\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x84\x01\t\x0c\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\x84\x01\x0f\x10\n \n\x04\x04\x0c\x02\x02\x12\x04\x85\x01\x02\x12\"\x12 nondeterministic\n\n\r\n\x05\x04\x0c\x02\x02\x05\x12\x04\x85\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\x85\x01\t\r\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\x85\x01\x10\x11\n\x0c\n\x04\x04\x0c\x02\x03\x12\x04\x86\x01\x02\x12\n\r\n\x05\x04\x0c\x02\x03\x05\x12\x04\x86\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\x86\x01\x08\r\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\x86\x01\x10\x11\n\x0c\n\x04\x04\x0c\x02\x04\x12\x04\x87\x01\x02\x10\n\r\n\x05\x04\x0c\x02\x04\x05\x12\x04\x87\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x04\x01\x12\x04\x87\x01\x08\x0b\n\r\n\x05\x04\x0c\x02\x04\x03\x12\x04\x87\x01\x0e\x0f\n\x0c\n\x04\x04\x0c\x02\x05\x12\x04\x88\x01\x02\x12\n\r\n\x05\x04\x0c\x02\x05\x05\x12\x04\x88\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x05\x01\x12\x04\x88\x01\x08\r\n\r\n\x05\x04\x0c\x02\x05\x03\x12\x04\x88\x01\x10\x11\n\x0c\n\x04\x04\x0c\x02\x06\x12\x04\x89\x01\x02,\n\r\n\x05\x04\x0c\x02\x06\x06\x12\x04\x89\x01\x02\x1d\n\r\n\x05\x04\x0c\x02\x06\x01\x12\x04\x89\x01\x1e\'\n\r\n\x05\x04\x0c\x02\x06\x03\x12\x04\x89\x01*+\n\x0c\n\x04\x04\x0c\x02\x07\x12\x04\x8a\x01\x02\x13\n\r\n\x05\x04\x0c\x02\x07\x05\x12\x04\x8a\x01\x02\x07\n\r\n\x05\x04\x0c\x02\x07\x01\x12\x04\x8a\x01\x08\x0e\n\r\n\x05\x04\x0c\x02\x07\x03\x12\x04\x8a\x01\x11\x12\n\x0c\n\x04\x04\x0c\x02\x08\x12\x04\x8b\x01\x02\x18\n\r\n\x05\x04\x0c\x02\x08\x05\x12\x04\x8b\x01\x02\x08\n\r\n\x05\x04\x0c\x02\x08\x01\x12\x04\x8b\x01\t\x12\n\r\n\x05\x04\x0c\x02\x08\x03\x12\x04\x8b\x01\x15\x17\nf\n\x02\x04\r\x12\x06\x8f\x01\x00\x91\x01\x01\x1aX GetBlockByHeightRequest is the request type for the Query/GetBlockByHeight RPC method.\n\n\x0b\n\x03\x04\r\x01\x12\x04\x8f\x01\x08\x1f\n\x0c\n\x04\x04\r\x02\x00\x12\x04\x90\x01\x02\x13\n\r\n\x05\x04\r\x02\x00\x05\x12\x04\x90\x01\x02\x07\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\x90\x01\x08\x0e\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\x90\x01\x11\x12\nh\n\x02\x04\x0e\x12\x06\x94\x01\x00\x98\x01\x01\x1aZ GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method.\n\n\x0b\n\x03\x04\x0e\x01\x12\x04\x94\x01\x08 \n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\x95\x01\x02)\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\x95\x01\x02\x1b\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\x95\x01\x1c$\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\x95\x01\'(\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\x97\x01\x02$\n\r\n\x05\x04\x0e\x02\x01\x06\x12\x04\x97\x01\x02\x19\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\x97\x01\x1a\x1f\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\x97\x01\"#b\x06proto3\n\xc4\xd2\x02\n\x1bpenumbra/view/v1/view.proto\x12\x10penumbra.view.v1\x1a\x1epenumbra/core/app/v1/app.proto\x1a\"penumbra/core/asset/v1/asset.proto\x1a(penumbra/core/component/dex/v1/dex.proto\x1a(penumbra/core/component/fee/v1/fee.proto\x1a(penumbra/core/component/ibc/v1/ibc.proto\x1a(penumbra/core/component/sct/v1/sct.proto\x1a<penumbra/core/component/shielded_pool/v1/shielded_pool.proto\x1a,penumbra/core/component/stake/v1/stake.proto\x1a penumbra/core/keys/v1/keys.proto\x1a\x1epenumbra/core/num/v1/num.proto\x1a.penumbra/core/transaction/v1/transaction.proto\x1a$penumbra/core/txhash/v1/txhash.proto\x1a penumbra/crypto/tct/v1/tct.proto\x1a6penumbra/core/component/auction/v1alpha1/auction.proto\x1a\x19google/protobuf/any.proto\"\xb6\x01\n\x0fAuctionsRequest\x12J\n\x0eaccount_filter\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\raccountFilter\x12)\n\x10include_inactive\x18\x02 \x01(\x08R\x0fincludeInactive\x12,\n\x12query_latest_state\x18\x03 \x01(\x08R\x10queryLatestState\"\x97\x02\n\x10AuctionsResponse\x12C\n\x02id\x18\x01 \x01(\x0b23.penumbra.core.component.auction.v1alpha1.AuctionIdR\x02id\x12F\n\x0bnote_record\x18\x04 \x01(\x0b2%.penumbra.view.v1.SpendableNoteRecordR\nnoteRecord\x12.\n\x07auction\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x07auction\x12F\n\tpositions\x18\x03 \x03(\x0b2(.penumbra.core.component.dex.v1.PositionR\tpositions\"t\n\x18AuthorizeAndBuildRequest\x12X\n\x10transaction_plan\x18\x01 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionPlanR\x0ftransactionPlan\"\xe3\x02\n\x19AuthorizeAndBuildResponse\x12b\n\x0ebuild_progress\x18\x01 \x01(\x0b29.penumbra.view.v1.AuthorizeAndBuildResponse.BuildProgressH\x00R\rbuildProgress\x12R\n\x08complete\x18\x02 \x01(\x0b24.penumbra.view.v1.AuthorizeAndBuildResponse.CompleteH\x00R\x08complete\x1a+\n\rBuildProgress\x12\x1a\n\x08progress\x18\x01 \x01(\x02R\x08progress\x1aW\n\x08Complete\x12K\n\x0btransaction\x18\x01 \x01(\x0b2).penumbra.core.transaction.v1.TransactionR\x0btransactionB\x08\n\x06status\"\x93\x01\n\x1bBroadcastTransactionRequest\x12K\n\x0btransaction\x18\x01 \x01(\x0b2).penumbra.core.transaction.v1.TransactionR\x0btransaction\x12\'\n\x0fawait_detection\x18\x02 \x01(\x08R\x0eawaitDetection\"\xae\x03\n\x1cBroadcastTransactionResponse\x12n\n\x11broadcast_success\x18\x01 \x01(\x0b2?.penumbra.view.v1.BroadcastTransactionResponse.BroadcastSuccessH\x00R\x10broadcastSuccess\x12X\n\tconfirmed\x18\x02 \x01(\x0b28.penumbra.view.v1.BroadcastTransactionResponse.ConfirmedH\x00R\tconfirmed\x1aJ\n\x10BroadcastSuccess\x126\n\x02id\x18\x01 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\x02id\x1an\n\tConfirmed\x126\n\x02id\x18\x01 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\x02id\x12)\n\x10detection_height\x18\x02 \x01(\x04R\x0fdetectionHeightB\x08\n\x06status\"\xa8\x17\n\x19TransactionPlannerRequest\x12#\n\rexpiry_height\x18\x01 \x01(\x04R\x0cexpiryHeight\x12?\n\x04memo\x18\x03 \x01(\x0b2+.penumbra.core.transaction.v1.MemoPlaintextR\x04memo\x12;\n\x06source\x18\x04 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x06source\x12L\n\x07outputs\x18\x14 \x03(\x0b22.penumbra.view.v1.TransactionPlannerRequest.OutputR\x07outputs\x12F\n\x05swaps\x18\x1e \x03(\x0b20.penumbra.view.v1.TransactionPlannerRequest.SwapR\x05swaps\x12V\n\x0bswap_claims\x18\x1f \x03(\x0b25.penumbra.view.v1.TransactionPlannerRequest.SwapClaimR\nswapClaims\x12V\n\x0bdelegations\x18( \x03(\x0b24.penumbra.view.v1.TransactionPlannerRequest.DelegateR\x0bdelegations\x12\\\n\rundelegations\x182 \x03(\x0b26.penumbra.view.v1.TransactionPlannerRequest.UndelegateR\rundelegations\x12l\n\x13undelegation_claims\x183 \x03(\x0b2;.penumbra.view.v1.TransactionPlannerRequest.UndelegateClaimR\x12undelegationClaims\x12T\n\x11ibc_relay_actions\x18< \x03(\x0b2(.penumbra.core.component.ibc.v1.IbcRelayR\x0fibcRelayActions\x12\\\n\x11ics20_withdrawals\x18= \x03(\x0b2/.penumbra.core.component.ibc.v1.Ics20WithdrawalR\x10ics20Withdrawals\x12_\n\x0eposition_opens\x18F \x03(\x0b28.penumbra.view.v1.TransactionPlannerRequest.PositionOpenR\rpositionOpens\x12b\n\x0fposition_closes\x18G \x03(\x0b29.penumbra.view.v1.TransactionPlannerRequest.PositionCloseR\x0epositionCloses\x12k\n\x12position_withdraws\x18H \x03(\x0b2<.penumbra.view.v1.TransactionPlannerRequest.PositionWithdrawR\x11positionWithdraws\x12D\n\x08auto_fee\x18d \x01(\x0b2\'.penumbra.core.component.fee.v1.FeeTierH\x00R\x07autoFee\x12D\n\nmanual_fee\x18e \x01(\x0b2#.penumbra.core.component.fee.v1.FeeH\x00R\tmanualFee\x12$\n\x0bepoch_index\x18\xc8\x01 \x01(\x04B\x02\x18\x01R\nepochIndex\x12<\n\x05epoch\x18\xc9\x01 \x01(\x0b2%.penumbra.core.component.sct.v1.EpochR\x05epoch\x1aw\n\x06Output\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\x128\n\x07address\x18\x02 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\x1a\xfb\x01\n\x04Swap\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\x12B\n\x0ctarget_asset\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x0btargetAsset\x125\n\x03fee\x18\x03 \x01(\x0b2#.penumbra.core.component.fee.v1.FeeR\x03fee\x12C\n\rclaim_address\x18\x04 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x0cclaimAddress\x1a]\n\tSwapClaim\x12P\n\x0fswap_commitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0eswapCommitment\x1a\x89\x01\n\x08Delegate\x124\n\x06amount\x18\x01 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x06amount\x12G\n\trate_data\x18\x03 \x01(\x0b2*.penumbra.core.component.stake.v1.RateDataR\x08rateData\x1a\x8a\x01\n\nUndelegate\x123\n\x05value\x18\x01 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueR\x05value\x12G\n\trate_data\x18\x02 \x01(\x0b2*.penumbra.core.component.stake.v1.RateDataR\x08rateData\x1a\xd8\x02\n\x0fUndelegateClaim\x12Q\n\x12validator_identity\x18\x01 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x11validatorIdentity\x12.\n\x11start_epoch_index\x18\x02 \x01(\x04B\x02\x18\x01R\x0fstartEpochIndex\x12C\n\x07penalty\x18\x03 \x01(\x0b2).penumbra.core.component.stake.v1.PenaltyR\x07penalty\x12G\n\x10unbonding_amount\x18\x04 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\x0funbondingAmount\x124\n\x16unbonding_start_height\x18\x05 \x01(\x04R\x14unbondingStartHeight\x1aT\n\x0cPositionOpen\x12D\n\x08position\x18\x01 \x01(\x0b2(.penumbra.core.component.dex.v1.PositionR\x08position\x1a\\\n\rPositionClose\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x1a\xf5\x01\n\x10PositionWithdraw\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\x12D\n\x08reserves\x18\x02 \x01(\x0b2(.penumbra.core.component.dex.v1.ReservesR\x08reserves\x12N\n\x0ctrading_pair\x18\x03 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPairB\n\n\x08fee_mode\"_\n\x1aTransactionPlannerResponse\x12A\n\x04plan\x18\x01 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionPlanR\x04plan\"a\n\x15AddressByIndexRequest\x12H\n\raddress_index\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\"R\n\x16AddressByIndexResponse\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\"\x11\n\x0fWalletIdRequest\"P\n\x10WalletIdResponse\x12<\n\twallet_id\x18\x01 \x01(\x0b2\x1f.penumbra.core.keys.v1.WalletIdR\x08walletId\"Q\n\x15IndexByAddressRequest\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\"b\n\x16IndexByAddressResponse\x12H\n\raddress_index\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\"c\n\x17EphemeralAddressRequest\x12H\n\raddress_index\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\"T\n\x18EphemeralAddressResponse\x128\n\x07address\x18\x01 \x01(\x0b2\x1e.penumbra.core.keys.v1.AddressR\x07address\"\xa6\x01\n\x0fBalancesRequest\x12J\n\x0eaccount_filter\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\raccountFilter\x12G\n\x0fasset_id_filter\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\rassetIdFilter\"\xa5\x02\n\x10BalancesResponse\x12A\n\x07account\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexB\x02\x18\x01R\x07account\x12;\n\x07balance\x18\x02 \x01(\x0b2\x1d.penumbra.core.asset.v1.ValueB\x02\x18\x01R\x07balance\x12K\n\x0faccount_address\x18\x03 \x01(\x0b2\".penumbra.core.keys.v1.AddressViewR\x0eaccountAddress\x12D\n\x0cbalance_view\x18\x04 \x01(\x0b2!.penumbra.core.asset.v1.ValueViewR\x0bbalanceView\"\x0f\n\rStatusRequest\"\x8b\x01\n\x0eStatusResponse\x12(\n\x10full_sync_height\x18\x01 \x01(\x04R\x0efullSyncHeight\x12.\n\x13partial_sync_height\x18\x02 \x01(\x04R\x11partialSyncHeight\x12\x1f\n\x0bcatching_up\x18\x03 \x01(\x08R\ncatchingUp\"\x15\n\x13StatusStreamRequest\"\xab\x01\n\x14StatusStreamResponse\x129\n\x19latest_known_block_height\x18\x01 \x01(\x04R\x16latestKnownBlockHeight\x12(\n\x10full_sync_height\x18\x02 \x01(\x04R\x0efullSyncHeight\x12.\n\x13partial_sync_height\x18\x03 \x01(\x04R\x11partialSyncHeight\"\xff\x01\n\x0cNotesRequest\x12#\n\rinclude_spent\x18\x02 \x01(\x08R\x0cincludeSpent\x12:\n\x08asset_id\x18\x03 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\x12H\n\raddress_index\x18\x04 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\x12D\n\x0famount_to_spend\x18\x06 \x01(\x0b2\x1c.penumbra.core.num.v1.AmountR\ramountToSpend\"\x8d\x01\n\x15NotesForVotingRequest\x12*\n\x11votable_at_height\x18\x01 \x01(\x04R\x0fvotableAtHeight\x12H\n\raddress_index\x18\x03 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\"j\n\x0eWitnessRequest\x12X\n\x10transaction_plan\x18\x03 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionPlanR\x0ftransactionPlan\"_\n\x0fWitnessResponse\x12L\n\x0cwitness_data\x18\x01 \x01(\x0b2).penumbra.core.transaction.v1.WitnessDataR\x0bwitnessData\"\xd2\x01\n\x16WitnessAndBuildRequest\x12X\n\x10transaction_plan\x18\x01 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionPlanR\x0ftransactionPlan\x12^\n\x12authorization_data\x18\x02 \x01(\x0b2/.penumbra.core.transaction.v1.AuthorizationDataR\x11authorizationData\"\xdd\x02\n\x17WitnessAndBuildResponse\x12`\n\x0ebuild_progress\x18\x01 \x01(\x0b27.penumbra.view.v1.WitnessAndBuildResponse.BuildProgressH\x00R\rbuildProgress\x12P\n\x08complete\x18\x02 \x01(\x0b22.penumbra.view.v1.WitnessAndBuildResponse.CompleteH\x00R\x08complete\x1a+\n\rBuildProgress\x12\x1a\n\x08progress\x18\x01 \x01(\x02R\x08progress\x1aW\n\x08Complete\x12K\n\x0btransaction\x18\x01 \x01(\x0b2).penumbra.core.transaction.v1.TransactionR\x0btransactionB\x08\n\x06status\"\xa5\x03\n\rAssetsRequest\x12\x1a\n\x08filtered\x18\x01 \x01(\x08R\x08filtered\x12c\n\x1einclude_specific_denominations\x18\x02 \x03(\x0b2\x1d.penumbra.core.asset.v1.DenomR\x1cincludeSpecificDenominations\x12:\n\x19include_delegation_tokens\x18\x03 \x01(\x08R\x17includeDelegationTokens\x128\n\x18include_unbonding_tokens\x18\x04 \x01(\x08R\x16includeUnbondingTokens\x12&\n\x0finclude_lp_nfts\x18\x05 \x01(\x08R\rincludeLpNfts\x122\n\x15include_proposal_nfts\x18\x06 \x01(\x08R\x13includeProposalNfts\x12A\n\x1dinclude_voting_receipt_tokens\x18\x07 \x01(\x08R\x1aincludeVotingReceiptTokens\"Y\n\x0eAssetsResponse\x12G\n\x0edenom_metadata\x18\x02 \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\rdenomMetadata\"\x16\n\x14AppParametersRequest\"\\\n\x15AppParametersResponse\x12C\n\nparameters\x18\x01 \x01(\x0b2#.penumbra.core.app.v1.AppParametersR\nparameters\"\x12\n\x10GasPricesRequest\"]\n\x11GasPricesResponse\x12H\n\ngas_prices\x18\x01 \x01(\x0b2).penumbra.core.component.fee.v1.GasPricesR\tgasPrices\"\x16\n\x14FMDParametersRequest\"p\n\x15FMDParametersResponse\x12W\n\nparameters\x18\x01 \x01(\x0b27.penumbra.core.component.shielded_pool.v1.FmdParametersR\nparameters\"\x94\x01\n\x17NoteByCommitmentRequest\x12P\n\x0fnote_commitment\x18\x02 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0enoteCommitment\x12\'\n\x0fawait_detection\x18\x03 \x01(\x08R\x0eawaitDetection\"h\n\x18NoteByCommitmentResponse\x12L\n\x0espendable_note\x18\x01 \x01(\x0b2%.penumbra.view.v1.SpendableNoteRecordR\rspendableNote\"\x94\x01\n\x17SwapByCommitmentRequest\x12P\n\x0fswap_commitment\x18\x02 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0eswapCommitment\x12\'\n\x0fawait_detection\x18\x03 \x01(\x08R\x0eawaitDetection\"L\n\x18SwapByCommitmentResponse\x120\n\x04swap\x18\x01 \x01(\x0b2\x1c.penumbra.view.v1.SwapRecordR\x04swap\"\x17\n\x15UnclaimedSwapsRequest\"J\n\x16UnclaimedSwapsResponse\x120\n\x04swap\x18\x01 \x01(\x0b2\x1c.penumbra.view.v1.SwapRecordR\x04swap\"\x8a\x01\n\x16NullifierStatusRequest\x12G\n\tnullifier\x18\x02 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x12\'\n\x0fawait_detection\x18\x03 \x01(\x08R\x0eawaitDetection\"/\n\x17NullifierStatusResponse\x12\x14\n\x05spent\x18\x01 \x01(\x08R\x05spent\"V\n\x1cTransactionInfoByHashRequest\x126\n\x02id\x18\x02 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\x02id\"Z\n\x16TransactionInfoRequest\x12!\n\x0cstart_height\x18\x01 \x01(\x04R\x0bstartHeight\x12\x1d\n\nend_height\x18\x02 \x01(\x04R\tendHeight\"\xc9\x02\n\x0fTransactionInfo\x12\x16\n\x06height\x18\x01 \x01(\x04R\x06height\x126\n\x02id\x18\x02 \x01(\x0b2&.penumbra.core.txhash.v1.TransactionIdR\x02id\x12K\n\x0btransaction\x18\x03 \x01(\x0b2).penumbra.core.transaction.v1.TransactionR\x0btransaction\x12V\n\x0bperspective\x18\x04 \x01(\x0b24.penumbra.core.transaction.v1.TransactionPerspectiveR\x0bperspective\x12A\n\x04view\x18\x05 \x01(\x0b2-.penumbra.core.transaction.v1.TransactionViewR\x04view\"U\n\x17TransactionInfoResponse\x12:\n\x07tx_info\x18\x01 \x01(\x0b2!.penumbra.view.v1.TransactionInfoR\x06txInfo\"[\n\x1dTransactionInfoByHashResponse\x12:\n\x07tx_info\x18\x01 \x01(\x0b2!.penumbra.view.v1.TransactionInfoR\x06txInfo\"W\n\rNotesResponse\x12F\n\x0bnote_record\x18\x01 \x01(\x0b2%.penumbra.view.v1.SpendableNoteRecordR\nnoteRecord\"\xa7\x01\n\x16NotesForVotingResponse\x12F\n\x0bnote_record\x18\x01 \x01(\x0b2%.penumbra.view.v1.SpendableNoteRecordR\nnoteRecord\x12E\n\x0cidentity_key\x18\x02 \x01(\x0b2\".penumbra.core.keys.v1.IdentityKeyR\x0bidentityKey\"\xb9\x04\n\x13SpendableNoteRecord\x12P\n\x0fnote_commitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0enoteCommitment\x12B\n\x04note\x18\x02 \x01(\x0b2..penumbra.core.component.shielded_pool.v1.NoteR\x04note\x12H\n\raddress_index\x18\x03 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\x12G\n\tnullifier\x18\x04 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x12%\n\x0eheight_created\x18\x05 \x01(\x04R\rheightCreated\x12!\n\x0cheight_spent\x18\x06 \x01(\x04R\x0bheightSpent\x12\x1a\n\x08position\x18\x07 \x01(\x04R\x08position\x12H\n\x06source\x18\x08 \x01(\x0b20.penumbra.core.component.sct.v1.CommitmentSourceR\x06source\x12I\n\x0ereturn_address\x18\t \x01(\x0b2\".penumbra.core.keys.v1.AddressViewR\rreturnAddress\"\xcd\x03\n\nSwapRecord\x12P\n\x0fswap_commitment\x18\x01 \x01(\x0b2\'.penumbra.crypto.tct.v1.StateCommitmentR\x0eswapCommitment\x12A\n\x04swap\x18\x02 \x01(\x0b2-.penumbra.core.component.dex.v1.SwapPlaintextR\x04swap\x12\x1a\n\x08position\x18\x03 \x01(\x04R\x08position\x12G\n\tnullifier\x18\x04 \x01(\x0b2).penumbra.core.component.sct.v1.NullifierR\tnullifier\x12T\n\x0boutput_data\x18\x05 \x01(\x0b23.penumbra.core.component.dex.v1.BatchSwapOutputDataR\noutputData\x12%\n\x0eheight_claimed\x18\x06 \x01(\x04R\rheightClaimed\x12H\n\x06source\x18\x07 \x01(\x0b20.penumbra.core.component.sct.v1.CommitmentSourceR\x06source\"\xbf\x01\n\x17OwnedPositionIdsRequest\x12T\n\x0eposition_state\x18\x01 \x01(\x0b2-.penumbra.core.component.dex.v1.PositionStateR\rpositionState\x12N\n\x0ctrading_pair\x18\x02 \x01(\x0b2+.penumbra.core.component.dex.v1.TradingPairR\x0btradingPair\"g\n\x18OwnedPositionIdsResponse\x12K\n\x0bposition_id\x18\x01 \x01(\x0b2*.penumbra.core.component.dex.v1.PositionIdR\npositionId\"V\n\x18AssetMetadataByIdRequest\x12:\n\x08asset_id\x18\x02 \x01(\x0b2\x1f.penumbra.core.asset.v1.AssetIdR\x07assetId\"d\n\x19AssetMetadataByIdResponse\x12G\n\x0edenom_metadata\x18\x01 \x01(\x0b2 .penumbra.core.asset.v1.MetadataR\rdenomMetadata\"\x9e\x02\n DelegationsByAddressIndexRequest\x12H\n\raddress_index\x18\x01 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\x12Q\n\x06filter\x18\x02 \x01(\x0e29.penumbra.view.v1.DelegationsByAddressIndexRequest.FilterR\x06filter\"]\n\x06Filter\x12\x16\n\x12FILTER_UNSPECIFIED\x10\x00\x12+\n\'FILTER_ALL_ACTIVE_WITH_NONZERO_BALANCES\x10\x01\x12\x0e\n\nFILTER_ALL\x10\x02\"e\n!DelegationsByAddressIndexResponse\x12@\n\nvalue_view\x18\x01 \x01(\x0b2!.penumbra.core.asset.v1.ValueViewR\tvalueView\"\x9d\x02\n$UnbondingTokensByAddressIndexRequest\x12U\n\x06filter\x18\x01 \x01(\x0e2=.penumbra.view.v1.UnbondingTokensByAddressIndexRequest.FilterR\x06filter\x12H\n\raddress_index\x18\x02 \x01(\x0b2#.penumbra.core.keys.v1.AddressIndexR\x0caddressIndex\"T\n\x06Filter\x12\x16\n\x12FILTER_UNSPECIFIED\x10\x00\x12\x14\n\x10FILTER_CLAIMABLE\x10\x01\x12\x1c\n\x18FILTER_NOT_YET_CLAIMABLE\x10\x02\"\x87\x01\n%UnbondingTokensByAddressIndexResponse\x12@\n\nvalue_view\x18\x01 \x01(\x0b2!.penumbra.core.asset.v1.ValueViewR\tvalueView\x12\x1c\n\tclaimable\x18\x02 \x01(\x08R\tclaimable2\x9f\x17\n\x0bViewService\x12K\n\x06Status\x12\x1f.penumbra.view.v1.StatusRequest\x1a .penumbra.view.v1.StatusResponse\x12_\n\x0cStatusStream\x12%.penumbra.view.v1.StatusStreamRequest\x1a&.penumbra.view.v1.StatusStreamResponse0\x01\x12J\n\x05Notes\x12\x1e.penumbra.view.v1.NotesRequest\x1a\x1f.penumbra.view.v1.NotesResponse0\x01\x12e\n\x0eNotesForVoting\x12\'.penumbra.view.v1.NotesForVotingRequest\x1a(.penumbra.view.v1.NotesForVotingResponse0\x01\x12M\n\x06Assets\x12\x1f.penumbra.view.v1.AssetsRequest\x1a .penumbra.view.v1.AssetsResponse0\x01\x12l\n\x11AssetMetadataById\x12*.penumbra.view.v1.AssetMetadataByIdRequest\x1a+.penumbra.view.v1.AssetMetadataByIdResponse\x12`\n\rAppParameters\x12&.penumbra.view.v1.AppParametersRequest\x1a\'.penumbra.view.v1.AppParametersResponse\x12T\n\tGasPrices\x12\".penumbra.view.v1.GasPricesRequest\x1a#.penumbra.view.v1.GasPricesResponse\x12`\n\rFMDParameters\x12&.penumbra.view.v1.FMDParametersRequest\x1a\'.penumbra.view.v1.FMDParametersResponse\x12c\n\x0eAddressByIndex\x12\'.penumbra.view.v1.AddressByIndexRequest\x1a(.penumbra.view.v1.AddressByIndexResponse\x12Q\n\x08WalletId\x12!.penumbra.view.v1.WalletIdRequest\x1a\".penumbra.view.v1.WalletIdResponse\x12c\n\x0eIndexByAddress\x12\'.penumbra.view.v1.IndexByAddressRequest\x1a(.penumbra.view.v1.IndexByAddressResponse\x12i\n\x10EphemeralAddress\x12).penumbra.view.v1.EphemeralAddressRequest\x1a*.penumbra.view.v1.EphemeralAddressResponse\x12S\n\x08Balances\x12!.penumbra.view.v1.BalancesRequest\x1a\".penumbra.view.v1.BalancesResponse0\x01\x12i\n\x10NoteByCommitment\x12).penumbra.view.v1.NoteByCommitmentRequest\x1a*.penumbra.view.v1.NoteByCommitmentResponse\x12i\n\x10SwapByCommitment\x12).penumbra.view.v1.SwapByCommitmentRequest\x1a*.penumbra.view.v1.SwapByCommitmentResponse\x12e\n\x0eUnclaimedSwaps\x12\'.penumbra.view.v1.UnclaimedSwapsRequest\x1a(.penumbra.view.v1.UnclaimedSwapsResponse0\x01\x12f\n\x0fNullifierStatus\x12(.penumbra.view.v1.NullifierStatusRequest\x1a).penumbra.view.v1.NullifierStatusResponse\x12x\n\x15TransactionInfoByHash\x12..penumbra.view.v1.TransactionInfoByHashRequest\x1a/.penumbra.view.v1.TransactionInfoByHashResponse\x12h\n\x0fTransactionInfo\x12(.penumbra.view.v1.TransactionInfoRequest\x1a).penumbra.view.v1.TransactionInfoResponse0\x01\x12k\n\x10OwnedPositionIds\x12).penumbra.view.v1.OwnedPositionIdsRequest\x1a*.penumbra.view.v1.OwnedPositionIdsResponse0\x01\x12o\n\x12TransactionPlanner\x12+.penumbra.view.v1.TransactionPlannerRequest\x1a,.penumbra.view.v1.TransactionPlannerResponse\x12N\n\x07Witness\x12 .penumbra.view.v1.WitnessRequest\x1a!.penumbra.view.v1.WitnessResponse\x12h\n\x0fWitnessAndBuild\x12(.penumbra.view.v1.WitnessAndBuildRequest\x1a).penumbra.view.v1.WitnessAndBuildResponse0\x01\x12n\n\x11AuthorizeAndBuild\x12*.penumbra.view.v1.AuthorizeAndBuildRequest\x1a+.penumbra.view.v1.AuthorizeAndBuildResponse0\x01\x12w\n\x14BroadcastTransaction\x12-.penumbra.view.v1.BroadcastTransactionRequest\x1a..penumbra.view.v1.BroadcastTransactionResponse0\x01\x12\x86\x01\n\x19DelegationsByAddressIndex\x122.penumbra.view.v1.DelegationsByAddressIndexRequest\x1a3.penumbra.view.v1.DelegationsByAddressIndexResponse0\x01\x12\x92\x01\n\x1dUnbondingTokensByAddressIndex\x126.penumbra.view.v1.UnbondingTokensByAddressIndexRequest\x1a7.penumbra.view.v1.UnbondingTokensByAddressIndexResponse0\x01\x12S\n\x08Auctions\x12!.penumbra.view.v1.AuctionsRequest\x1a\".penumbra.view.v1.AuctionsResponse0\x01J\xcc\xd6\x01\n\x07\x12\x05\x00\x00\xcb\x05\x01\n\x08\n\x01\x0c\x12\x03\x00\x00\x12\n\x08\n\x01\x02\x12\x03\x02\x00\x19\n\t\n\x02\x03\x00\x12\x03\x04\x00(\n\t\n\x02\x03\x01\x12\x03\x05\x00,\n\t\n\x02\x03\x02\x12\x03\x06\x002\n\t\n\x02\x03\x03\x12\x03\x07\x002\n\t\n\x02\x03\x04\x12\x03\x08\x002\n\t\n\x02\x03\x05\x12\x03\t\x002\n\t\n\x02\x03\x06\x12\x03\n\x00F\n\t\n\x02\x03\x07\x12\x03\x0b\x006\n\t\n\x02\x03\x08\x12\x03\x0c\x00*\n\t\n\x02\x03\t\x12\x03\r\x00(\n\t\n\x02\x03\n\x12\x03\x0e\x008\n\t\n\x02\x03\x0b\x12\x03\x0f\x00.\n\t\n\x02\x03\x0c\x12\x03\x10\x00*\n\t\n\x02\x03\r\x12\x03\x11\x00@\n\t\n\x02\x03\x0e\x12\x03\x12\x00#\n\xff\x01\n\x02\x06\x00\x12\x05\x18\x00\x93\x01\x01\x1a\xf1\x01 The view RPC is used by a view client, who wants to do some\n transaction-related actions, to request data from a view service, which is\n responsible for synchronizing and scanning the public chain state with one or\n more full viewing keys.\n\n\n\n\x03\x06\x00\x01\x12\x03\x18\x08\x13\n/\n\x04\x06\x00\x02\x00\x12\x03\x1a\x025\x1a\" Get current status of chain sync\n\n\x0c\n\x05\x06\x00\x02\x00\x01\x12\x03\x1a\x06\x0c\n\x0c\n\x05\x06\x00\x02\x00\x02\x12\x03\x1a\r\x1a\n\x0c\n\x05\x06\x00\x02\x00\x03\x12\x03\x1a%3\n\x8c\x01\n\x04\x06\x00\x02\x01\x12\x03\x1e\x02N\x1a\x7f Stream sync status updates until the view service has caught up with the chain.\n Returns a stream of `StatusStreamResponse`s.\n\n\x0c\n\x05\x06\x00\x02\x01\x01\x12\x03\x1e\x06\x12\n\x0c\n\x05\x06\x00\x02\x01\x02\x12\x03\x1e\x13&\n\x0c\n\x05\x06\x00\x02\x01\x06\x12\x03\x1e17\n\x0c\n\x05\x06\x00\x02\x01\x03\x12\x03\x1e8L\nm\n\x04\x06\x00\x02\x02\x12\x03\"\x029\x1a` Queries for notes that have been accepted by the chain.\n Returns a stream of `NotesResponse`s.\n\n\x0c\n\x05\x06\x00\x02\x02\x01\x12\x03\"\x06\x0b\n\x0c\n\x05\x06\x00\x02\x02\x02\x12\x03\"\x0c\x18\n\x0c\n\x05\x06\x00\x02\x02\x06\x12\x03\"#)\n\x0c\n\x05\x06\x00\x02\x02\x03\x12\x03\"*7\n=\n\x04\x06\x00\x02\x03\x12\x03%\x02T\x1a0 Returns a stream of `NotesForVotingResponse`s.\n\n\x0c\n\x05\x06\x00\x02\x03\x01\x12\x03%\x06\x14\n\x0c\n\x05\x06\x00\x02\x03\x02\x12\x03%\x15*\n\x0c\n\x05\x06\x00\x02\x03\x06\x12\x03%5;\n\x0c\n\x05\x06\x00\x02\x03\x03\x12\x03%<R\n_\n\x04\x06\x00\x02\x04\x12\x03)\x02<\x1aR Queries for metadata about known assets.\n Returns a stream of `AssetsResponse`s.\n\n\x0c\n\x05\x06\x00\x02\x04\x01\x12\x03)\x06\x0c\n\x0c\n\x05\x06\x00\x02\x04\x02\x12\x03)\r\x1a\n\x0c\n\x05\x06\x00\x02\x04\x06\x12\x03)%+\n\x0c\n\x05\x06\x00\x02\x04\x03\x12\x03),:\n\xb4\x02\n\x04\x06\x00\x02\x05\x12\x030\x02V\x1a\xa6\x02 Query for metadata about a specific asset, by asset ID.\n\n This is the same as the method on the shielded pool\'s `QueryService`, but exposing it\n here allows a view server to provide more specific or opinionated asset metadata -- like\n using an asset registry to provide tickers, symbols, etc.\n\n\x0c\n\x05\x06\x00\x02\x05\x01\x12\x030\x06\x17\n\x0c\n\x05\x06\x00\x02\x05\x02\x12\x030\x180\n\x0c\n\x05\x06\x00\x02\x05\x03\x12\x030;T\n4\n\x04\x06\x00\x02\x06\x12\x033\x02J\x1a\' Query for the current app parameters.\n\n\x0c\n\x05\x06\x00\x02\x06\x01\x12\x033\x06\x13\n\x0c\n\x05\x06\x00\x02\x06\x02\x12\x033\x14(\n\x0c\n\x05\x06\x00\x02\x06\x03\x12\x0333H\n0\n\x04\x06\x00\x02\x07\x12\x036\x02>\x1a# Query for the current gas prices.\n\n\x0c\n\x05\x06\x00\x02\x07\x01\x12\x036\x06\x0f\n\x0c\n\x05\x06\x00\x02\x07\x02\x12\x036\x10 \n\x0c\n\x05\x06\x00\x02\x07\x03\x12\x036+<\n4\n\x04\x06\x00\x02\x08\x12\x039\x02J\x1a\' Query for the current FMD parameters.\n\n\x0c\n\x05\x06\x00\x02\x08\x01\x12\x039\x06\x13\n\x0c\n\x05\x06\x00\x02\x08\x02\x12\x039\x14(\n\x0c\n\x05\x06\x00\x02\x08\x03\x12\x0393H\n:\n\x04\x06\x00\x02\t\x12\x03<\x02M\x1a- Query for an address given an address index\n\n\x0c\n\x05\x06\x00\x02\t\x01\x12\x03<\x06\x14\n\x0c\n\x05\x06\x00\x02\t\x02\x12\x03<\x15*\n\x0c\n\x05\x06\x00\x02\t\x03\x12\x03<5K\n\"\n\x04\x06\x00\x02\n\x12\x03?\x02;\x1a\x15 Query for wallet id\n\n\x0c\n\x05\x06\x00\x02\n\x01\x12\x03?\x06\x0e\n\x0c\n\x05\x06\x00\x02\n\x02\x12\x03?\x0f\x1e\n\x0c\n\x05\x06\x00\x02\n\x03\x12\x03?)9\n:\n\x04\x06\x00\x02\x0b\x12\x03B\x02M\x1a- Query for an address given an address index\n\n\x0c\n\x05\x06\x00\x02\x0b\x01\x12\x03B\x06\x14\n\x0c\n\x05\x06\x00\x02\x0b\x02\x12\x03B\x15*\n\x0c\n\x05\x06\x00\x02\x0b\x03\x12\x03B5K\n-\n\x04\x06\x00\x02\x0c\x12\x03E\x02S\x1a  Query for an ephemeral address\n\n\x0c\n\x05\x06\x00\x02\x0c\x01\x12\x03E\x06\x16\n\x0c\n\x05\x06\x00\x02\x0c\x02\x12\x03E\x17.\n\x0c\n\x05\x06\x00\x02\x0c\x03\x12\x03E9Q\n^\n\x04\x06\x00\x02\r\x12\x03I\x02B\x1aQ Query for balance of a given address.\n Returns a stream of `BalancesResponses`.\n\n\x0c\n\x05\x06\x00\x02\r\x01\x12\x03I\x06\x0e\n\x0c\n\x05\x06\x00\x02\r\x02\x12\x03I\x0f\x1e\n\x0c\n\x05\x06\x00\x02\r\x06\x12\x03I)/\n\x0c\n\x05\x06\x00\x02\r\x03\x12\x03I0@\nf\n\x04\x06\x00\x02\x0e\x12\x03L\x02S\x1aY Query for a note by its note commitment, optionally waiting until the note is detected.\n\n\x0c\n\x05\x06\x00\x02\x0e\x01\x12\x03L\x06\x16\n\x0c\n\x05\x06\x00\x02\x0e\x02\x12\x03L\x17.\n\x0c\n\x05\x06\x00\x02\x0e\x03\x12\x03L9Q\nf\n\x04\x06\x00\x02\x0f\x12\x03O\x02S\x1aY Query for a swap by its swap commitment, optionally waiting until the swap is detected.\n\n\x0c\n\x05\x06\x00\x02\x0f\x01\x12\x03O\x06\x16\n\x0c\n\x05\x06\x00\x02\x0f\x02\x12\x03O\x17.\n\x0c\n\x05\x06\x00\x02\x0f\x03\x12\x03O9Q\n-\n\x04\x06\x00\x02\x10\x12\x03R\x02T\x1a  Query for all unclaimed swaps.\n\n\x0c\n\x05\x06\x00\x02\x10\x01\x12\x03R\x06\x14\n\x0c\n\x05\x06\x00\x02\x10\x02\x12\x03R\x15*\n\x0c\n\x05\x06\x00\x02\x10\x06\x12\x03R5;\n\x0c\n\x05\x06\x00\x02\x10\x03\x12\x03R<R\nb\n\x04\x06\x00\x02\x11\x12\x03U\x02P\x1aU Query for whether a nullifier has been spent, optionally waiting until it is spent.\n\n\x0c\n\x05\x06\x00\x02\x11\x01\x12\x03U\x06\x15\n\x0c\n\x05\x06\x00\x02\x11\x02\x12\x03U\x16,\n\x0c\n\x05\x06\x00\x02\x11\x03\x12\x03U7N\n9\n\x04\x06\x00\x02\x12\x12\x03X\x02b\x1a, Query for a given transaction by its hash.\n\n\x0c\n\x05\x06\x00\x02\x12\x01\x12\x03X\x06\x1b\n\x0c\n\x05\x06\x00\x02\x12\x02\x12\x03X\x1c8\n\x0c\n\x05\x06\x00\x02\x12\x03\x12\x03XC`\n}\n\x04\x06\x00\x02\x13\x12\x03\\\x02W\x1ap Query for the full transactions in the given range of blocks.\n Returns a stream of `TransactionInfoResponse`s.\n\n\x0c\n\x05\x06\x00\x02\x13\x01\x12\x03\\\x06\x15\n\x0c\n\x05\x06\x00\x02\x13\x02\x12\x03\\\x16,\n\x0c\n\x05\x06\x00\x02\x13\x06\x12\x03\\7=\n\x0c\n\x05\x06\x00\x02\x13\x03\x12\x03\\>U\ng\n\x04\x06\x00\x02\x14\x12\x03_\x02Z\x1aZ Query for owned position IDs for the given trading pair and in the given position state.\n\n\x0c\n\x05\x06\x00\x02\x14\x01\x12\x03_\x06\x16\n\x0c\n\x05\x06\x00\x02\x14\x02\x12\x03_\x17.\n\x0c\n\x05\x06\x00\x02\x14\x06\x12\x03_9?\n\x0c\n\x05\x06\x00\x02\x14\x03\x12\x03_@X\nm\n\x04\x06\x00\x02\x15\x12\x03b\x02Y\x1a` Translates a high-level intent (\"send X funds to Y address\") into a complete transaction plan.\n\n\x0c\n\x05\x06\x00\x02\x15\x01\x12\x03b\x06\x18\n\x0c\n\x05\x06\x00\x02\x15\x02\x12\x03b\x192\n\x0c\n\x05\x06\x00\x02\x15\x03\x12\x03b=W\n\xf5\x02\n\x04\x06\x00\x02\x16\x12\x03j\x028\x1a\xe7\x02 Returns authentication data for the given transaction plan.\n\n This method takes a complete transaction plan, so that the client can get a\n consistent set of authentication paths to a common root for the entire\n transaction.  (Otherwise, if a client made multiple requests, the wallet\n service could have advanced the state commitment tree  between queries).\n\n\x0c\n\x05\x06\x00\x02\x16\x01\x12\x03j\x06\r\n\x0c\n\x05\x06\x00\x02\x16\x02\x12\x03j\x0e\x1c\n\x0c\n\x05\x06\x00\x02\x16\x03\x12\x03j\'6\n\xb1\x03\n\x04\x06\x00\x02\x17\x12\x03s\x02W\x1a\xa3\x03 Like `Witness`, but immediately uses the witness data to build (prove) the transaction.\n\n This method is useful for clients that can\'t easily do proving themselves, either because\n they\'re not written in Rust and can\'t easily import the proving code, or because they don\'t\n have access to proving keys, or some other reason.\n\n This method streams status updates to the caller before finally returning the transaction.\n\n\x0c\n\x05\x06\x00\x02\x17\x01\x12\x03s\x06\x15\n\x0c\n\x05\x06\x00\x02\x17\x02\x12\x03s\x16,\n\x0c\n\x05\x06\x00\x02\x17\x06\x12\x03s7=\n\x0c\n\x05\x06\x00\x02\x17\x03\x12\x03s>U\n\x8c\x04\n\x04\x06\x00\x02\x18\x12\x04\x80\x01\x02]\x1a\xfd\x03 Authorize a transaction plan and build the transaction.\n\n This method is only supported on view servers that have access to a custody\n service.  Otherwise, it will fail.\n\n Penumbra\'s transaction authorization mechanism is designed so transactions\n can be signed and built (proved) concurrently. This allows implementations\n to, e.g., start proving optimistically while presenting the user with an\n approval dialog.\n\n This method streams status updates to the caller before finally returning the transaction.\n\n\r\n\x05\x06\x00\x02\x18\x01\x12\x04\x80\x01\x06\x17\n\r\n\x05\x06\x00\x02\x18\x02\x12\x04\x80\x01\x180\n\r\n\x05\x06\x00\x02\x18\x06\x12\x04\x80\x01;A\n\r\n\x05\x06\x00\x02\x18\x03\x12\x04\x80\x01B[\n\xbc\x01\n\x04\x06\x00\x02\x19\x12\x04\x85\x01\x02f\x1a\xad\x01 Broadcast a transaction to the network, optionally waiting for full confirmation.\n\n This method streams status updates to the caller before finally returning confirmation.\n\n\r\n\x05\x06\x00\x02\x19\x01\x12\x04\x85\x01\x06\x1a\n\r\n\x05\x06\x00\x02\x19\x02\x12\x04\x85\x01\x1b6\n\r\n\x05\x06\x00\x02\x19\x06\x12\x04\x85\x01AG\n\r\n\x05\x06\x00\x02\x19\x03\x12\x04\x85\x01Hd\n\x9f\x02\n\x04\x06\x00\x02\x1a\x12\x04\x8b\x01\x02u\x1a\x90\x02 Get delegation tokens for a given address index. Each delegation token will\n be represented by a `ValueView` with the given address index\'s balance of\n that token. Each `ValueView`\'s `extended_metadata` field will contain the\n `ValidatorInfo` of the delegated validator.\n\n\r\n\x05\x06\x00\x02\x1a\x01\x12\x04\x8b\x01\x06\x1f\n\r\n\x05\x06\x00\x02\x1a\x02\x12\x04\x8b\x01 @\n\r\n\x05\x06\x00\x02\x1a\x06\x12\x04\x8b\x01KQ\n\r\n\x05\x06\x00\x02\x1a\x03\x12\x04\x8b\x01Rs\n\x86\x01\n\x04\x06\x00\x02\x1b\x12\x05\x8f\x01\x02\x81\x01\x1aw Get unbonding tokens for the given address index, optionally filtered by\n whether the tokens are currently claimable.\n\n\r\n\x05\x06\x00\x02\x1b\x01\x12\x04\x8f\x01\x06#\n\r\n\x05\x06\x00\x02\x1b\x02\x12\x04\x8f\x01$H\n\r\n\x05\x06\x00\x02\x1b\x06\x12\x04\x8f\x01SY\n\r\n\x05\x06\x00\x02\x1b\x03\x12\x04\x8f\x01Z\x7f\nB\n\x04\x06\x00\x02\x1c\x12\x04\x92\x01\x02B\x1a4 Gets the auctions controlled by the user\'s wallet.\n\n\r\n\x05\x06\x00\x02\x1c\x01\x12\x04\x92\x01\x06\x0e\n\r\n\x05\x06\x00\x02\x1c\x02\x12\x04\x92\x01\x0f\x1e\n\r\n\x05\x06\x00\x02\x1c\x06\x12\x04\x92\x01)/\n\r\n\x05\x06\x00\x02\x1c\x03\x12\x04\x92\x010@\n\x0c\n\x02\x04\x00\x12\x06\x95\x01\x00\x9c\x01\x01\n\x0b\n\x03\x04\x00\x01\x12\x04\x95\x01\x08\x17\nh\n\x04\x04\x00\x02\x00\x12\x04\x97\x01\x02/\x1aZ If present, filter balances to only include the account specified by the `AddressIndex`.\n\n\r\n\x05\x04\x00\x02\x00\x06\x12\x04\x97\x01\x02\x1b\n\r\n\x05\x04\x00\x02\x00\x01\x12\x04\x97\x01\x1c*\n\r\n\x05\x04\x00\x02\x00\x03\x12\x04\x97\x01-.\nM\n\x04\x04\x00\x02\x01\x12\x04\x99\x01\x02\x1c\x1a? If present, include inactive auctions as well as active ones.\n\n\r\n\x05\x04\x00\x02\x01\x05\x12\x04\x99\x01\x02\x06\n\r\n\x05\x04\x00\x02\x01\x01\x12\x04\x99\x01\x07\x17\n\r\n\x05\x04\x00\x02\x01\x03\x12\x04\x99\x01\x1a\x1b\nO\n\x04\x04\x00\x02\x02\x12\x04\x9b\x01\x02\x1e\x1aA If set, query a fullnode for the current state of the auctions.\n\n\r\n\x05\x04\x00\x02\x02\x05\x12\x04\x9b\x01\x02\x06\n\r\n\x05\x04\x00\x02\x02\x01\x12\x04\x9b\x01\x07\x19\n\r\n\x05\x04\x00\x02\x02\x03\x12\x04\x9b\x01\x1c\x1d\n\x0c\n\x02\x04\x01\x12\x06\x9e\x01\x00\xac\x01\x01\n\x0b\n\x03\x04\x01\x01\x12\x04\x9e\x01\x08\x18\n\x0c\n\x04\x04\x01\x02\x00\x12\x04\x9f\x01\x023\n\r\n\x05\x04\x01\x02\x00\x06\x12\x04\x9f\x01\x02+\n\r\n\x05\x04\x01\x02\x00\x01\x12\x04\x9f\x01,.\n\r\n\x05\x04\x01\x02\x00\x03\x12\x04\x9f\x0112\n3\n\x04\x04\x01\x02\x01\x12\x04\xa1\x01\x02&\x1a% The note recording the auction NFT.\n\n\r\n\x05\x04\x01\x02\x01\x06\x12\x04\xa1\x01\x02\x15\n\r\n\x05\x04\x01\x02\x01\x01\x12\x04\xa1\x01\x16!\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\xa1\x01$%\ni\n\x04\x04\x01\x02\x02\x12\x04\xa6\x01\x02\"\x1a[ The state of the returned auction.\n\n Only present when `query_latest_state` was provided.\n\n\r\n\x05\x04\x01\x02\x02\x06\x12\x04\xa6\x01\x02\x15\n\r\n\x05\x04\x01\x02\x02\x01\x12\x04\xa6\x01\x16\x1d\n\r\n\x05\x04\x01\x02\x02\x03\x12\x04\xa6\x01 !\n\xb9\x01\n\x04\x04\x01\x02\x03\x12\x04\xab\x01\x028\x1a\xaa\x01 The state of any DEX positions relevant to the returned auction.\n\n Only present when `query_latest_state` was provided.\n Could be empty, depending on the auction state.\n\n\r\n\x05\x04\x01\x02\x03\x04\x12\x04\xab\x01\x02\n\n\r\n\x05\x04\x01\x02\x03\x06\x12\x04\xab\x01\x0b)\n\r\n\x05\x04\x01\x02\x03\x01\x12\x04\xab\x01*3\n\r\n\x05\x04\x01\x02\x03\x03\x12\x04\xab\x0167\n\x0c\n\x02\x04\x02\x12\x06\xae\x01\x00\xb1\x01\x01\n\x0b\n\x03\x04\x02\x01\x12\x04\xae\x01\x08 \n<\n\x04\x04\x02\x02\x00\x12\x04\xb0\x01\x02;\x1a. The transaction plan to authorize and build.\n\n\r\n\x05\x04\x02\x02\x00\x06\x12\x04\xb0\x01\x02%\n\r\n\x05\x04\x02\x02\x00\x01\x12\x04\xb0\x01&6\n\r\n\x05\x04\x02\x02\x00\x03\x12\x04\xb0\x019:\n\x0c\n\x02\x04\x03\x12\x06\xb3\x01\x00\xc2\x01\x01\n\x0b\n\x03\x04\x03\x01\x12\x04\xb3\x01\x08!\n7\n\x04\x04\x03\x03\x00\x12\x06\xb5\x01\x02\xb8\x01\x03\x1a\' Signals that building is in progress.\n\n\r\n\x05\x04\x03\x03\x00\x01\x12\x04\xb5\x01\n\x17\nD\n\x06\x04\x03\x03\x00\x02\x00\x12\x04\xb7\x01\x04\x17\x1a4 An approximate progress of the build, from 0 to 1.\n\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x05\x12\x04\xb7\x01\x04\t\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x01\x12\x04\xb7\x01\n\x12\n\x0f\n\x07\x04\x03\x03\x00\x02\x00\x03\x12\x04\xb7\x01\x15\x16\n;\n\x04\x04\x03\x03\x01\x12\x06\xba\x01\x02\xbd\x01\x03\x1a+ Signals that the transaction is complete.\n\n\r\n\x05\x04\x03\x03\x01\x01\x12\x04\xba\x01\n\x12\n+\n\x06\x04\x03\x03\x01\x02\x00\x12\x04\xbc\x01\x04=\x1a\x1b The finished transaction.\n\n\x0f\n\x07\x04\x03\x03\x01\x02\x00\x06\x12\x04\xbc\x01\x04,\n\x0f\n\x07\x04\x03\x03\x01\x02\x00\x01\x12\x04\xbc\x01-8\n\x0f\n\x07\x04\x03\x03\x01\x02\x00\x03\x12\x04\xbc\x01;<\n\x0e\n\x04\x04\x03\x08\x00\x12\x06\xbe\x01\x02\xc1\x01\x03\n\r\n\x05\x04\x03\x08\x00\x01\x12\x04\xbe\x01\x08\x0e\n\x0c\n\x04\x04\x03\x02\x00\x12\x04\xbf\x01\x04%\n\r\n\x05\x04\x03\x02\x00\x06\x12\x04\xbf\x01\x04\x11\n\r\n\x05\x04\x03\x02\x00\x01\x12\x04\xbf\x01\x12 \n\r\n\x05\x04\x03\x02\x00\x03\x12\x04\xbf\x01#$\n\x0c\n\x04\x04\x03\x02\x01\x12\x04\xc0\x01\x04\x1a\n\r\n\x05\x04\x03\x02\x01\x06\x12\x04\xc0\x01\x04\x0c\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\xc0\x01\r\x15\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\xc0\x01\x18\x19\n\x0c\n\x02\x04\x04\x12\x06\xc4\x01\x00\xc9\x01\x01\n\x0b\n\x03\x04\x04\x01\x12\x04\xc4\x01\x08#\n-\n\x04\x04\x04\x02\x00\x12\x04\xc6\x01\x022\x1a\x1f The transaction to broadcast.\n\n\r\n\x05\x04\x04\x02\x00\x06\x12\x04\xc6\x01\x02!\n\r\n\x05\x04\x04\x02\x00\x01\x12\x04\xc6\x01\"-\n\r\n\x05\x04\x04\x02\x00\x03\x12\x04\xc6\x0101\nY\n\x04\x04\x04\x02\x01\x12\x04\xc8\x01\x02\x1b\x1aK If true, wait for the view service to detect the transaction during sync.\n\n\r\n\x05\x04\x04\x02\x01\x05\x12\x04\xc8\x01\x02\x06\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\xc8\x01\x07\x16\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xc8\x01\x19\x1a\n\x0c\n\x02\x04\x05\x12\x06\xcb\x01\x00\xde\x01\x01\n\x0b\n\x03\x04\x05\x01\x12\x04\xcb\x01\x08$\ng\n\x04\x04\x05\x03\x00\x12\x06\xcd\x01\x02\xd0\x01\x03\x1aW Signals that the transaction was broadcast successfully (but has not been confirmed).\n\n\r\n\x05\x04\x05\x03\x00\x01\x12\x04\xcd\x01\n\x1a\nA\n\x06\x04\x05\x03\x00\x02\x00\x12\x04\xcf\x01\x04(\x1a1 The hash of the transaction that was broadcast.\n\n\x0f\n\x07\x04\x05\x03\x00\x02\x00\x06\x12\x04\xcf\x01\x04 \n\x0f\n\x07\x04\x05\x03\x00\x02\x00\x01\x12\x04\xcf\x01!#\n\x0f\n\x07\x04\x05\x03\x00\x02\x00\x03\x12\x04\xcf\x01&\'\n\xa0\x01\n\x04\x04\x05\x03\x01\x12\x06\xd4\x01\x02\xd9\x01\x03\x1a\x8f\x01 Signals that the transaction has been confirmed on-chain and detected by the view server.\n\n Will not be sent unless await_detection was true.\n\n\r\n\x05\x04\x05\x03\x01\x01\x12\x04\xd4\x01\n\x13\nA\n\x06\x04\x05\x03\x01\x02\x00\x12\x04\xd6\x01\x04(\x1a1 The hash of the transaction that was broadcast.\n\n\x0f\n\x07\x04\x05\x03\x01\x02\x00\x06\x12\x04\xd6\x01\x04 \n\x0f\n\x07\x04\x05\x03\x01\x02\x00\x01\x12\x04\xd6\x01!#\n\x0f\n\x07\x04\x05\x03\x01\x02\x00\x03\x12\x04\xd6\x01&\'\nd\n\x06\x04\x05\x03\x01\x02\x01\x12\x04\xd8\x01\x04 \x1aT The height in which the transaction was detected as included in the chain, if any.\n\n\x0f\n\x07\x04\x05\x03\x01\x02\x01\x05\x12\x04\xd8\x01\x04\n\n\x0f\n\x07\x04\x05\x03\x01\x02\x01\x01\x12\x04\xd8\x01\x0b\x1b\n\x0f\n\x07\x04\x05\x03\x01\x02\x01\x03\x12\x04\xd8\x01\x1e\x1f\n\x0e\n\x04\x04\x05\x08\x00\x12\x06\xda\x01\x02\xdd\x01\x03\n\r\n\x05\x04\x05\x08\x00\x01\x12\x04\xda\x01\x08\x0e\n\x0c\n\x04\x04\x05\x02\x00\x12\x04\xdb\x01\x04+\n\r\n\x05\x04\x05\x02\x00\x06\x12\x04\xdb\x01\x04\x14\n\r\n\x05\x04\x05\x02\x00\x01\x12\x04\xdb\x01\x15&\n\r\n\x05\x04\x05\x02\x00\x03\x12\x04\xdb\x01)*\n\x0c\n\x04\x04\x05\x02\x01\x12\x04\xdc\x01\x04\x1c\n\r\n\x05\x04\x05\x02\x01\x06\x12\x04\xdc\x01\x04\r\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xdc\x01\x0e\x17\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xdc\x01\x1a\x1b\n\x0c\n\x02\x04\x06\x12\x06\xe0\x01\x00\xc5\x02\x01\n\x0b\n\x03\x04\x06\x01\x12\x04\xe0\x01\x08!\nC\n\x04\x04\x06\x02\x00\x12\x04\xe2\x01\x02\x1b\x1a5 The expiry height for the requested TransactionPlan\n\n\r\n\x05\x04\x06\x02\x00\x05\x12\x04\xe2\x01\x02\x08\n\r\n\x05\x04\x06\x02\x00\x01\x12\x04\xe2\x01\t\x16\n\r\n\x05\x04\x06\x02\x00\x03\x12\x04\xe2\x01\x19\x1a\nw\n\x04\x04\x06\x02\x01\x12\x04\xe6\x01\x02-\x1ai The memo for the requested TransactionPlan.\n The memo must be unspecified unless `outputs` is nonempty.\n\n\r\n\x05\x04\x06\x02\x01\x06\x12\x04\xe6\x01\x02#\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xe6\x01$(\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xe6\x01+,\nE\n\x04\x04\x06\x02\x02\x12\x04\xe8\x01\x02\'\x1a7 If present, only spends funds from the given account.\n\n\r\n\x05\x04\x06\x02\x02\x06\x12\x04\xe8\x01\x02\x1b\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\xe8\x01\x1c\"\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xe8\x01%&\n \n\x04\x04\x06\x02\x03\x12\x04\xeb\x01\x02\x1f\x1a\x12 Request contents\n\n\r\n\x05\x04\x06\x02\x03\x04\x12\x04\xeb\x01\x02\n\n\r\n\x05\x04\x06\x02\x03\x06\x12\x04\xeb\x01\x0b\x11\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\xeb\x01\x12\x19\n\r\n\x05\x04\x06\x02\x03\x03\x12\x04\xeb\x01\x1c\x1e\n\x0c\n\x04\x04\x06\x02\x04\x12\x04\xec\x01\x02\x1b\n\r\n\x05\x04\x06\x02\x04\x04\x12\x04\xec\x01\x02\n\n\r\n\x05\x04\x06\x02\x04\x06\x12\x04\xec\x01\x0b\x0f\n\r\n\x05\x04\x06\x02\x04\x01\x12\x04\xec\x01\x10\x15\n\r\n\x05\x04\x06\x02\x04\x03\x12\x04\xec\x01\x18\x1a\n\x0c\n\x04\x04\x06\x02\x05\x12\x04\xed\x01\x02&\n\r\n\x05\x04\x06\x02\x05\x04\x12\x04\xed\x01\x02\n\n\r\n\x05\x04\x06\x02\x05\x06\x12\x04\xed\x01\x0b\x14\n\r\n\x05\x04\x06\x02\x05\x01\x12\x04\xed\x01\x15 \n\r\n\x05\x04\x06\x02\x05\x03\x12\x04\xed\x01#%\n\x0c\n\x04\x04\x06\x02\x06\x12\x04\xee\x01\x02%\n\r\n\x05\x04\x06\x02\x06\x04\x12\x04\xee\x01\x02\n\n\r\n\x05\x04\x06\x02\x06\x06\x12\x04\xee\x01\x0b\x13\n\r\n\x05\x04\x06\x02\x06\x01\x12\x04\xee\x01\x14\x1f\n\r\n\x05\x04\x06\x02\x06\x03\x12\x04\xee\x01\"$\n\x0c\n\x04\x04\x06\x02\x07\x12\x04\xef\x01\x02)\n\r\n\x05\x04\x06\x02\x07\x04\x12\x04\xef\x01\x02\n\n\r\n\x05\x04\x06\x02\x07\x06\x12\x04\xef\x01\x0b\x15\n\r\n\x05\x04\x06\x02\x07\x01\x12\x04\xef\x01\x16#\n\r\n\x05\x04\x06\x02\x07\x03\x12\x04\xef\x01&(\n\x0c\n\x04\x04\x06\x02\x08\x12\x04\xf0\x01\x024\n\r\n\x05\x04\x06\x02\x08\x04\x12\x04\xf0\x01\x02\n\n\r\n\x05\x04\x06\x02\x08\x06\x12\x04\xf0\x01\x0b\x1a\n\r\n\x05\x04\x06\x02\x08\x01\x12\x04\xf0\x01\x1b.\n\r\n\x05\x04\x06\x02\x08\x03\x12\x04\xf0\x0113\n\x0c\n\x04\x04\x06\x02\t\x12\x04\xf1\x01\x02J\n\r\n\x05\x04\x06\x02\t\x04\x12\x04\xf1\x01\x02\n\n\r\n\x05\x04\x06\x02\t\x06\x12\x04\xf1\x01\x0b2\n\r\n\x05\x04\x06\x02\t\x01\x12\x04\xf1\x013D\n\r\n\x05\x04\x06\x02\t\x03\x12\x04\xf1\x01GI\n\x0c\n\x04\x04\x06\x02\n\x12\x04\xf2\x01\x02Q\n\r\n\x05\x04\x06\x02\n\x04\x12\x04\xf2\x01\x02\n\n\r\n\x05\x04\x06\x02\n\x06\x12\x04\xf2\x01\x0b9\n\r\n\x05\x04\x06\x02\n\x01\x12\x04\xf2\x01:K\n\r\n\x05\x04\x06\x02\n\x03\x12\x04\xf2\x01NP\n\x0c\n\x04\x04\x06\x02\x0b\x12\x04\xf3\x01\x02,\n\r\n\x05\x04\x06\x02\x0b\x04\x12\x04\xf3\x01\x02\n\n\r\n\x05\x04\x06\x02\x0b\x06\x12\x04\xf3\x01\x0b\x17\n\r\n\x05\x04\x06\x02\x0b\x01\x12\x04\xf3\x01\x18&\n\r\n\x05\x04\x06\x02\x0b\x03\x12\x04\xf3\x01)+\n\x0c\n\x04\x04\x06\x02\x0c\x12\x04\xf4\x01\x02.\n\r\n\x05\x04\x06\x02\x0c\x04\x12\x04\xf4\x01\x02\n\n\r\n\x05\x04\x06\x02\x0c\x06\x12\x04\xf4\x01\x0b\x18\n\r\n\x05\x04\x06\x02\x0c\x01\x12\x04\xf4\x01\x19(\n\r\n\x05\x04\x06\x02\x0c\x03\x12\x04\xf4\x01+-\n\x0c\n\x04\x04\x06\x02\r\x12\x04\xf5\x01\x024\n\r\n\x05\x04\x06\x02\r\x04\x12\x04\xf5\x01\x02\n\n\r\n\x05\x04\x06\x02\r\x06\x12\x04\xf5\x01\x0b\x1b\n\r\n\x05\x04\x06\x02\r\x01\x12\x04\xf5\x01\x1c.\n\r\n\x05\x04\x06\x02\r\x03\x12\x04\xf5\x0113\n\x7f\n\x04\x04\x06\x08\x00\x12\x06\xf8\x01\x02\xfd\x01\x03\x1ao Specifies either that the planner should compute fees automatically or that it should use a fixed fee amount.\n\n\r\n\x05\x04\x06\x08\x00\x01\x12\x04\xf8\x01\x08\x10\n=\n\x04\x04\x06\x02\x0e\x12\x04\xfa\x01\x041\x1a/ Automatically compute a fee based on gas use.\n\n\r\n\x05\x04\x06\x02\x0e\x06\x12\x04\xfa\x01\x04!\n\r\n\x05\x04\x06\x02\x0e\x01\x12\x04\xfa\x01\"*\n\r\n\x05\x04\x06\x02\x0e\x03\x12\x04\xfa\x01-0\n_\n\x04\x04\x06\x02\x0f\x12\x04\xfc\x01\x04/\x1aQ A manually set fee, rather than automatically computing a fee based on gas use.\n\n\r\n\x05\x04\x06\x02\x0f\x06\x12\x04\xfc\x01\x04\x1d\n\r\n\x05\x04\x06\x02\x0f\x01\x12\x04\xfc\x01\x1e(\n\r\n\x05\x04\x06\x02\x0f\x03\x12\x04\xfc\x01+.\nA\n\x04\x04\x06\x02\x10\x12\x04\x80\x02\x02/\x1a3 The epoch index of the transaction being planned.\n\n\r\n\x05\x04\x06\x02\x10\x05\x12\x04\x80\x02\x02\x08\n\r\n\x05\x04\x06\x02\x10\x01\x12\x04\x80\x02\t\x14\n\r\n\x05\x04\x06\x02\x10\x03\x12\x04\x80\x02\x17\x1a\n\r\n\x05\x04\x06\x02\x10\x08\x12\x04\x80\x02\x1b.\n\x0e\n\x06\x04\x06\x02\x10\x08\x03\x12\x04\x80\x02\x1c-\n;\n\x04\x04\x06\x02\x11\x12\x04\x83\x02\x023\x1a- The epoch of the transaction being planned.\n\n\r\n\x05\x04\x06\x02\x11\x06\x12\x04\x83\x02\x02&\n\r\n\x05\x04\x06\x02\x11\x01\x12\x04\x83\x02\',\n\r\n\x05\x04\x06\x02\x11\x03\x12\x04\x83\x02/2\n*\n\x04\x04\x06\x03\x00\x12\x06\x86\x02\x02\x8b\x02\x03\x1a\x1a Request message subtypes\n\n\r\n\x05\x04\x06\x03\x00\x01\x12\x04\x86\x02\n\x10\nL\n\x06\x04\x06\x03\x00\x02\x00\x12\x04\x88\x02\x04\"\x1a< The amount and denomination in which the Output is issued.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x06\x12\x04\x88\x02\x04\x17\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x01\x12\x04\x88\x02\x18\x1d\n\x0f\n\x07\x04\x06\x03\x00\x02\x00\x03\x12\x04\x88\x02 !\n;\n\x06\x04\x06\x03\x00\x02\x01\x12\x04\x8a\x02\x04%\x1a+ The address to which Output will be sent.\n\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x06\x12\x04\x8a\x02\x04\x18\n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x01\x12\x04\x8a\x02\x19 \n\x0f\n\x07\x04\x06\x03\x00\x02\x01\x03\x12\x04\x8a\x02#$\n\x0e\n\x04\x04\x06\x03\x01\x12\x06\x8c\x02\x02\x95\x02\x03\n\r\n\x05\x04\x06\x03\x01\x01\x12\x04\x8c\x02\n\x0e\nM\n\x06\x04\x06\x03\x01\x02\x00\x12\x04\x8e\x02\x04\"\x1a= The input amount and denomination to be traded in the Swap.\n\n\x0f\n\x07\x04\x06\x03\x01\x02\x00\x06\x12\x04\x8e\x02\x04\x17\n\x0f\n\x07\x04\x06\x03\x01\x02\x00\x01\x12\x04\x8e\x02\x18\x1d\n\x0f\n\x07\x04\x06\x03\x01\x02\x00\x03\x12\x04\x8e\x02 !\nJ\n\x06\x04\x06\x03\x01\x02\x01\x12\x04\x90\x02\x04+\x1a: The denomination to be received as a Output of the Swap.\n\n\x0f\n\x07\x04\x06\x03\x01\x02\x01\x06\x12\x04\x90\x02\x04\x19\n\x0f\n\x07\x04\x06\x03\x01\x02\x01\x01\x12\x04\x90\x02\x1a&\n\x0f\n\x07\x04\x06\x03\x01\x02\x01\x03\x12\x04\x90\x02)*\nL\n\x06\x04\x06\x03\x01\x02\x02\x12\x04\x92\x02\x04&\x1a< The pre-paid fee to be paid for claiming the Swap outputs.\n\n\x0f\n\x07\x04\x06\x03\x01\x02\x02\x06\x12\x04\x92\x02\x04\x1d\n\x0f\n\x07\x04\x06\x03\x01\x02\x02\x01\x12\x04\x92\x02\x1e!\n\x0f\n\x07\x04\x06\x03\x01\x02\x02\x03\x12\x04\x92\x02$%\nF\n\x06\x04\x06\x03\x01\x02\x03\x12\x04\x94\x02\x04+\x1a6 The address to which swap claim output will be sent.\n\n\x0f\n\x07\x04\x06\x03\x01\x02\x03\x06\x12\x04\x94\x02\x04\x18\n\x0f\n\x07\x04\x06\x03\x01\x02\x03\x01\x12\x04\x94\x02\x19&\n\x0f\n\x07\x04\x06\x03\x01\x02\x03\x03\x12\x04\x94\x02)*\n\x0e\n\x04\x04\x06\x03\x02\x12\x06\x96\x02\x02\x9b\x02\x03\n\r\n\x05\x04\x06\x03\x02\x01\x12\x04\x96\x02\n\x13\n\xae\x01\n\x06\x04\x06\x03\x02\x02\x00\x12\x04\x9a\x02\x046\x1a\x9d\x01 SwapCommitment to identify the Swap to be claimed.\n Use the commitment from the Swap message:\n penumbra.core.component.dex.v1.Swap.body.payload.commitment.\n\n\x0f\n\x07\x04\x06\x03\x02\x02\x00\x06\x12\x04\x9a\x02\x04!\n\x0f\n\x07\x04\x06\x03\x02\x02\x00\x01\x12\x04\x9a\x02\"1\n\x0f\n\x07\x04\x06\x03\x02\x02\x00\x03\x12\x04\x9a\x0245\n\x0e\n\x04\x04\x06\x03\x03\x12\x06\x9c\x02\x02\x9f\x02\x03\n\r\n\x05\x04\x06\x03\x03\x01\x12\x04\x9c\x02\n\x12\n\x0e\n\x06\x04\x06\x03\x03\x02\x00\x12\x04\x9d\x02\x04\"\n\x0f\n\x07\x04\x06\x03\x03\x02\x00\x06\x12\x04\x9d\x02\x04\x16\n\x0f\n\x07\x04\x06\x03\x03\x02\x00\x01\x12\x04\x9d\x02\x17\x1d\n\x0f\n\x07\x04\x06\x03\x03\x02\x00\x03\x12\x04\x9d\x02 !\n\x0e\n\x06\x04\x06\x03\x03\x02\x01\x12\x04\x9e\x02\x043\n\x0f\n\x07\x04\x06\x03\x03\x02\x01\x06\x12\x04\x9e\x02\x04$\n\x0f\n\x07\x04\x06\x03\x03\x02\x01\x01\x12\x04\x9e\x02%.\n\x0f\n\x07\x04\x06\x03\x03\x02\x01\x03\x12\x04\x9e\x0212\n\x0e\n\x04\x04\x06\x03\x04\x12\x06\xa0\x02\x02\xa3\x02\x03\n\r\n\x05\x04\x06\x03\x04\x01\x12\x04\xa0\x02\n\x14\n\x0e\n\x06\x04\x06\x03\x04\x02\x00\x12\x04\xa1\x02\x04\"\n\x0f\n\x07\x04\x06\x03\x04\x02\x00\x06\x12\x04\xa1\x02\x04\x17\n\x0f\n\x07\x04\x06\x03\x04\x02\x00\x01\x12\x04\xa1\x02\x18\x1d\n\x0f\n\x07\x04\x06\x03\x04\x02\x00\x03\x12\x04\xa1\x02 !\n\x0e\n\x06\x04\x06\x03\x04\x02\x01\x12\x04\xa2\x02\x043\n\x0f\n\x07\x04\x06\x03\x04\x02\x01\x06\x12\x04\xa2\x02\x04$\n\x0f\n\x07\x04\x06\x03\x04\x02\x01\x01\x12\x04\xa2\x02%.\n\x0f\n\x07\x04\x06\x03\x04\x02\x01\x03\x12\x04\xa2\x0212\n\x0e\n\x04\x04\x06\x03\x05\x12\x06\xa4\x02\x02\xb1\x02\x03\n\r\n\x05\x04\x06\x03\x05\x01\x12\x04\xa4\x02\n\x19\nP\n\x06\x04\x06\x03\x05\x02\x00\x12\x04\xa6\x02\x044\x1a@ The identity key of the validator to finish undelegating from.\n\n\x0f\n\x07\x04\x06\x03\x05\x02\x00\x06\x12\x04\xa6\x02\x04\x1c\n\x0f\n\x07\x04\x06\x03\x05\x02\x00\x01\x12\x04\xa6\x02\x1d/\n\x0f\n\x07\x04\x06\x03\x05\x02\x00\x03\x12\x04\xa6\x0223\nQ\n\x06\x04\x06\x03\x05\x02\x01\x12\x04\xa8\x02\x045\x1aA The epoch in which unbonding began, used to verify the penalty.\n\n\x0f\n\x07\x04\x06\x03\x05\x02\x01\x05\x12\x04\xa8\x02\x04\n\n\x0f\n\x07\x04\x06\x03\x05\x02\x01\x01\x12\x04\xa8\x02\x0b\x1c\n\x0f\n\x07\x04\x06\x03\x05\x02\x01\x03\x12\x04\xa8\x02\x1f \n\x0f\n\x07\x04\x06\x03\x05\x02\x01\x08\x12\x04\xa8\x02!4\n\x10\n\x08\x04\x06\x03\x05\x02\x01\x08\x03\x12\x04\xa8\x02\"3\nu\n\x06\x04\x06\x03\x05\x02\x02\x12\x04\xab\x02\x040\x1ae The penalty applied to undelegation, in bps^2 (10e-8).\n In the happy path (no slashing), this is 0.\n\n\x0f\n\x07\x04\x06\x03\x05\x02\x02\x06\x12\x04\xab\x02\x04#\n\x0f\n\x07\x04\x06\x03\x05\x02\x02\x01\x12\x04\xab\x02$+\n\x0f\n\x07\x04\x06\x03\x05\x02\x02\x03\x12\x04\xab\x02./\n\x88\x01\n\x06\x04\x06\x03\x05\x02\x03\x12\x04\xae\x02\x04,\x1ax The amount of unbonding tokens to claim.\n This is a bare number because its denom is determined by the preceding data.\n\n\x0f\n\x07\x04\x06\x03\x05\x02\x03\x06\x12\x04\xae\x02\x04\x16\n\x0f\n\x07\x04\x06\x03\x05\x02\x03\x01\x12\x04\xae\x02\x17\'\n\x0f\n\x07\x04\x06\x03\x05\x02\x03\x03\x12\x04\xae\x02*+\n6\n\x06\x04\x06\x03\x05\x02\x04\x12\x04\xb0\x02\x04&\x1a& The height at which unbonding began.\n\n\x0f\n\x07\x04\x06\x03\x05\x02\x04\x05\x12\x04\xb0\x02\x04\n\n\x0f\n\x07\x04\x06\x03\x05\x02\x04\x01\x12\x04\xb0\x02\x0b!\n\x0f\n\x07\x04\x06\x03\x05\x02\x04\x03\x12\x04\xb0\x02$%\n\x0e\n\x04\x04\x06\x03\x06\x12\x06\xb2\x02\x02\xb8\x02\x03\n\r\n\x05\x04\x06\x03\x06\x01\x12\x04\xb2\x02\n\x16\n\xea\x01\n\x06\x04\x06\x03\x06\x02\x00\x12\x04\xb7\x02\x040\x1a\xd9\x01 Contains the data defining the position, sufficient to compute its `PositionId`.\n\n Positions are immutable, so the `PositionData` (and hence the `PositionId`)\n are unchanged over the entire lifetime of the position.\n\n\x0f\n\x07\x04\x06\x03\x06\x02\x00\x06\x12\x04\xb7\x02\x04\"\n\x0f\n\x07\x04\x06\x03\x06\x02\x00\x01\x12\x04\xb7\x02#+\n\x0f\n\x07\x04\x06\x03\x06\x02\x00\x03\x12\x04\xb7\x02./\n\x0e\n\x04\x04\x06\x03\x07\x12\x06\xb9\x02\x02\xbc\x02\x03\n\r\n\x05\x04\x06\x03\x07\x01\x12\x04\xb9\x02\n\x17\n(\n\x06\x04\x06\x03\x07\x02\x00\x12\x04\xbb\x02\x045\x1a\x18 The position to close.\n\n\x0f\n\x07\x04\x06\x03\x07\x02\x00\x06\x12\x04\xbb\x02\x04$\n\x0f\n\x07\x04\x06\x03\x07\x02\x00\x01\x12\x04\xbb\x02%0\n\x0f\n\x07\x04\x06\x03\x07\x02\x00\x03\x12\x04\xbb\x0234\n\x0e\n\x04\x04\x06\x03\x08\x12\x06\xbd\x02\x02\xc4\x02\x03\n\r\n\x05\x04\x06\x03\x08\x01\x12\x04\xbd\x02\n\x1a\n+\n\x06\x04\x06\x03\x08\x02\x00\x12\x04\xbf\x02\x045\x1a\x1b The position to withdraw.\n\n\x0f\n\x07\x04\x06\x03\x08\x02\x00\x06\x12\x04\xbf\x02\x04$\n\x0f\n\x07\x04\x06\x03\x08\x02\x00\x01\x12\x04\xbf\x02%0\n\x0f\n\x07\x04\x06\x03\x08\x02\x00\x03\x12\x04\xbf\x0234\n0\n\x06\x04\x06\x03\x08\x02\x01\x12\x04\xc1\x02\x040\x1a  The position\'s final reserves.\n\n\x0f\n\x07\x04\x06\x03\x08\x02\x01\x06\x12\x04\xc1\x02\x04\"\n\x0f\n\x07\x04\x06\x03\x08\x02\x01\x01\x12\x04\xc1\x02#+\n\x0f\n\x07\x04\x06\x03\x08\x02\x01\x03\x12\x04\xc1\x02./\n3\n\x06\x04\x06\x03\x08\x02\x02\x12\x04\xc3\x02\x047\x1a# The trading pair of the position.\n\n\x0f\n\x07\x04\x06\x03\x08\x02\x02\x06\x12\x04\xc3\x02\x04%\n\x0f\n\x07\x04\x06\x03\x08\x02\x02\x01\x12\x04\xc3\x02&2\n\x0f\n\x07\x04\x06\x03\x08\x02\x02\x03\x12\x04\xc3\x0256\n\x0c\n\x02\x04\x07\x12\x06\xc7\x02\x00\xc9\x02\x01\n\x0b\n\x03\x04\x07\x01\x12\x04\xc7\x02\x08\"\n\x0c\n\x04\x04\x07\x02\x00\x12\x04\xc8\x02\x02/\n\r\n\x05\x04\x07\x02\x00\x06\x12\x04\xc8\x02\x02%\n\r\n\x05\x04\x07\x02\x00\x01\x12\x04\xc8\x02&*\n\r\n\x05\x04\x07\x02\x00\x03\x12\x04\xc8\x02-.\n\x0c\n\x02\x04\x08\x12\x06\xcb\x02\x00\xcd\x02\x01\n\x0b\n\x03\x04\x08\x01\x12\x04\xcb\x02\x08\x1d\n\x0c\n\x04\x04\x08\x02\x00\x12\x04\xcc\x02\x02.\n\r\n\x05\x04\x08\x02\x00\x06\x12\x04\xcc\x02\x02\x1b\n\r\n\x05\x04\x08\x02\x00\x01\x12\x04\xcc\x02\x1c)\n\r\n\x05\x04\x08\x02\x00\x03\x12\x04\xcc\x02,-\n\x0c\n\x02\x04\t\x12\x06\xcf\x02\x00\xd1\x02\x01\n\x0b\n\x03\x04\t\x01\x12\x04\xcf\x02\x08\x1e\n\x0c\n\x04\x04\t\x02\x00\x12\x04\xd0\x02\x02#\n\r\n\x05\x04\t\x02\x00\x06\x12\x04\xd0\x02\x02\x16\n\r\n\x05\x04\t\x02\x00\x01\x12\x04\xd0\x02\x17\x1e\n\r\n\x05\x04\t\x02\x00\x03\x12\x04\xd0\x02!\"\n\n\n\x02\x04\n\x12\x04\xd3\x02\x00\x1a\n\x0b\n\x03\x04\n\x01\x12\x04\xd3\x02\x08\x17\n\x0c\n\x02\x04\x0b\x12\x06\xd5\x02\x00\xd7\x02\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xd5\x02\x08\x18\n\x0c\n\x04\x04\x0b\x02\x00\x12\x04\xd6\x02\x02&\n\r\n\x05\x04\x0b\x02\x00\x06\x12\x04\xd6\x02\x02\x17\n\r\n\x05\x04\x0b\x02\x00\x01\x12\x04\xd6\x02\x18!\n\r\n\x05\x04\x0b\x02\x00\x03\x12\x04\xd6\x02$%\n\x0c\n\x02\x04\x0c\x12\x06\xd9\x02\x00\xdb\x02\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\xd9\x02\x08\x1d\n\x0c\n\x04\x04\x0c\x02\x00\x12\x04\xda\x02\x02#\n\r\n\x05\x04\x0c\x02\x00\x06\x12\x04\xda\x02\x02\x16\n\r\n\x05\x04\x0c\x02\x00\x01\x12\x04\xda\x02\x17\x1e\n\r\n\x05\x04\x0c\x02\x00\x03\x12\x04\xda\x02!\"\n\x0c\n\x02\x04\r\x12\x06\xdd\x02\x00\xe0\x02\x01\n\x0b\n\x03\x04\r\x01\x12\x04\xdd\x02\x08\x1e\nW\n\x04\x04\r\x02\x00\x12\x04\xdf\x02\x02.\x1aI Will be absent if given an address not viewable by this viewing service\n\n\r\n\x05\x04\r\x02\x00\x06\x12\x04\xdf\x02\x02\x1b\n\r\n\x05\x04\r\x02\x00\x01\x12\x04\xdf\x02\x1c)\n\r\n\x05\x04\r\x02\x00\x03\x12\x04\xdf\x02,-\n\x0c\n\x02\x04\x0e\x12\x06\xe2\x02\x00\xe4\x02\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\xe2\x02\x08\x1f\n\x0c\n\x04\x04\x0e\x02\x00\x12\x04\xe3\x02\x02.\n\r\n\x05\x04\x0e\x02\x00\x06\x12\x04\xe3\x02\x02\x1b\n\r\n\x05\x04\x0e\x02\x00\x01\x12\x04\xe3\x02\x1c)\n\r\n\x05\x04\x0e\x02\x00\x03\x12\x04\xe3\x02,-\n\x0c\n\x02\x04\x0f\x12\x06\xe6\x02\x00\xe8\x02\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\xe6\x02\x08 \n\x0c\n\x04\x04\x0f\x02\x00\x12\x04\xe7\x02\x02#\n\r\n\x05\x04\x0f\x02\x00\x06\x12\x04\xe7\x02\x02\x16\n\r\n\x05\x04\x0f\x02\x00\x01\x12\x04\xe7\x02\x17\x1e\n\r\n\x05\x04\x0f\x02\x00\x03\x12\x04\xe7\x02!\"\n\x0c\n\x02\x04\x10\x12\x06\xea\x02\x00\xef\x02\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\xea\x02\x08\x17\nh\n\x04\x04\x10\x02\x00\x12\x04\xec\x02\x02/\x1aZ If present, filter balances to only include the account specified by the `AddressIndex`.\n\n\r\n\x05\x04\x10\x02\x00\x06\x12\x04\xec\x02\x02\x1b\n\r\n\x05\x04\x10\x02\x00\x01\x12\x04\xec\x02\x1c*\n\r\n\x05\x04\x10\x02\x00\x03\x12\x04\xec\x02-.\nS\n\x04\x04\x10\x02\x01\x12\x04\xee\x02\x02,\x1aE If present, filter balances to only include the specified asset ID.\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\xee\x02\x02\x17\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xee\x02\x18\'\n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xee\x02*+\n\x0c\n\x02\x04\x11\x12\x06\xf1\x02\x00\xfe\x02\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\xf1\x02\x08\x18\n:\n\x04\x04\x11\x02\x00\x12\x04\xf3\x02\x02<\x1a, Deprecated: use `account_address` instead.\n\n\r\n\x05\x04\x11\x02\x00\x06\x12\x04\xf3\x02\x02\x1b\n\r\n\x05\x04\x11\x02\x00\x01\x12\x04\xf3\x02\x1c#\n\r\n\x05\x04\x11\x02\x00\x03\x12\x04\xf3\x02&\'\n\r\n\x05\x04\x11\x02\x00\x08\x12\x04\xf3\x02(;\n\x0e\n\x06\x04\x11\x02\x00\x08\x03\x12\x04\xf3\x02):\n7\n\x04\x04\x11\x02\x01\x12\x04\xf5\x02\x026\x1a) Deprecated: use `balance_view` instead.\n\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\xf5\x02\x02\x15\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xf5\x02\x16\x1d\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xf5\x02 !\n\r\n\x05\x04\x11\x02\x01\x08\x12\x04\xf5\x02\"5\n\x0e\n\x06\x04\x11\x02\x01\x08\x03\x12\x04\xf5\x02#4\n\xa9\x01\n\x04\x04\x11\x02\x02\x12\x04\xfb\x02\x02/\x1a\x9a\x01 The default address for the account.\n\n Note that the returned balance is for all funds sent to the account,\n not just funds sent to its default address.\n\n\r\n\x05\x04\x11\x02\x02\x06\x12\x04\xfb\x02\x02\x1a\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xfb\x02\x1b*\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xfb\x02-.\n5\n\x04\x04\x11\x02\x03\x12\x04\xfd\x02\x02+\x1a\' The account\'s balance, with metadata.\n\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\xfd\x02\x02\x19\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xfd\x02\x1a&\n\r\n\x05\x04\x11\x02\x03\x03\x12\x04\xfd\x02)*\n7\n\x02\x04\x12\x12\x04\x81\x03\x00\x18\x1a+ Requests sync status of the view service.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\x81\x03\x08\x15\nk\n\x02\x04\x13\x12\x06\x84\x03\x00\x8b\x03\x01\x1a] Returns the status of the view service and whether it is synchronized with the chain state.\n\n\x0b\n\x03\x04\x13\x01\x12\x04\x84\x03\x08\x16\nd\n\x04\x04\x13\x02\x00\x12\x04\x86\x03\x02\x1e\x1aV The height the view service has synchronized to so far when doing a full linear sync\n\n\r\n\x05\x04\x13\x02\x00\x05\x12\x04\x86\x03\x02\x08\n\r\n\x05\x04\x13\x02\x00\x01\x12\x04\x86\x03\t\x19\n\r\n\x05\x04\x13\x02\x00\x03\x12\x04\x86\x03\x1c\x1d\n`\n\x04\x04\x13\x02\x01\x12\x04\x88\x03\x02!\x1aR The height the view service has synchronized to so far when doing a partial sync\n\n\r\n\x05\x04\x13\x02\x01\x05\x12\x04\x88\x03\x02\x08\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\x88\x03\t\x1c\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\x88\x03\x1f \nL\n\x04\x04\x13\x02\x02\x12\x04\x8a\x03\x02\x17\x1a> Whether the view service is catching up with the chain state\n\n\r\n\x05\x04\x13\x02\x02\x05\x12\x04\x8a\x03\x02\x06\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\x8a\x03\x07\x12\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\x8a\x03\x15\x16\nc\n\x02\x04\x14\x12\x04\x8e\x03\x00\x1e\x1aW Requests streaming updates on the sync height until the view service is synchronized.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\x8e\x03\x08\x1b\n.\n\x02\x04\x15\x12\x06\x91\x03\x00\x98\x03\x01\x1a  A streaming sync status update\n\n\x0b\n\x03\x04\x15\x01\x12\x04\x91\x03\x08\x1c\n-\n\x04\x04\x15\x02\x00\x12\x04\x93\x03\x02\'\x1a\x1f The latest known block height\n\n\r\n\x05\x04\x15\x02\x00\x05\x12\x04\x93\x03\x02\x08\n\r\n\x05\x04\x15\x02\x00\x01\x12\x04\x93\x03\t\"\n\r\n\x05\x04\x15\x02\x00\x03\x12\x04\x93\x03%&\nd\n\x04\x04\x15\x02\x01\x12\x04\x95\x03\x02\x1e\x1aV The height the view service has synchronized to so far when doing a full linear sync\n\n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\x95\x03\x02\x08\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\x95\x03\t\x19\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\x95\x03\x1c\x1d\n`\n\x04\x04\x15\x02\x02\x12\x04\x97\x03\x02!\x1aR The height the view service has synchronized to so far when doing a partial sync\n\n\r\n\x05\x04\x15\x02\x02\x05\x12\x04\x97\x03\x02\x08\n\r\n\x05\x04\x15\x02\x02\x01\x12\x04\x97\x03\t\x1c\n\r\n\x05\x04\x15\x02\x02\x03\x12\x04\x97\x03\x1f \n\xb0\x01\n\x02\x04\x16\x12\x06\x9e\x03\x00\xac\x03\x01\x1a\xa1\x01 A query for notes known by the view service.\n\n This message uses the fact that all proto fields are optional\n to allow various filtering on the returned notes.\n\n\x0b\n\x03\x04\x16\x01\x12\x04\x9e\x03\x08\x14\nD\n\x04\x04\x16\x02\x00\x12\x04\xa0\x03\x02\x19\x1a6 If set, return spent notes as well as unspent notes.\n\n\r\n\x05\x04\x16\x02\x00\x05\x12\x04\xa0\x03\x02\x06\n\r\n\x05\x04\x16\x02\x00\x01\x12\x04\xa0\x03\x07\x14\n\r\n\x05\x04\x16\x02\x00\x03\x12\x04\xa0\x03\x17\x18\nF\n\x04\x04\x16\x02\x01\x12\x04\xa3\x03\x02%\x1a8 If set, only return notes with the specified asset id.\n\n\r\n\x05\x04\x16\x02\x01\x06\x12\x04\xa3\x03\x02\x17\n\r\n\x05\x04\x16\x02\x01\x01\x12\x04\xa3\x03\x18 \n\r\n\x05\x04\x16\x02\x01\x03\x12\x04\xa3\x03#$\n]\n\x04\x04\x16\x02\x02\x12\x04\xa6\x03\x02.\x1aO If set, only return notes with the specified address incore.component.dex.v1.\n\n\r\n\x05\x04\x16\x02\x02\x06\x12\x04\xa6\x03\x02\x1b\n\r\n\x05\x04\x16\x02\x02\x01\x12\x04\xa6\x03\x1c)\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\xa6\x03,-\n\x90\x01\n\x04\x04\x16\x02\x03\x12\x04\xab\x03\x02)\x1a\x81\x01 If set, stop returning notes once the total exceeds this amount.\n\n Ignored if `asset_id` is unset or if `include_spent` is set.\n\n\r\n\x05\x04\x16\x02\x03\x06\x12\x04\xab\x03\x02\x14\n\r\n\x05\x04\x16\x02\x03\x01\x12\x04\xab\x03\x15$\n\r\n\x05\x04\x16\x02\x03\x03\x12\x04\xab\x03\'(\nF\n\x02\x04\x17\x12\x06\xaf\x03\x00\xb5\x03\x01\x1a8 A query for notes to be used for voting on a proposal.\n\n\x0b\n\x03\x04\x17\x01\x12\x04\xaf\x03\x08\x1d\n4\n\x04\x04\x17\x02\x00\x12\x04\xb1\x03\x02\x1f\x1a& The starting height of the proposal.\n\n\r\n\x05\x04\x17\x02\x00\x05\x12\x04\xb1\x03\x02\x08\n\r\n\x05\x04\x17\x02\x00\x01\x12\x04\xb1\x03\t\x1a\n\r\n\x05\x04\x17\x02\x00\x03\x12\x04\xb1\x03\x1d\x1e\nF\n\x04\x04\x17\x02\x01\x12\x04\xb4\x03\x02.\x1a8 If set, only return notes with the specified asset id.\n\n\r\n\x05\x04\x17\x02\x01\x06\x12\x04\xb4\x03\x02\x1b\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\xb4\x03\x1c)\n\r\n\x05\x04\x17\x02\x01\x03\x12\x04\xb4\x03,-\n\x0c\n\x02\x04\x18\x12\x06\xb7\x03\x00\xba\x03\x01\n\x0b\n\x03\x04\x18\x01\x12\x04\xb7\x03\x08\x16\n/\n\x04\x04\x18\x02\x00\x12\x04\xb9\x03\x02;\x1a! The transaction plan to witness\n\n\r\n\x05\x04\x18\x02\x00\x06\x12\x04\xb9\x03\x02%\n\r\n\x05\x04\x18\x02\x00\x01\x12\x04\xb9\x03&6\n\r\n\x05\x04\x18\x02\x00\x03\x12\x04\xb9\x039:\n\x0c\n\x02\x04\x19\x12\x06\xbc\x03\x00\xbe\x03\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\xbc\x03\x08\x17\n\x0c\n\x04\x04\x19\x02\x00\x12\x04\xbd\x03\x023\n\r\n\x05\x04\x19\x02\x00\x06\x12\x04\xbd\x03\x02!\n\r\n\x05\x04\x19\x02\x00\x01\x12\x04\xbd\x03\".\n\r\n\x05\x04\x19\x02\x00\x03\x12\x04\xbd\x0312\n\x0c\n\x02\x04\x1a\x12\x06\xc0\x03\x00\xc3\x03\x01\n\x0b\n\x03\x04\x1a\x01\x12\x04\xc0\x03\x08\x1e\n\x0c\n\x04\x04\x1a\x02\x00\x12\x04\xc1\x03\x02D\n\r\n\x05\x04\x1a\x02\x00\x06\x12\x04\xc1\x03\x02.\n\r\n\x05\x04\x1a\x02\x00\x01\x12\x04\xc1\x03/?\n\r\n\x05\x04\x1a\x02\x00\x03\x12\x04\xc1\x03BC\n\x0c\n\x04\x04\x1a\x02\x01\x12\x04\xc2\x03\x02H\n\r\n\x05\x04\x1a\x02\x01\x06\x12\x04\xc2\x03\x020\n\r\n\x05\x04\x1a\x02\x01\x01\x12\x04\xc2\x031C\n\r\n\x05\x04\x1a\x02\x01\x03\x12\x04\xc2\x03FG\n\x0c\n\x02\x04\x1b\x12\x06\xc5\x03\x00\xd4\x03\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\xc5\x03\x08\x1f\n7\n\x04\x04\x1b\x03\x00\x12\x06\xc7\x03\x02\xca\x03\x03\x1a\' Signals that building is in progress.\n\n\r\n\x05\x04\x1b\x03\x00\x01\x12\x04\xc7\x03\n\x17\nD\n\x06\x04\x1b\x03\x00\x02\x00\x12\x04\xc9\x03\x04\x17\x1a4 An approximate progress of the build, from 0 to 1.\n\n\x0f\n\x07\x04\x1b\x03\x00\x02\x00\x05\x12\x04\xc9\x03\x04\t\n\x0f\n\x07\x04\x1b\x03\x00\x02\x00\x01\x12\x04\xc9\x03\n\x12\n\x0f\n\x07\x04\x1b\x03\x00\x02\x00\x03\x12\x04\xc9\x03\x15\x16\n;\n\x04\x04\x1b\x03\x01\x12\x06\xcc\x03\x02\xcf\x03\x03\x1a+ Signals that the transaction is complete.\n\n\r\n\x05\x04\x1b\x03\x01\x01\x12\x04\xcc\x03\n\x12\n+\n\x06\x04\x1b\x03\x01\x02\x00\x12\x04\xce\x03\x04=\x1a\x1b The finished transaction.\n\n\x0f\n\x07\x04\x1b\x03\x01\x02\x00\x06\x12\x04\xce\x03\x04,\n\x0f\n\x07\x04\x1b\x03\x01\x02\x00\x01\x12\x04\xce\x03-8\n\x0f\n\x07\x04\x1b\x03\x01\x02\x00\x03\x12\x04\xce\x03;<\n\x0e\n\x04\x04\x1b\x08\x00\x12\x06\xd0\x03\x02\xd3\x03\x03\n\r\n\x05\x04\x1b\x08\x00\x01\x12\x04\xd0\x03\x08\x0e\n\x0c\n\x04\x04\x1b\x02\x00\x12\x04\xd1\x03\x04%\n\r\n\x05\x04\x1b\x02\x00\x06\x12\x04\xd1\x03\x04\x11\n\r\n\x05\x04\x1b\x02\x00\x01\x12\x04\xd1\x03\x12 \n\r\n\x05\x04\x1b\x02\x00\x03\x12\x04\xd1\x03#$\n\x0c\n\x04\x04\x1b\x02\x01\x12\x04\xd2\x03\x04\x1a\n\r\n\x05\x04\x1b\x02\x01\x06\x12\x04\xd2\x03\x04\x0c\n\r\n\x05\x04\x1b\x02\x01\x01\x12\x04\xd2\x03\r\x15\n\r\n\x05\x04\x1b\x02\x01\x03\x12\x04\xd2\x03\x18\x19\n>\n\x02\x04\x1c\x12\x06\xd7\x03\x00\xe7\x03\x01\x1a0 Requests all assets known to the view service.\n\n\x0b\n\x03\x04\x1c\x01\x12\x04\xd7\x03\x08\x15\n\x8f\x01\n\x04\x04\x1c\x02\x00\x12\x04\xda\x03\x02\x14\x1a\x80\x01 If set to false (default), returns all assets, regardless of whether the rest of the fields of\n the request indicate a filter.\n\n\r\n\x05\x04\x1c\x02\x00\x05\x12\x04\xda\x03\x02\x06\n\r\n\x05\x04\x1c\x02\x00\x01\x12\x04\xda\x03\x07\x0f\n\r\n\x05\x04\x1c\x02\x00\x03\x12\x04\xda\x03\x12\x13\nE\n\x04\x04\x1c\x02\x01\x12\x04\xdc\x03\x02B\x1a7 Include these specific denominations in the response.\n\n\r\n\x05\x04\x1c\x02\x01\x04\x12\x04\xdc\x03\x02\n\n\r\n\x05\x04\x1c\x02\x01\x06\x12\x04\xdc\x03\x0b\x1e\n\r\n\x05\x04\x1c\x02\x01\x01\x12\x04\xdc\x03\x1f=\n\r\n\x05\x04\x1c\x02\x01\x03\x12\x04\xdc\x03@A\nQ\n\x04\x04\x1c\x02\x02\x12\x04\xde\x03\x02%\x1aC Include all delegation tokens, to any validator, in the response.\n\n\r\n\x05\x04\x1c\x02\x02\x05\x12\x04\xde\x03\x02\x06\n\r\n\x05\x04\x1c\x02\x02\x01\x12\x04\xde\x03\x07 \n\r\n\x05\x04\x1c\x02\x02\x03\x12\x04\xde\x03#$\nR\n\x04\x04\x1c\x02\x03\x12\x04\xe0\x03\x02$\x1aD Include all unbonding tokens, from any validator, in the response.\n\n\r\n\x05\x04\x1c\x02\x03\x05\x12\x04\xe0\x03\x02\x06\n\r\n\x05\x04\x1c\x02\x03\x01\x12\x04\xe0\x03\x07\x1f\n\r\n\x05\x04\x1c\x02\x03\x03\x12\x04\xe0\x03\"#\n4\n\x04\x04\x1c\x02\x04\x12\x04\xe2\x03\x02\x1b\x1a& Include all LP NFTs in the response.\n\n\r\n\x05\x04\x1c\x02\x04\x05\x12\x04\xe2\x03\x02\x06\n\r\n\x05\x04\x1c\x02\x04\x01\x12\x04\xe2\x03\x07\x16\n\r\n\x05\x04\x1c\x02\x04\x03\x12\x04\xe2\x03\x19\x1a\n:\n\x04\x04\x1c\x02\x05\x12\x04\xe4\x03\x02!\x1a, Include all proposal NFTs in the response.\n\n\r\n\x05\x04\x1c\x02\x05\x05\x12\x04\xe4\x03\x02\x06\n\r\n\x05\x04\x1c\x02\x05\x01\x12\x04\xe4\x03\x07\x1c\n\r\n\x05\x04\x1c\x02\x05\x03\x12\x04\xe4\x03\x1f \nB\n\x04\x04\x1c\x02\x06\x12\x04\xe6\x03\x02)\x1a4 Include all voting receipt tokens in the response.\n\n\r\n\x05\x04\x1c\x02\x06\x05\x12\x04\xe6\x03\x02\x06\n\r\n\x05\x04\x1c\x02\x06\x01\x12\x04\xe6\x03\x07$\n\r\n\x05\x04\x1c\x02\x06\x03\x12\x04\xe6\x03\'(\n>\n\x02\x04\x1d\x12\x06\xea\x03\x00\xec\x03\x01\x1a0 Requests all assets known to the view service.\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\xea\x03\x08\x16\n\x0c\n\x04\x04\x1d\x02\x00\x12\x04\xeb\x03\x02,\n\r\n\x05\x04\x1d\x02\x00\x06\x12\x04\xeb\x03\x02\x18\n\r\n\x05\x04\x1d\x02\x00\x01\x12\x04\xeb\x03\x19\'\n\r\n\x05\x04\x1d\x02\x00\x03\x12\x04\xeb\x03*+\nH\n\x02\x04\x1e\x12\x04\xef\x03\x00\x1f\x1a< Requests the current app parameters from the view service.\n\n\x0b\n\x03\x04\x1e\x01\x12\x04\xef\x03\x08\x1c\n\x0c\n\x02\x04\x1f\x12\x06\xf1\x03\x00\xf3\x03\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\xf1\x03\x08\x1d\n\x0c\n\x04\x04\x1f\x02\x00\x12\x04\xf2\x03\x02+\n\r\n\x05\x04\x1f\x02\x00\x06\x12\x04\xf2\x03\x02\x1b\n\r\n\x05\x04\x1f\x02\x00\x01\x12\x04\xf2\x03\x1c&\n\r\n\x05\x04\x1f\x02\x00\x03\x12\x04\xf2\x03)*\nD\n\x02\x04 \x12\x04\xf6\x03\x00\x1b\x1a8 Requests the current gas prices from the view service.\n\n\x0b\n\x03\x04 \x01\x12\x04\xf6\x03\x08\x18\n\x0c\n\x02\x04!\x12\x06\xf8\x03\x00\xfa\x03\x01\n\x0b\n\x03\x04!\x01\x12\x04\xf8\x03\x08\x19\n\x0c\n\x04\x04!\x02\x00\x12\x04\xf9\x03\x021\n\r\n\x05\x04!\x02\x00\x06\x12\x04\xf9\x03\x02!\n\r\n\x05\x04!\x02\x00\x01\x12\x04\xf9\x03\",\n\r\n\x05\x04!\x02\x00\x03\x12\x04\xf9\x03/0\nH\n\x02\x04\"\x12\x04\xfd\x03\x00\x1f\x1a< Requests the current FMD parameters from the view service.\n\n\x0b\n\x03\x04\"\x01\x12\x04\xfd\x03\x08\x1c\n\x0c\n\x02\x04#\x12\x06\xff\x03\x00\x81\x04\x01\n\x0b\n\x03\x04#\x01\x12\x04\xff\x03\x08\x1d\n\x0c\n\x04\x04#\x02\x00\x12\x04\x80\x04\x02?\n\r\n\x05\x04#\x02\x00\x06\x12\x04\x80\x04\x02/\n\r\n\x05\x04#\x02\x00\x01\x12\x04\x80\x040:\n\r\n\x05\x04#\x02\x00\x03\x12\x04\x80\x04=>\n\x0c\n\x02\x04$\x12\x06\x83\x04\x00\x87\x04\x01\n\x0b\n\x03\x04$\x01\x12\x04\x83\x04\x08\x1f\n\x0c\n\x04\x04$\x02\x00\x12\x04\x84\x04\x024\n\r\n\x05\x04$\x02\x00\x06\x12\x04\x84\x04\x02\x1f\n\r\n\x05\x04$\x02\x00\x01\x12\x04\x84\x04 /\n\r\n\x05\x04$\x02\x00\x03\x12\x04\x84\x0423\nU\n\x04\x04$\x02\x01\x12\x04\x86\x04\x02\x1b\x1aG If set to true, waits to return until the requested note is detected.\n\n\r\n\x05\x04$\x02\x01\x05\x12\x04\x86\x04\x02\x06\n\r\n\x05\x04$\x02\x01\x01\x12\x04\x86\x04\x07\x16\n\r\n\x05\x04$\x02\x01\x03\x12\x04\x86\x04\x19\x1a\n\x0c\n\x02\x04%\x12\x06\x89\x04\x00\x8b\x04\x01\n\x0b\n\x03\x04%\x01\x12\x04\x89\x04\x08 \n\x0c\n\x04\x04%\x02\x00\x12\x04\x8a\x04\x02)\n\r\n\x05\x04%\x02\x00\x06\x12\x04\x8a\x04\x02\x15\n\r\n\x05\x04%\x02\x00\x01\x12\x04\x8a\x04\x16$\n\r\n\x05\x04%\x02\x00\x03\x12\x04\x8a\x04\'(\n\x0c\n\x02\x04&\x12\x06\x8d\x04\x00\x91\x04\x01\n\x0b\n\x03\x04&\x01\x12\x04\x8d\x04\x08\x1f\n\x0c\n\x04\x04&\x02\x00\x12\x04\x8e\x04\x024\n\r\n\x05\x04&\x02\x00\x06\x12\x04\x8e\x04\x02\x1f\n\r\n\x05\x04&\x02\x00\x01\x12\x04\x8e\x04 /\n\r\n\x05\x04&\x02\x00\x03\x12\x04\x8e\x0423\nU\n\x04\x04&\x02\x01\x12\x04\x90\x04\x02\x1b\x1aG If set to true, waits to return until the requested swap is detected.\n\n\r\n\x05\x04&\x02\x01\x05\x12\x04\x90\x04\x02\x06\n\r\n\x05\x04&\x02\x01\x01\x12\x04\x90\x04\x07\x16\n\r\n\x05\x04&\x02\x01\x03\x12\x04\x90\x04\x19\x1a\n\x0c\n\x02\x04\'\x12\x06\x93\x04\x00\x95\x04\x01\n\x0b\n\x03\x04\'\x01\x12\x04\x93\x04\x08 \n\x0c\n\x04\x04\'\x02\x00\x12\x04\x94\x04\x02\x16\n\r\n\x05\x04\'\x02\x00\x06\x12\x04\x94\x04\x02\x0c\n\r\n\x05\x04\'\x02\x00\x01\x12\x04\x94\x04\r\x11\n\r\n\x05\x04\'\x02\x00\x03\x12\x04\x94\x04\x14\x15\n\n\n\x02\x04(\x12\x04\x97\x04\x00 \n\x0b\n\x03\x04(\x01\x12\x04\x97\x04\x08\x1d\n\x0c\n\x02\x04)\x12\x06\x99\x04\x00\x9b\x04\x01\n\x0b\n\x03\x04)\x01\x12\x04\x99\x04\x08\x1e\n\x0c\n\x04\x04)\x02\x00\x12\x04\x9a\x04\x02\x16\n\r\n\x05\x04)\x02\x00\x06\x12\x04\x9a\x04\x02\x0c\n\r\n\x05\x04)\x02\x00\x01\x12\x04\x9a\x04\r\x11\n\r\n\x05\x04)\x02\x00\x03\x12\x04\x9a\x04\x14\x15\n\x0c\n\x02\x04*\x12\x06\x9d\x04\x00\xa0\x04\x01\n\x0b\n\x03\x04*\x01\x12\x04\x9d\x04\x08\x1e\n\x0c\n\x04\x04*\x02\x00\x12\x04\x9e\x04\x020\n\r\n\x05\x04*\x02\x00\x06\x12\x04\x9e\x04\x02!\n\r\n\x05\x04*\x02\x00\x01\x12\x04\x9e\x04\"+\n\r\n\x05\x04*\x02\x00\x03\x12\x04\x9e\x04./\n\x0c\n\x04\x04*\x02\x01\x12\x04\x9f\x04\x02\x1b\n\r\n\x05\x04*\x02\x01\x05\x12\x04\x9f\x04\x02\x06\n\r\n\x05\x04*\x02\x01\x01\x12\x04\x9f\x04\x07\x16\n\r\n\x05\x04*\x02\x01\x03\x12\x04\x9f\x04\x19\x1a\n\x0c\n\x02\x04+\x12\x06\xa2\x04\x00\xa4\x04\x01\n\x0b\n\x03\x04+\x01\x12\x04\xa2\x04\x08\x1f\n\x0c\n\x04\x04+\x02\x00\x12\x04\xa3\x04\x02\x11\n\r\n\x05\x04+\x02\x00\x05\x12\x04\xa3\x04\x02\x06\n\r\n\x05\x04+\x02\x00\x01\x12\x04\xa3\x04\x07\x0c\n\r\n\x05\x04+\x02\x00\x03\x12\x04\xa3\x04\x0f\x10\n\x0c\n\x02\x04,\x12\x06\xa6\x04\x00\xa9\x04\x01\n\x0b\n\x03\x04,\x01\x12\x04\xa6\x04\x08$\n2\n\x04\x04,\x02\x00\x12\x04\xa8\x04\x02&\x1a$ The transaction hash to query for.\n\n\r\n\x05\x04,\x02\x00\x06\x12\x04\xa8\x04\x02\x1e\n\r\n\x05\x04,\x02\x00\x01\x12\x04\xa8\x04\x1f!\n\r\n\x05\x04,\x02\x00\x03\x12\x04\xa8\x04$%\n\x0c\n\x02\x04-\x12\x06\xab\x04\x00\xb0\x04\x01\n\x0b\n\x03\x04-\x01\x12\x04\xab\x04\x08\x1e\nG\n\x04\x04-\x02\x00\x12\x04\xad\x04\x02\x1a\x1a9 If present, return only transactions after this height.\n\n\r\n\x05\x04-\x02\x00\x05\x12\x04\xad\x04\x02\x08\n\r\n\x05\x04-\x02\x00\x01\x12\x04\xad\x04\t\x15\n\r\n\x05\x04-\x02\x00\x03\x12\x04\xad\x04\x18\x19\nH\n\x04\x04-\x02\x01\x12\x04\xaf\x04\x02\x18\x1a: If present, return only transactions before this height.\n\n\r\n\x05\x04-\x02\x01\x05\x12\x04\xaf\x04\x02\x08\n\r\n\x05\x04-\x02\x01\x01\x12\x04\xaf\x04\t\x13\n\r\n\x05\x04-\x02\x01\x03\x12\x04\xaf\x04\x16\x17\n\x0c\n\x02\x04.\x12\x06\xb2\x04\x00\xbd\x04\x01\n\x0b\n\x03\x04.\x01\x12\x04\xb2\x04\x08\x17\nM\n\x04\x04.\x02\x00\x12\x04\xb4\x04\x02\x14\x1a? The height the transaction was included in a block, if known.\n\n\r\n\x05\x04.\x02\x00\x05\x12\x04\xb4\x04\x02\x08\n\r\n\x05\x04.\x02\x00\x01\x12\x04\xb4\x04\t\x0f\n\r\n\x05\x04.\x02\x00\x03\x12\x04\xb4\x04\x12\x13\n,\n\x04\x04.\x02\x01\x12\x04\xb6\x04\x02&\x1a\x1e The hash of the transaction.\n\n\r\n\x05\x04.\x02\x01\x06\x12\x04\xb6\x04\x02\x1e\n\r\n\x05\x04.\x02\x01\x01\x12\x04\xb6\x04\x1f!\n\r\n\x05\x04.\x02\x01\x03\x12\x04\xb6\x04$%\n,\n\x04\x04.\x02\x02\x12\x04\xb8\x04\x022\x1a\x1e The transaction data itself.\n\n\r\n\x05\x04.\x02\x02\x06\x12\x04\xb8\x04\x02!\n\r\n\x05\x04.\x02\x02\x01\x12\x04\xb8\x04\"-\n\r\n\x05\x04.\x02\x02\x03\x12\x04\xb8\x0401\nI\n\x04\x04.\x02\x03\x12\x04\xba\x04\x02=\x1a; The transaction perspective, as seen by this view server.\n\n\r\n\x05\x04.\x02\x03\x06\x12\x04\xba\x04\x02,\n\r\n\x05\x04.\x02\x03\x01\x12\x04\xba\x04-8\n\r\n\x05\x04.\x02\x03\x03\x12\x04\xba\x04;<\n\xb7\x01\n\x04\x04.\x02\x04\x12\x04\xbc\x04\x02/\x1a\xa8\x01 A precomputed transaction view of `transaction` from `perspective`, included for convenience of clients that don\'t have support for viewing transactions on their own.\n\n\r\n\x05\x04.\x02\x04\x06\x12\x04\xbc\x04\x02%\n\r\n\x05\x04.\x02\x04\x01\x12\x04\xbc\x04&*\n\r\n\x05\x04.\x02\x04\x03\x12\x04\xbc\x04-.\n\x0c\n\x02\x04/\x12\x06\xbf\x04\x00\xc1\x04\x01\n\x0b\n\x03\x04/\x01\x12\x04\xbf\x04\x08\x1f\n\x0c\n\x04\x04/\x02\x00\x12\x04\xc0\x04\x02\x1e\n\r\n\x05\x04/\x02\x00\x06\x12\x04\xc0\x04\x02\x11\n\r\n\x05\x04/\x02\x00\x01\x12\x04\xc0\x04\x12\x19\n\r\n\x05\x04/\x02\x00\x03\x12\x04\xc0\x04\x1c\x1d\n\x0c\n\x02\x040\x12\x06\xc3\x04\x00\xc5\x04\x01\n\x0b\n\x03\x040\x01\x12\x04\xc3\x04\x08%\n\x0c\n\x04\x040\x02\x00\x12\x04\xc4\x04\x02\x1e\n\r\n\x05\x040\x02\x00\x06\x12\x04\xc4\x04\x02\x11\n\r\n\x05\x040\x02\x00\x01\x12\x04\xc4\x04\x12\x19\n\r\n\x05\x040\x02\x00\x03\x12\x04\xc4\x04\x1c\x1d\n\x0c\n\x02\x041\x12\x06\xc7\x04\x00\xc9\x04\x01\n\x0b\n\x03\x041\x01\x12\x04\xc7\x04\x08\x15\n\x0c\n\x04\x041\x02\x00\x12\x04\xc8\x04\x02&\n\r\n\x05\x041\x02\x00\x06\x12\x04\xc8\x04\x02\x15\n\r\n\x05\x041\x02\x00\x01\x12\x04\xc8\x04\x16!\n\r\n\x05\x041\x02\x00\x03\x12\x04\xc8\x04$%\n\x0c\n\x02\x042\x12\x06\xcb\x04\x00\xce\x04\x01\n\x0b\n\x03\x042\x01\x12\x04\xcb\x04\x08\x1e\n\x0c\n\x04\x042\x02\x00\x12\x04\xcc\x04\x02&\n\r\n\x05\x042\x02\x00\x06\x12\x04\xcc\x04\x02\x15\n\r\n\x05\x042\x02\x00\x01\x12\x04\xcc\x04\x16!\n\r\n\x05\x042\x02\x00\x03\x12\x04\xcc\x04$%\n\x0c\n\x04\x042\x02\x01\x12\x04\xcd\x04\x02,\n\r\n\x05\x042\x02\x01\x06\x12\x04\xcd\x04\x02\x1a\n\r\n\x05\x042\x02\x01\x01\x12\x04\xcd\x04\x1b\'\n\r\n\x05\x042\x02\x01\x03\x12\x04\xcd\x04*+\nK\n\x02\x043\x12\x06\xd1\x04\x00\xe4\x04\x01\x1a= A note plaintext with associated metadata about its status.\n\n\x0b\n\x03\x043\x01\x12\x04\xd1\x04\x08\x1b\n:\n\x04\x043\x02\x00\x12\x04\xd3\x04\x024\x1a, The note commitment, identifying the note.\n\n\r\n\x05\x043\x02\x00\x06\x12\x04\xd3\x04\x02\x1f\n\r\n\x05\x043\x02\x00\x01\x12\x04\xd3\x04 /\n\r\n\x05\x043\x02\x00\x03\x12\x04\xd3\x0423\n*\n\x04\x043\x02\x01\x12\x04\xd5\x04\x020\x1a\x1c The note plaintext itself.\n\n\r\n\x05\x043\x02\x01\x06\x12\x04\xd5\x04\x02&\n\r\n\x05\x043\x02\x01\x01\x12\x04\xd5\x04\'+\n\r\n\x05\x043\x02\x01\x03\x12\x04\xd5\x04./\nW\n\x04\x043\x02\x02\x12\x04\xd7\x04\x02.\x1aI A precomputed decryption of the note\'s address incore.component.dex.v1.\n\n\r\n\x05\x043\x02\x02\x06\x12\x04\xd7\x04\x02\x1b\n\r\n\x05\x043\x02\x02\x01\x12\x04\xd7\x04\x1c)\n\r\n\x05\x043\x02\x02\x03\x12\x04\xd7\x04,-\n%\n\x04\x043\x02\x03\x12\x04\xd9\x04\x020\x1a\x17 The note\'s nullifier.\n\n\r\n\x05\x043\x02\x03\x06\x12\x04\xd9\x04\x02!\n\r\n\x05\x043\x02\x03\x01\x12\x04\xd9\x04\"+\n\r\n\x05\x043\x02\x03\x03\x12\x04\xd9\x04./\n9\n\x04\x043\x02\x04\x12\x04\xdb\x04\x02\x1c\x1a+ The height at which the note was created.\n\n\r\n\x05\x043\x02\x04\x05\x12\x04\xdb\x04\x02\x08\n\r\n\x05\x043\x02\x04\x01\x12\x04\xdb\x04\t\x17\n\r\n\x05\x043\x02\x04\x03\x12\x04\xdb\x04\x1a\x1b\nO\n\x04\x043\x02\x05\x12\x04\xdd\x04\x02\x1a\x1aA Records whether the note was spent (and if so, at what height).\n\n\r\n\x05\x043\x02\x05\x05\x12\x04\xdd\x04\x02\x08\n\r\n\x05\x043\x02\x05\x01\x12\x04\xdd\x04\t\x15\n\r\n\x05\x043\x02\x05\x03\x12\x04\xdd\x04\x18\x19\n\"\n\x04\x043\x02\x06\x12\x04\xdf\x04\x02\x16\x1a\x14 The note position.\n\n\r\n\x05\x043\x02\x06\x05\x12\x04\xdf\x04\x02\x08\n\r\n\x05\x043\x02\x06\x01\x12\x04\xdf\x04\t\x11\n\r\n\x05\x043\x02\x06\x03\x12\x04\xdf\x04\x14\x15\n&\n\x04\x043\x02\x07\x12\x04\xe1\x04\x024\x1a\x18 The source of the note\n\n\r\n\x05\x043\x02\x07\x06\x12\x04\xe1\x04\x02(\n\r\n\x05\x043\x02\x07\x01\x12\x04\xe1\x04)/\n\r\n\x05\x043\x02\x07\x03\x12\x04\xe1\x0423\n6\n\x04\x043\x02\x08\x12\x04\xe3\x04\x02.\x1a( The sender\'s return address, if known.\n\n\r\n\x05\x043\x02\x08\x06\x12\x04\xe3\x04\x02\x1a\n\r\n\x05\x043\x02\x08\x01\x12\x04\xe3\x04\x1b)\n\r\n\x05\x043\x02\x08\x03\x12\x04\xe3\x04,-\n\x0c\n\x02\x044\x12\x06\xe6\x04\x00\xee\x04\x01\n\x0b\n\x03\x044\x01\x12\x04\xe6\x04\x08\x12\n\x0c\n\x04\x044\x02\x00\x12\x04\xe7\x04\x024\n\r\n\x05\x044\x02\x00\x06\x12\x04\xe7\x04\x02\x1f\n\r\n\x05\x044\x02\x00\x01\x12\x04\xe7\x04 /\n\r\n\x05\x044\x02\x00\x03\x12\x04\xe7\x0423\n\x0c\n\x04\x044\x02\x01\x12\x04\xe8\x04\x02/\n\r\n\x05\x044\x02\x01\x06\x12\x04\xe8\x04\x02%\n\r\n\x05\x044\x02\x01\x01\x12\x04\xe8\x04&*\n\r\n\x05\x044\x02\x01\x03\x12\x04\xe8\x04-.\n\x0c\n\x04\x044\x02\x02\x12\x04\xe9\x04\x02\x16\n\r\n\x05\x044\x02\x02\x05\x12\x04\xe9\x04\x02\x08\n\r\n\x05\x044\x02\x02\x01\x12\x04\xe9\x04\t\x11\n\r\n\x05\x044\x02\x02\x03\x12\x04\xe9\x04\x14\x15\n\x0c\n\x04\x044\x02\x03\x12\x04\xea\x04\x020\n\r\n\x05\x044\x02\x03\x06\x12\x04\xea\x04\x02!\n\r\n\x05\x044\x02\x03\x01\x12\x04\xea\x04\"+\n\r\n\x05\x044\x02\x03\x03\x12\x04\xea\x04./\n\x0c\n\x04\x044\x02\x04\x12\x04\xeb\x04\x02<\n\r\n\x05\x044\x02\x04\x06\x12\x04\xeb\x04\x02+\n\r\n\x05\x044\x02\x04\x01\x12\x04\xeb\x04,7\n\r\n\x05\x044\x02\x04\x03\x12\x04\xeb\x04:;\n\x0c\n\x04\x044\x02\x05\x12\x04\xec\x04\x02\x1c\n\r\n\x05\x044\x02\x05\x05\x12\x04\xec\x04\x02\x08\n\r\n\x05\x044\x02\x05\x01\x12\x04\xec\x04\t\x17\n\r\n\x05\x044\x02\x05\x03\x12\x04\xec\x04\x1a\x1b\n\x0c\n\x04\x044\x02\x06\x12\x04\xed\x04\x024\n\r\n\x05\x044\x02\x06\x06\x12\x04\xed\x04\x02(\n\r\n\x05\x044\x02\x06\x01\x12\x04\xed\x04)/\n\r\n\x05\x044\x02\x06\x03\x12\x04\xed\x0423\n\x0c\n\x02\x045\x12\x06\xf0\x04\x00\xf5\x04\x01\n\x0b\n\x03\x045\x01\x12\x04\xf0\x04\x08\x1f\nK\n\x04\x045\x02\x00\x12\x04\xf2\x04\x029\x1a= If present, return only positions with this position state.\n\n\r\n\x05\x045\x02\x00\x06\x12\x04\xf2\x04\x02%\n\r\n\x05\x045\x02\x00\x01\x12\x04\xf2\x04&4\n\r\n\x05\x045\x02\x00\x03\x12\x04\xf2\x0478\nH\n\x04\x045\x02\x01\x12\x04\xf4\x04\x025\x1a: If present, return only positions for this trading pair.\n\n\r\n\x05\x045\x02\x01\x06\x12\x04\xf4\x04\x02#\n\r\n\x05\x045\x02\x01\x01\x12\x04\xf4\x04$0\n\r\n\x05\x045\x02\x01\x03\x12\x04\xf4\x0434\n\x0c\n\x02\x046\x12\x06\xf7\x04\x00\xf9\x04\x01\n\x0b\n\x03\x046\x01\x12\x04\xf7\x04\x08 \n\x0c\n\x04\x046\x02\x00\x12\x04\xf8\x04\x023\n\r\n\x05\x046\x02\x00\x06\x12\x04\xf8\x04\x02\"\n\r\n\x05\x046\x02\x00\x01\x12\x04\xf8\x04#.\n\r\n\x05\x046\x02\x00\x03\x12\x04\xf8\x0412\n<\n\x02\x047\x12\x06\xfc\x04\x00\xff\x04\x01\x1a. Requests information on an asset by asset id\n\n\x0b\n\x03\x047\x01\x12\x04\xfc\x04\x08 \n7\n\x04\x047\x02\x00\x12\x04\xfe\x04\x02%\x1a) The asset id to request information on.\n\n\r\n\x05\x047\x02\x00\x06\x12\x04\xfe\x04\x02\x17\n\r\n\x05\x047\x02\x00\x01\x12\x04\xfe\x04\x18 \n\r\n\x05\x047\x02\x00\x03\x12\x04\xfe\x04#$\n\x0c\n\x02\x048\x12\x06\x81\x05\x00\x86\x05\x01\n\x0b\n\x03\x048\x01\x12\x04\x81\x05\x08!\n\x85\x01\n\x04\x048\x02\x00\x12\x04\x85\x05\x02,\x1aw If present, information on the requested asset.\n\n If the requested asset was unknown, this field will not be present.\n\n\r\n\x05\x048\x02\x00\x06\x12\x04\x85\x05\x02\x18\n\r\n\x05\x048\x02\x00\x01\x12\x04\x85\x05\x19\'\n\r\n\x05\x048\x02\x00\x03\x12\x04\x85\x05*+\n\xd6\x01\n\x02\x049\x12\x06\x8b\x05\x00\xa0\x05\x01\x1a\xc7\x01 Requests `ValueView`s of delegation tokens for the given address index. The\n returned `ValueView`s will include the `ValidatorInfo` for the delegated\n validator in their `extended_metadata` fields.\n\n\x0b\n\x03\x049\x01\x12\x04\x8b\x05\x08(\nC\n\x04\x049\x02\x00\x12\x04\x8d\x05\x02.\x1a5 The address index to fetch delegation balances for.\n\n\r\n\x05\x049\x02\x00\x06\x12\x04\x8d\x05\x02\x1b\n\r\n\x05\x049\x02\x00\x01\x12\x04\x8d\x05\x1c)\n\r\n\x05\x049\x02\x00\x03\x12\x04\x8d\x05,-\n\x0e\n\x04\x049\x04\x00\x12\x06\x8f\x05\x02\x9d\x05\x03\n\r\n\x05\x049\x04\x00\x01\x12\x04\x8f\x05\x07\r\n\xcf\x01\n\x06\x049\x04\x00\x02\x00\x12\x04\x93\x05\x04\x1b\x1a\xbe\x01 By default, returns delegations for all active validators. For validators\n that the given address index has no delegation tokens for, a `ValueView`\n with a balance of `0` will be returned.\n\n\x0f\n\x07\x049\x04\x00\x02\x00\x01\x12\x04\x93\x05\x04\x16\n\x0f\n\x07\x049\x04\x00\x02\x00\x02\x12\x04\x93\x05\x19\x1a\nz\n\x06\x049\x04\x00\x02\x01\x12\x04\x97\x05\x040\x1aj Returns only delegations to active validators that the given address\n index holds delegation tokens for.\n\n\x0f\n\x07\x049\x04\x00\x02\x01\x01\x12\x04\x97\x05\x04+\n\x0f\n\x07\x049\x04\x00\x02\x01\x02\x12\x04\x97\x05./\n\xd2\x01\n\x06\x049\x04\x00\x02\x02\x12\x04\x9c\x05\x04\x13\x1a\xc1\x01 Return delegations for all validators, whether active or not. For\n validators that the given address index has no delegation tokens for, a\n `ValueView` with a balance of `0` will be returned.\n\n\x0f\n\x07\x049\x04\x00\x02\x02\x01\x12\x04\x9c\x05\x04\x0e\n\x0f\n\x07\x049\x04\x00\x02\x02\x02\x12\x04\x9c\x05\x11\x12\n\x0c\n\x04\x049\x02\x01\x12\x04\x9f\x05\x02\x14\n\r\n\x05\x049\x02\x01\x06\x12\x04\x9f\x05\x02\x08\n\r\n\x05\x049\x02\x01\x01\x12\x04\x9f\x05\t\x0f\n\r\n\x05\x049\x02\x01\x03\x12\x04\x9f\x05\x12\x13\n\xcb\x01\n\x02\x04:\x12\x06\xa5\x05\x00\xa7\x05\x01\x1a\xbc\x01 Contains a `ValueView` of delegation tokens for the requested address index.\n The `ValueView` includes the `ValidatorInfo` for the delegated validator in\n cits `extended_metadata` field.\n\n\x0b\n\x03\x04:\x01\x12\x04\xa5\x05\x08)\n\x0c\n\x04\x04:\x02\x00\x12\x04\xa6\x05\x02)\n\r\n\x05\x04:\x02\x00\x06\x12\x04\xa6\x05\x02\x19\n\r\n\x05\x04:\x02\x00\x01\x12\x04\xa6\x05\x1a$\n\r\n\x05\x04:\x02\x00\x03\x12\x04\xa6\x05\'(\n\x8d\x01\n\x02\x04;\x12\x06\xab\x05\x00\xbf\x05\x01\x1a\x7f Requests unbonding tokens for a given address index, with optional filtering\n for whether the tokens are currently claimable.\n\n\x0b\n\x03\x04;\x01\x12\x04\xab\x05\x08,\n\x0e\n\x04\x04;\x04\x00\x12\x06\xac\x05\x02\xb9\x05\x03\n\r\n\x05\x04;\x04\x00\x01\x12\x04\xac\x05\x07\r\nb\n\x06\x04;\x04\x00\x02\x00\x12\x04\xaf\x05\x04\x1b\x1aR Return all unbonding tokens, regardless of whether they\'re claimable\n right now.\n\n\x0f\n\x07\x04;\x04\x00\x02\x00\x01\x12\x04\xaf\x05\x04\x16\n\x0f\n\x07\x04;\x04\x00\x02\x00\x02\x12\x04\xaf\x05\x19\x1a\n\xc7\x01\n\x06\x04;\x04\x00\x02\x01\x12\x04\xb4\x05\x04\x19\x1a\xb6\x01 Return all unbonding tokens that are currently claimable. This includes:\n - tokens that have passed the `unbonding_delay` (from `StakeParameters`)\n - tokens for unbonded validators\n\n\x0f\n\x07\x04;\x04\x00\x02\x01\x01\x12\x04\xb4\x05\x04\x14\n\x0f\n\x07\x04;\x04\x00\x02\x01\x02\x12\x04\xb4\x05\x17\x18\n\x9c\x01\n\x06\x04;\x04\x00\x02\x02\x12\x04\xb8\x05\x04!\x1a\x8b\x01 Return all unbonding tokens that are not yet claimable, because they are\n still in the `unbonding_delay` (from `StakeParameters`) period.\n\n\x0f\n\x07\x04;\x04\x00\x02\x02\x01\x12\x04\xb8\x05\x04\x1c\n\x0f\n\x07\x04;\x04\x00\x02\x02\x02\x12\x04\xb8\x05\x1f \n\x0c\n\x04\x04;\x02\x00\x12\x04\xbb\x05\x02\x14\n\r\n\x05\x04;\x02\x00\x06\x12\x04\xbb\x05\x02\x08\n\r\n\x05\x04;\x02\x00\x01\x12\x04\xbb\x05\t\x0f\n\r\n\x05\x04;\x02\x00\x03\x12\x04\xbb\x05\x12\x13\n@\n\x04\x04;\x02\x01\x12\x04\xbe\x05\x02.\x1a2 The address index to fetch unbonding tokens for.\n\n\r\n\x05\x04;\x02\x01\x06\x12\x04\xbe\x05\x02\x1b\n\r\n\x05\x04;\x02\x01\x01\x12\x04\xbe\x05\x1c)\n\r\n\x05\x04;\x02\x01\x03\x12\x04\xbe\x05,-\n\x89\x01\n\x02\x04<\x12\x06\xc3\x05\x00\xcb\x05\x01\x1a{ Returns unbonding tokens for the given address index, optionally filtered by\n whether the tokens are currently claimable.\n\n\x0b\n\x03\x04<\x01\x12\x04\xc3\x05\x08-\nS\n\x04\x04<\x02\x00\x12\x04\xc5\x05\x02)\x1aE A `ValueView` representing the amount of the given unbonding token.\n\n\r\n\x05\x04<\x02\x00\x06\x12\x04\xc5\x05\x02\x19\n\r\n\x05\x04<\x02\x00\x01\x12\x04\xc5\x05\x1a$\n\r\n\x05\x04<\x02\x00\x03\x12\x04\xc5\x05\'(\n\xbb\x01\n\x04\x04<\x02\x01\x12\x04\xca\x05\x02\x15\x1a\xac\x01 Whether the unbonding token is currently claimable. This will only be\n `true` if the `unbonding_delay` (from `StakeParameters`) has passed or the\n validator has unbonded.\n\n\r\n\x05\x04<\x02\x01\x05\x12\x04\xca\x05\x02\x06\n\r\n\x05\x04<\x02\x01\x01\x12\x04\xca\x05\x07\x10\n\r\n\x05\x04<\x02\x01\x03\x12\x04\xca\x05\x13\x14b\x06proto3";
Available on crate feature rpc only.