v1.9: Bump tonic, tonic-build, prost, and etcd-client (#24159)

* Bump tonic, prost, and etcd-client

* Restore doc ignores

* Restore clippy ignore
This commit is contained in:
Tyera Eulberg
2022-04-08 12:22:05 -04:00
committed by GitHub
parent 1489cbf5a0
commit 7615585464
14 changed files with 705 additions and 439 deletions

430
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@ bs58 = "0.4.0"
chrono = { version = "0.4.11", features = ["serde"] }
crossbeam-channel = "0.5"
dashmap = { version = "4.0.2", features = ["rayon", "raw-api"] }
etcd-client = { version = "0.8.1", features = ["tls"]}
etcd-client = { version = "0.9.0", features = ["tls"]}
fs_extra = "1.2.0"
histogram = "0.6.9"
itertools = "0.10.1"

View File

@ -24,7 +24,7 @@ log = { version = "0.4.14" }
num-derive = "0.3"
num-traits = "0.2"
num_cpus = "1.13.0"
prost = "0.9.0"
prost = "0.10.0"
rand = "0.7.0"
rand_chacha = "0.2.2"
rayon = "1.5.1"

View File

@ -13,15 +13,15 @@ documentation = "https://docs.rs/solana-validator"
crossbeam-channel = "0.5"
futures-util = "0.3"
log = "0.4.11"
prost = "0.9.0"
prost = "0.10.0"
solana-rpc = { path = "../rpc", version = "=1.9.15" }
solana-runtime = { path = "../runtime", version = "=1.9.15" }
solana-sdk = { path = "../sdk", version = "=1.9.15" }
tokio = { version = "1", features = ["full"] }
tonic = { version = "0.6.1", features = ["tls", "transport"] }
tonic = { version = "0.7.1", features = ["tls", "transport"] }
[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
tonic-build = "0.6.0"
tonic-build = "0.7.0"

View File

@ -41,4 +41,4 @@ tempfile = "3.2.0"
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
tonic-build = "0.6.0"
tonic-build = "0.7.0"

View File

@ -17,8 +17,8 @@ enum-iterator = "0.7.0"
flate2 = "1.0.22"
goauth = "0.10.0"
log = "0.4.14"
prost = "0.9.0"
prost-types = "0.9.0"
prost = "0.10.0"
prost-types = "0.10.0"
serde = "1.0.130"
serde_derive = "1.0.103"
smpl_jwt = "0.6.1"
@ -27,7 +27,7 @@ solana-sdk = { path = "../sdk", version = "=1.9.15" }
solana-storage-proto = { path = "../storage-proto", version = "=1.9.15" }
solana-transaction-status = { path = "../transaction-status", version = "=1.9.15" }
thiserror = "1.0"
tonic = { version = "0.6.1", features = ["tls", "transport"] }
tonic = { version = "0.7.1", features = ["tls", "transport"] }
zstd = "0.9.0"
# openssl is a dependency of the goauth and smpl_jwt crates, but explicitly

View File

@ -2,15 +2,6 @@
# It is not intended for manual editing.
version = 3
[[package]]
name = "aho-corasick"
version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
dependencies = [
"memchr",
]
[[package]]
name = "anyhow"
version = "1.0.51"
@ -35,6 +26,12 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
[[package]]
name = "cc"
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
[[package]]
name = "cfg-if"
version = "0.1.10"
@ -47,6 +44,15 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cmake"
version = "0.1.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a"
dependencies = [
"cc",
]
[[package]]
name = "either"
version = "1.5.3"
@ -78,12 +84,9 @@ checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
[[package]]
name = "heck"
version = "0.3.1"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
dependencies = [
"unicode-segmentation",
]
checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
[[package]]
name = "indexmap"
@ -125,12 +128,6 @@ dependencies = [
"cfg-if 0.1.10",
]
[[package]]
name = "memchr"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
[[package]]
name = "multimap"
version = "0.8.1"
@ -154,19 +151,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
[[package]]
name = "proc-macro2"
version = "1.0.27"
name = "prettyplease"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
checksum = "3b83ec2d0af5c5c556257ff52c9f98934e243b9fd39604bfb2a9b75ec2e97f18"
dependencies = [
"proc-macro2",
"syn",
]
[[package]]
name = "proc-macro2"
version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
dependencies = [
"unicode-xid",
]
[[package]]
name = "prost"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001"
checksum = "1bd5316aa8f5c82add416dfbc25116b84b748a21153f512917e8143640a71bbd"
dependencies = [
"bytes",
"prost-derive",
@ -174,11 +181,13 @@ dependencies = [
[[package]]
name = "prost-build"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5"
checksum = "328f9f29b82409216decb172d81e936415d21245befa79cd34c3f29d87d1c50b"
dependencies = [
"bytes",
"cfg-if 1.0.0",
"cmake",
"heck",
"itertools",
"lazy_static",
@ -194,9 +203,9 @@ dependencies = [
[[package]]
name = "prost-derive"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe"
checksum = "df35198f0777b75e9ff669737c6da5136b59dba33cf5a010a6d1cc4d56defc6f"
dependencies = [
"anyhow",
"itertools",
@ -207,9 +216,9 @@ dependencies = [
[[package]]
name = "prost-types"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a"
checksum = "926681c118ae6e512a3ccefd4abbe5521a14f4cc1e207356d4d00c0b7f2006fd"
dependencies = [
"bytes",
"prost",
@ -286,8 +295,6 @@ version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
@ -308,9 +315,9 @@ dependencies = [
[[package]]
name = "syn"
version = "1.0.73"
version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7"
checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
dependencies = [
"proc-macro2",
"quote",
@ -353,22 +360,17 @@ dependencies = [
[[package]]
name = "tonic-build"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88358bb1dcfeb62dcce85c63006cafb964b7be481d522b7e09589d4d1e718d2a"
checksum = "4d17087af5c80e5d5fc8ba9878e60258065a0a757e35efe7a05b7904bece1943"
dependencies = [
"prettyplease",
"proc-macro2",
"prost-build",
"quote",
"syn",
]
[[package]]
name = "unicode-segmentation"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
[[package]]
name = "unicode-xid"
version = "0.2.1"

View File

@ -12,4 +12,4 @@ version = "1.9.15"
[workspace]
[dependencies]
tonic-build = "0.6.0"
tonic-build = "0.7.0"

View File

@ -10,7 +10,6 @@ fn main() -> Result<(), std::io::Error> {
tonic_build::configure()
.build_client(true)
.build_server(false)
.format(true)
.out_dir(&out_dir)
.compile(
&[googleapis.join("google/bigtable/v2/bigtable.proto")],

View File

@ -1,12 +1,12 @@
/// Defines the HTTP configuration for an API service. It contains a list of
/// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
/// \[HttpRule][google.api.HttpRule\], each specifying the mapping of an RPC method
/// to one or more HTTP REST API methods.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Http {
/// A list of HTTP configuration rules that apply to individual API methods.
///
/// **NOTE:** All service configuration rules follow "last one wins" order.
#[prost(message, repeated, tag = "1")]
#[prost(message, repeated, tag="1")]
pub rules: ::prost::alloc::vec::Vec<HttpRule>,
/// When set to true, URL path parameters will be fully URI-decoded except in
/// cases of single segment matches in reserved expansion, where "%2F" will be
@ -14,7 +14,7 @@ pub struct Http {
///
/// The default behavior is to not decode RFC 6570 reserved characters in multi
/// segment matches.
#[prost(bool, tag = "2")]
#[prost(bool, tag="2")]
pub fully_decode_reserved_expansion: bool,
}
/// # gRPC Transcoding
@ -22,10 +22,10 @@ pub struct Http {
/// gRPC Transcoding is a feature for mapping between a gRPC method and one or
/// more HTTP REST endpoints. It allows developers to build a single API service
/// that supports both gRPC APIs and REST APIs. Many systems, including [Google
/// APIs](https://github.com/googleapis/googleapis),
/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC
/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway),
/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature
/// APIs](<https://github.com/googleapis/googleapis>),
/// [Cloud Endpoints](<https://cloud.google.com/endpoints>), [gRPC
/// Gateway](<https://github.com/grpc-ecosystem/grpc-gateway>),
/// and \[Envoy\](<https://github.com/envoyproxy/envoy>) proxy support this feature
/// and use it for large scale production services.
///
/// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies
@ -186,15 +186,15 @@ pub struct Http {
/// 1. Leaf request fields (recursive expansion nested messages in the request
/// message) are classified into three categories:
/// - Fields referred by the path template. They are passed via the URL path.
/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP
/// - Fields referred by the \[HttpRule.body][google.api.HttpRule.body\]. They are passed via the HTTP
/// request body.
/// - All other fields are passed via the URL query parameters, and the
/// parameter name is the field path in the request message. A repeated
/// field can be represented as multiple query parameters under the same
/// name.
/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields
/// 2. If \[HttpRule.body][google.api.HttpRule.body\] is "*", there is no URL query parameter, all fields
/// are passed via URL path and HTTP request body.
/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all
/// 3. If \[HttpRule.body][google.api.HttpRule.body\] is omitted, there is no HTTP request body, all
/// fields are passed via URL path and URL query parameters.
///
/// ### Path template syntax
@ -221,19 +221,19 @@ pub struct Http {
///
/// If a variable contains exactly one path segment, such as `"{var}"` or
/// `"{var=*}"`, when such a variable is expanded into a URL path on the client
/// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The
/// side, all characters except `\[-_.~0-9a-zA-Z\]` are percent-encoded. The
/// server side does the reverse decoding. Such variables show up in the
/// [Discovery
/// Document](https://developers.google.com/discovery/v1/reference/apis) as
/// Document](<https://developers.google.com/discovery/v1/reference/apis>) as
/// `{var}`.
///
/// If a variable contains multiple path segments, such as `"{var=foo/*}"`
/// or `"{var=**}"`, when such a variable is expanded into a URL path on the
/// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded.
/// client side, all characters except `\[-_.~/0-9a-zA-Z\]` are percent-encoded.
/// The server side does the reverse decoding, except "%2F" and "%2f" are left
/// unchanged. Such variables show up in the
/// [Discovery
/// Document](https://developers.google.com/discovery/v1/reference/apis) as
/// Document](<https://developers.google.com/discovery/v1/reference/apis>) as
/// `{+var}`.
///
/// ## Using gRPC API Service Configuration
@ -263,10 +263,10 @@ pub struct Http {
///
/// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
/// proto to JSON conversion must follow the [proto3
/// specification](https://developers.google.com/protocol-buffers/docs/proto3#json).
/// specification](<https://developers.google.com/protocol-buffers/docs/proto3#json>).
///
/// While the single segment variable follows the semantics of
/// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
/// [RFC 6570](<https://tools.ietf.org/html/rfc6570>) Section 3.2.2 Simple String
/// Expansion, the multi segment variable **does not** follow RFC 6570 Section
/// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
/// does not expand special characters like `?` and `#`, which would lead
@ -290,8 +290,8 @@ pub struct Http {
pub struct HttpRule {
/// Selects a method to which this rule applies.
///
/// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
#[prost(string, tag = "1")]
/// Refer to \[selector][google.api.DocumentationRule.selector\] for syntax details.
#[prost(string, tag="1")]
pub selector: ::prost::alloc::string::String,
/// The name of the request field whose value is mapped to the HTTP request
/// body, or `*` for mapping all request fields not captured by the path
@ -299,7 +299,7 @@ pub struct HttpRule {
///
/// NOTE: the referred field must be present at the top-level of the request
/// message type.
#[prost(string, tag = "7")]
#[prost(string, tag="7")]
pub body: ::prost::alloc::string::String,
/// Optional. The name of the response field whose value is mapped to the HTTP
/// response body. When omitted, the entire response message will be used
@ -307,17 +307,17 @@ pub struct HttpRule {
///
/// NOTE: The referred field must be present at the top-level of the response
/// message type.
#[prost(string, tag = "12")]
#[prost(string, tag="12")]
pub response_body: ::prost::alloc::string::String,
/// Additional HTTP bindings for the selector. Nested bindings must
/// not contain an `additional_bindings` field themselves (that is,
/// the nesting may only be one level deep).
#[prost(message, repeated, tag = "11")]
#[prost(message, repeated, tag="11")]
pub additional_bindings: ::prost::alloc::vec::Vec<HttpRule>,
/// Determines the URL pattern is matched by this rules. This pattern can be
/// used with any of the {get|put|post|delete|patch} methods. A custom method
/// can be defined using the 'custom' field.
#[prost(oneof = "http_rule::Pattern", tags = "2, 3, 4, 5, 6, 8")]
#[prost(oneof="http_rule::Pattern", tags="2, 3, 4, 5, 6, 8")]
pub pattern: ::core::option::Option<http_rule::Pattern>,
}
/// Nested message and enum types in `HttpRule`.
@ -329,25 +329,25 @@ pub mod http_rule {
pub enum Pattern {
/// Maps to HTTP GET. Used for listing and getting information about
/// resources.
#[prost(string, tag = "2")]
#[prost(string, tag="2")]
Get(::prost::alloc::string::String),
/// Maps to HTTP PUT. Used for replacing a resource.
#[prost(string, tag = "3")]
#[prost(string, tag="3")]
Put(::prost::alloc::string::String),
/// Maps to HTTP POST. Used for creating a resource or performing an action.
#[prost(string, tag = "4")]
#[prost(string, tag="4")]
Post(::prost::alloc::string::String),
/// Maps to HTTP DELETE. Used for deleting a resource.
#[prost(string, tag = "5")]
#[prost(string, tag="5")]
Delete(::prost::alloc::string::String),
/// Maps to HTTP PATCH. Used for updating a resource.
#[prost(string, tag = "6")]
#[prost(string, tag="6")]
Patch(::prost::alloc::string::String),
/// The custom pattern is used for specifying an HTTP method that is not
/// included in the `pattern` field, such as HEAD, or "*" to leave the
/// HTTP method unspecified for this rule. The wild-card rule is useful
/// for services that provide content to Web (HTML) clients.
#[prost(message, tag = "8")]
#[prost(message, tag="8")]
Custom(super::CustomHttpPattern),
}
}
@ -355,10 +355,10 @@ pub mod http_rule {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomHttpPattern {
/// The name of this custom HTTP verb.
#[prost(string, tag = "1")]
#[prost(string, tag="1")]
pub kind: ::prost::alloc::string::String,
/// The path matched by this custom verb.
#[prost(string, tag = "2")]
#[prost(string, tag="2")]
pub path: ::prost::alloc::string::String,
}
/// An indicator of the behavior of a given field (for example, that a field
@ -393,6 +393,16 @@ pub enum FieldBehavior {
/// This indicates that the field may be set once in a request to create a
/// resource, but may not be changed thereafter.
Immutable = 5,
/// Denotes that a (repeated) field is an unordered list.
/// This indicates that the service may provide the elements of the list
/// in any arbitrary order, rather than the order the user originally
/// provided. Additionally, the list's order may or may not be stable.
UnorderedList = 6,
/// Denotes that this field returns a non-empty default value if not set.
/// This indicates that if the user provides the empty value in a request,
/// a non-empty value will be returned. The user will not be aware of what
/// non-empty value to expect.
NonEmptyDefault = 7,
}
/// A simple descriptor of a resource type.
///
@ -511,10 +521,10 @@ pub struct ResourceDescriptor {
/// Example: `storage.googleapis.com/Bucket`
///
/// The value of the resource_type_kind must follow the regular expression
/// /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
/// /\[A-Za-z][a-zA-Z0-9\]+/. It should start with an upper case character and
/// should use PascalCase (UpperCamelCase). The maximum number of
/// characters allowed for the `resource_type_kind` is 100.
#[prost(string, tag = "1")]
#[prost(string, tag="1")]
pub r#type: ::prost::alloc::string::String,
/// Optional. The relative resource name pattern associated with this resource
/// type. The DNS prefix of the full resource name shouldn't be specified here.
@ -535,11 +545,11 @@ pub struct ResourceDescriptor {
/// hierarchy. It is expected that, if multiple patterns are provided,
/// the same component name (e.g. "project") refers to IDs of the same
/// type of resource.
#[prost(string, repeated, tag = "2")]
#[prost(string, repeated, tag="2")]
pub pattern: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
/// Optional. The field on the resource that designates the resource name
/// field. If omitted, this is assumed to be "name".
#[prost(string, tag = "3")]
#[prost(string, tag="3")]
pub name_field: ::prost::alloc::string::String,
/// Optional. The historical or future-looking state of the resource pattern.
///
@ -556,27 +566,27 @@ pub struct ResourceDescriptor {
/// history: ORIGINALLY_SINGLE_PATTERN
/// };
/// }
#[prost(enumeration = "resource_descriptor::History", tag = "4")]
#[prost(enumeration="resource_descriptor::History", tag="4")]
pub history: i32,
/// The plural name used in the resource name and permission names, such as
/// 'projects' for the resource name of 'projects/{project}' and the permission
/// name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
/// concept of the `plural` field in k8s CRD spec
/// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
/// <https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/>
///
/// Note: The plural form is required even for singleton resources. See
/// https://aip.dev/156
#[prost(string, tag = "5")]
/// <https://aip.dev/156>
#[prost(string, tag="5")]
pub plural: ::prost::alloc::string::String,
/// The same concept of the `singular` field in k8s CRD spec
/// https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
/// <https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/>
/// Such as "project" for the `resourcemanager.googleapis.com/Project` type.
#[prost(string, tag = "6")]
#[prost(string, tag="6")]
pub singular: ::prost::alloc::string::String,
/// Style flag(s) for this resource.
/// These indicate that a resource is expected to conform to a given
/// style. See the specific style flags for additional information.
#[prost(enumeration = "resource_descriptor::Style", repeated, tag = "10")]
#[prost(enumeration="resource_descriptor::Style", repeated, tag="10")]
pub style: ::prost::alloc::vec::Vec<i32>,
}
/// Nested message and enum types in `ResourceDescriptor`.
@ -637,7 +647,7 @@ pub struct ResourceReference {
/// type: "*"
/// }];
/// }
#[prost(string, tag = "1")]
#[prost(string, tag="1")]
pub r#type: ::prost::alloc::string::String,
/// The resource type of a child collection that the annotated field
/// references. This is useful for annotating the `parent` field that
@ -650,6 +660,6 @@ pub struct ResourceReference {
/// child_type: "logging.googleapis.com/LogEntry"
/// };
/// }
#[prost(string, tag = "2")]
#[prost(string, tag="2")]
pub child_type: ::prost::alloc::string::String,
}

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +1,22 @@
/// The `Status` type defines a logical error model that is suitable for
/// different programming environments, including REST APIs and RPC APIs. It is
/// used by [gRPC](https://github.com/grpc). Each `Status` message contains
/// used by \[gRPC\](<https://github.com/grpc>). Each `Status` message contains
/// three pieces of data: error code, error message, and error details.
///
/// You can find out more about this error model and how to work with it in the
/// [API Design Guide](https://cloud.google.com/apis/design/errors).
/// [API Design Guide](<https://cloud.google.com/apis/design/errors>).
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Status {
/// The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
#[prost(int32, tag = "1")]
/// The status code, which should be an enum value of \[google.rpc.Code][google.rpc.Code\].
#[prost(int32, tag="1")]
pub code: i32,
/// A developer-facing error message, which should be in English. Any
/// user-facing error message should be localized and sent in the
/// [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
#[prost(string, tag = "2")]
/// \[google.rpc.Status.details][google.rpc.Status.details\] field, or localized by the client.
#[prost(string, tag="2")]
pub message: ::prost::alloc::string::String,
/// A list of messages that carry the error details. There is a common set of
/// message types for APIs to use.
#[prost(message, repeated, tag = "3")]
#[prost(message, repeated, tag="3")]
pub details: ::prost::alloc::vec::Vec<::prost_types::Any>,
}

View File

@ -12,7 +12,7 @@ edition = "2021"
[dependencies]
bincode = "1.3.3"
bs58 = "0.4.0"
prost = "0.9.0"
prost = "0.10.0"
serde = "1.0.130"
solana-account-decoder = { path = "../account-decoder", version = "=1.9.15" }
solana-sdk = { path = "../sdk", version = "=1.9.15" }
@ -29,4 +29,4 @@ name = "solana_storage_proto"
targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies]
tonic-build = "0.6.0"
tonic-build = "0.7.0"

View File

@ -11,7 +11,6 @@ fn main() -> Result<(), std::io::Error> {
tonic_build::configure()
.build_client(true)
.build_server(false)
.format(true)
.type_attribute(
"TransactionErrorType",
"#[cfg_attr(test, derive(enum_iterator::IntoEnumIterator))]",