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"] } chrono = { version = "0.4.11", features = ["serde"] }
crossbeam-channel = "0.5" crossbeam-channel = "0.5"
dashmap = { version = "4.0.2", features = ["rayon", "raw-api"] } 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" fs_extra = "1.2.0"
histogram = "0.6.9" histogram = "0.6.9"
itertools = "0.10.1" itertools = "0.10.1"

View File

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

View File

@ -13,15 +13,15 @@ documentation = "https://docs.rs/solana-validator"
crossbeam-channel = "0.5" crossbeam-channel = "0.5"
futures-util = "0.3" futures-util = "0.3"
log = "0.4.11" log = "0.4.11"
prost = "0.9.0" prost = "0.10.0"
solana-rpc = { path = "../rpc", version = "=1.9.15" } solana-rpc = { path = "../rpc", version = "=1.9.15" }
solana-runtime = { path = "../runtime", version = "=1.9.15" } solana-runtime = { path = "../runtime", version = "=1.9.15" }
solana-sdk = { path = "../sdk", version = "=1.9.15" } solana-sdk = { path = "../sdk", version = "=1.9.15" }
tokio = { version = "1", features = ["full"] } 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] [package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"] targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies] [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"] targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies] [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" flate2 = "1.0.22"
goauth = "0.10.0" goauth = "0.10.0"
log = "0.4.14" log = "0.4.14"
prost = "0.9.0" prost = "0.10.0"
prost-types = "0.9.0" prost-types = "0.10.0"
serde = "1.0.130" serde = "1.0.130"
serde_derive = "1.0.103" serde_derive = "1.0.103"
smpl_jwt = "0.6.1" 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-storage-proto = { path = "../storage-proto", version = "=1.9.15" }
solana-transaction-status = { path = "../transaction-status", version = "=1.9.15" } solana-transaction-status = { path = "../transaction-status", version = "=1.9.15" }
thiserror = "1.0" thiserror = "1.0"
tonic = { version = "0.6.1", features = ["tls", "transport"] } tonic = { version = "0.7.1", features = ["tls", "transport"] }
zstd = "0.9.0" zstd = "0.9.0"
# openssl is a dependency of the goauth and smpl_jwt crates, but explicitly # 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. # It is not intended for manual editing.
version = 3 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]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.51" version = "1.0.51"
@ -35,6 +26,12 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
[[package]]
name = "cc"
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
version = "0.1.10" version = "0.1.10"
@ -47,6 +44,15 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cmake"
version = "0.1.48"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a"
dependencies = [
"cc",
]
[[package]] [[package]]
name = "either" name = "either"
version = "1.5.3" version = "1.5.3"
@ -78,12 +84,9 @@ checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
[[package]] [[package]]
name = "heck" name = "heck"
version = "0.3.1" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
dependencies = [
"unicode-segmentation",
]
[[package]] [[package]]
name = "indexmap" name = "indexmap"
@ -125,12 +128,6 @@ dependencies = [
"cfg-if 0.1.10", "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]] [[package]]
name = "multimap" name = "multimap"
version = "0.8.1" version = "0.8.1"
@ -154,19 +151,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
[[package]] [[package]]
name = "proc-macro2" name = "prettyplease"
version = "1.0.27" version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" 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 = [ dependencies = [
"unicode-xid", "unicode-xid",
] ]
[[package]] [[package]]
name = "prost" name = "prost"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "444879275cb4fd84958b1a1d5420d15e6fcf7c235fe47f053c9c2a80aceb6001" checksum = "1bd5316aa8f5c82add416dfbc25116b84b748a21153f512917e8143640a71bbd"
dependencies = [ dependencies = [
"bytes", "bytes",
"prost-derive", "prost-derive",
@ -174,11 +181,13 @@ dependencies = [
[[package]] [[package]]
name = "prost-build" name = "prost-build"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62941722fb675d463659e49c4f3fe1fe792ff24fe5bbaa9c08cd3b98a1c354f5" checksum = "328f9f29b82409216decb172d81e936415d21245befa79cd34c3f29d87d1c50b"
dependencies = [ dependencies = [
"bytes", "bytes",
"cfg-if 1.0.0",
"cmake",
"heck", "heck",
"itertools", "itertools",
"lazy_static", "lazy_static",
@ -194,9 +203,9 @@ dependencies = [
[[package]] [[package]]
name = "prost-derive" name = "prost-derive"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9cc1a3263e07e0bf68e96268f37665207b49560d98739662cdfaae215c720fe" checksum = "df35198f0777b75e9ff669737c6da5136b59dba33cf5a010a6d1cc4d56defc6f"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"itertools", "itertools",
@ -207,9 +216,9 @@ dependencies = [
[[package]] [[package]]
name = "prost-types" name = "prost-types"
version = "0.9.0" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "534b7a0e836e3c482d2693070f982e39e7611da9695d4d1f5a4b186b51faef0a" checksum = "926681c118ae6e512a3ccefd4abbe5521a14f4cc1e207356d4d00c0b7f2006fd"
dependencies = [ dependencies = [
"bytes", "bytes",
"prost", "prost",
@ -286,8 +295,6 @@ version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
dependencies = [ dependencies = [
"aho-corasick",
"memchr",
"regex-syntax", "regex-syntax",
] ]
@ -308,9 +315,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.73" version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -353,22 +360,17 @@ dependencies = [
[[package]] [[package]]
name = "tonic-build" name = "tonic-build"
version = "0.6.0" version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88358bb1dcfeb62dcce85c63006cafb964b7be481d522b7e09589d4d1e718d2a" checksum = "4d17087af5c80e5d5fc8ba9878e60258065a0a757e35efe7a05b7904bece1943"
dependencies = [ dependencies = [
"prettyplease",
"proc-macro2", "proc-macro2",
"prost-build", "prost-build",
"quote", "quote",
"syn", "syn",
] ]
[[package]]
name = "unicode-segmentation"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
[[package]] [[package]]
name = "unicode-xid" name = "unicode-xid"
version = "0.2.1" version = "0.2.1"

View File

@ -12,4 +12,4 @@ version = "1.9.15"
[workspace] [workspace]
[dependencies] [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() tonic_build::configure()
.build_client(true) .build_client(true)
.build_server(false) .build_server(false)
.format(true)
.out_dir(&out_dir) .out_dir(&out_dir)
.compile( .compile(
&[googleapis.join("google/bigtable/v2/bigtable.proto")], &[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 /// 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. /// to one or more HTTP REST API methods.
#[derive(Clone, PartialEq, ::prost::Message)] #[derive(Clone, PartialEq, ::prost::Message)]
pub struct Http { pub struct Http {
/// A list of HTTP configuration rules that apply to individual API methods. /// A list of HTTP configuration rules that apply to individual API methods.
/// ///
/// **NOTE:** All service configuration rules follow "last one wins" order. /// **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>, pub rules: ::prost::alloc::vec::Vec<HttpRule>,
/// When set to true, URL path parameters will be fully URI-decoded except in /// 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 /// 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 /// The default behavior is to not decode RFC 6570 reserved characters in multi
/// segment matches. /// segment matches.
#[prost(bool, tag = "2")] #[prost(bool, tag="2")]
pub fully_decode_reserved_expansion: bool, pub fully_decode_reserved_expansion: bool,
} }
/// # gRPC Transcoding /// # gRPC Transcoding
@ -22,10 +22,10 @@ pub struct Http {
/// gRPC Transcoding is a feature for mapping between a gRPC method and one or /// 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 /// 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 /// that supports both gRPC APIs and REST APIs. Many systems, including [Google
/// APIs](https://github.com/googleapis/googleapis), /// APIs](<https://github.com/googleapis/googleapis>),
/// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC /// [Cloud Endpoints](<https://cloud.google.com/endpoints>), [gRPC
/// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), /// Gateway](<https://github.com/grpc-ecosystem/grpc-gateway>),
/// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature /// and \[Envoy\](<https://github.com/envoyproxy/envoy>) proxy support this feature
/// and use it for large scale production services. /// and use it for large scale production services.
/// ///
/// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies /// `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 /// 1. Leaf request fields (recursive expansion nested messages in the request
/// message) are classified into three categories: /// message) are classified into three categories:
/// - Fields referred by the path template. They are passed via the URL path. /// - 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. /// request body.
/// - All other fields are passed via the URL query parameters, and the /// - All other fields are passed via the URL query parameters, and the
/// parameter name is the field path in the request message. A repeated /// parameter name is the field path in the request message. A repeated
/// field can be represented as multiple query parameters under the same /// field can be represented as multiple query parameters under the same
/// name. /// 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. /// 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. /// fields are passed via URL path and URL query parameters.
/// ///
/// ### Path template syntax /// ### Path template syntax
@ -221,19 +221,19 @@ pub struct Http {
/// ///
/// If a variable contains exactly one path segment, such as `"{var}"` or /// 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 /// `"{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 /// server side does the reverse decoding. Such variables show up in the
/// [Discovery /// [Discovery
/// Document](https://developers.google.com/discovery/v1/reference/apis) as /// Document](<https://developers.google.com/discovery/v1/reference/apis>) as
/// `{var}`. /// `{var}`.
/// ///
/// If a variable contains multiple path segments, such as `"{var=foo/*}"` /// 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 /// 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 /// The server side does the reverse decoding, except "%2F" and "%2f" are left
/// unchanged. Such variables show up in the /// unchanged. Such variables show up in the
/// [Discovery /// [Discovery
/// Document](https://developers.google.com/discovery/v1/reference/apis) as /// Document](<https://developers.google.com/discovery/v1/reference/apis>) as
/// `{+var}`. /// `{+var}`.
/// ///
/// ## Using gRPC API Service Configuration /// ## 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 /// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the
/// proto to JSON conversion must follow the [proto3 /// 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 /// 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 /// Expansion, the multi segment variable **does not** follow RFC 6570 Section
/// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion /// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion
/// does not expand special characters like `?` and `#`, which would lead /// does not expand special characters like `?` and `#`, which would lead
@ -290,8 +290,8 @@ pub struct Http {
pub struct HttpRule { pub struct HttpRule {
/// Selects a method to which this rule applies. /// Selects a method to which this rule applies.
/// ///
/// Refer to [selector][google.api.DocumentationRule.selector] for syntax details. /// Refer to \[selector][google.api.DocumentationRule.selector\] for syntax details.
#[prost(string, tag = "1")] #[prost(string, tag="1")]
pub selector: ::prost::alloc::string::String, pub selector: ::prost::alloc::string::String,
/// The name of the request field whose value is mapped to the HTTP request /// 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 /// 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 /// NOTE: the referred field must be present at the top-level of the request
/// message type. /// message type.
#[prost(string, tag = "7")] #[prost(string, tag="7")]
pub body: ::prost::alloc::string::String, pub body: ::prost::alloc::string::String,
/// Optional. The name of the response field whose value is mapped to the HTTP /// 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 /// 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 /// NOTE: The referred field must be present at the top-level of the response
/// message type. /// message type.
#[prost(string, tag = "12")] #[prost(string, tag="12")]
pub response_body: ::prost::alloc::string::String, pub response_body: ::prost::alloc::string::String,
/// Additional HTTP bindings for the selector. Nested bindings must /// Additional HTTP bindings for the selector. Nested bindings must
/// not contain an `additional_bindings` field themselves (that is, /// not contain an `additional_bindings` field themselves (that is,
/// the nesting may only be one level deep). /// 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>, pub additional_bindings: ::prost::alloc::vec::Vec<HttpRule>,
/// Determines the URL pattern is matched by this rules. This pattern can be /// 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 /// used with any of the {get|put|post|delete|patch} methods. A custom method
/// can be defined using the 'custom' field. /// 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>, pub pattern: ::core::option::Option<http_rule::Pattern>,
} }
/// Nested message and enum types in `HttpRule`. /// Nested message and enum types in `HttpRule`.
@ -329,25 +329,25 @@ pub mod http_rule {
pub enum Pattern { pub enum Pattern {
/// Maps to HTTP GET. Used for listing and getting information about /// Maps to HTTP GET. Used for listing and getting information about
/// resources. /// resources.
#[prost(string, tag = "2")] #[prost(string, tag="2")]
Get(::prost::alloc::string::String), Get(::prost::alloc::string::String),
/// Maps to HTTP PUT. Used for replacing a resource. /// Maps to HTTP PUT. Used for replacing a resource.
#[prost(string, tag = "3")] #[prost(string, tag="3")]
Put(::prost::alloc::string::String), Put(::prost::alloc::string::String),
/// Maps to HTTP POST. Used for creating a resource or performing an action. /// 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), Post(::prost::alloc::string::String),
/// Maps to HTTP DELETE. Used for deleting a resource. /// Maps to HTTP DELETE. Used for deleting a resource.
#[prost(string, tag = "5")] #[prost(string, tag="5")]
Delete(::prost::alloc::string::String), Delete(::prost::alloc::string::String),
/// Maps to HTTP PATCH. Used for updating a resource. /// Maps to HTTP PATCH. Used for updating a resource.
#[prost(string, tag = "6")] #[prost(string, tag="6")]
Patch(::prost::alloc::string::String), Patch(::prost::alloc::string::String),
/// The custom pattern is used for specifying an HTTP method that is not /// 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 /// included in the `pattern` field, such as HEAD, or "*" to leave the
/// HTTP method unspecified for this rule. The wild-card rule is useful /// HTTP method unspecified for this rule. The wild-card rule is useful
/// for services that provide content to Web (HTML) clients. /// for services that provide content to Web (HTML) clients.
#[prost(message, tag = "8")] #[prost(message, tag="8")]
Custom(super::CustomHttpPattern), Custom(super::CustomHttpPattern),
} }
} }
@ -355,10 +355,10 @@ pub mod http_rule {
#[derive(Clone, PartialEq, ::prost::Message)] #[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomHttpPattern { pub struct CustomHttpPattern {
/// The name of this custom HTTP verb. /// The name of this custom HTTP verb.
#[prost(string, tag = "1")] #[prost(string, tag="1")]
pub kind: ::prost::alloc::string::String, pub kind: ::prost::alloc::string::String,
/// The path matched by this custom verb. /// The path matched by this custom verb.
#[prost(string, tag = "2")] #[prost(string, tag="2")]
pub path: ::prost::alloc::string::String, pub path: ::prost::alloc::string::String,
} }
/// An indicator of the behavior of a given field (for example, that a field /// 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 /// This indicates that the field may be set once in a request to create a
/// resource, but may not be changed thereafter. /// resource, but may not be changed thereafter.
Immutable = 5, 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. /// A simple descriptor of a resource type.
/// ///
@ -511,10 +521,10 @@ pub struct ResourceDescriptor {
/// Example: `storage.googleapis.com/Bucket` /// Example: `storage.googleapis.com/Bucket`
/// ///
/// The value of the resource_type_kind must follow the regular expression /// 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 /// should use PascalCase (UpperCamelCase). The maximum number of
/// characters allowed for the `resource_type_kind` is 100. /// characters allowed for the `resource_type_kind` is 100.
#[prost(string, tag = "1")] #[prost(string, tag="1")]
pub r#type: ::prost::alloc::string::String, pub r#type: ::prost::alloc::string::String,
/// Optional. The relative resource name pattern associated with this resource /// Optional. The relative resource name pattern associated with this resource
/// type. The DNS prefix of the full resource name shouldn't be specified here. /// 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, /// hierarchy. It is expected that, if multiple patterns are provided,
/// the same component name (e.g. "project") refers to IDs of the same /// the same component name (e.g. "project") refers to IDs of the same
/// type of resource. /// type of resource.
#[prost(string, repeated, tag = "2")] #[prost(string, repeated, tag="2")]
pub pattern: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, pub pattern: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
/// Optional. The field on the resource that designates the resource name /// Optional. The field on the resource that designates the resource name
/// field. If omitted, this is assumed to be "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, pub name_field: ::prost::alloc::string::String,
/// Optional. The historical or future-looking state of the resource pattern. /// Optional. The historical or future-looking state of the resource pattern.
/// ///
@ -556,27 +566,27 @@ pub struct ResourceDescriptor {
/// history: ORIGINALLY_SINGLE_PATTERN /// history: ORIGINALLY_SINGLE_PATTERN
/// }; /// };
/// } /// }
#[prost(enumeration = "resource_descriptor::History", tag = "4")] #[prost(enumeration="resource_descriptor::History", tag="4")]
pub history: i32, pub history: i32,
/// The plural name used in the resource name and permission names, such as /// The plural name used in the resource name and permission names, such as
/// 'projects' for the resource name of 'projects/{project}' and the permission /// 'projects' for the resource name of 'projects/{project}' and the permission
/// name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same /// name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
/// concept of the `plural` field in k8s CRD spec /// 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 /// Note: The plural form is required even for singleton resources. See
/// https://aip.dev/156 /// <https://aip.dev/156>
#[prost(string, tag = "5")] #[prost(string, tag="5")]
pub plural: ::prost::alloc::string::String, pub plural: ::prost::alloc::string::String,
/// The same concept of the `singular` field in k8s CRD spec /// 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. /// Such as "project" for the `resourcemanager.googleapis.com/Project` type.
#[prost(string, tag = "6")] #[prost(string, tag="6")]
pub singular: ::prost::alloc::string::String, pub singular: ::prost::alloc::string::String,
/// Style flag(s) for this resource. /// Style flag(s) for this resource.
/// These indicate that a resource is expected to conform to a given /// These indicate that a resource is expected to conform to a given
/// style. See the specific style flags for additional information. /// 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>, pub style: ::prost::alloc::vec::Vec<i32>,
} }
/// Nested message and enum types in `ResourceDescriptor`. /// Nested message and enum types in `ResourceDescriptor`.
@ -637,7 +647,7 @@ pub struct ResourceReference {
/// type: "*" /// type: "*"
/// }]; /// }];
/// } /// }
#[prost(string, tag = "1")] #[prost(string, tag="1")]
pub r#type: ::prost::alloc::string::String, pub r#type: ::prost::alloc::string::String,
/// The resource type of a child collection that the annotated field /// The resource type of a child collection that the annotated field
/// references. This is useful for annotating the `parent` field that /// references. This is useful for annotating the `parent` field that
@ -650,6 +660,6 @@ pub struct ResourceReference {
/// child_type: "logging.googleapis.com/LogEntry" /// child_type: "logging.googleapis.com/LogEntry"
/// }; /// };
/// } /// }
#[prost(string, tag = "2")] #[prost(string, tag="2")]
pub child_type: ::prost::alloc::string::String, 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 /// The `Status` type defines a logical error model that is suitable for
/// different programming environments, including REST APIs and RPC APIs. It is /// 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. /// 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 /// 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)] #[derive(Clone, PartialEq, ::prost::Message)]
pub struct Status { pub struct Status {
/// The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. /// The status code, which should be an enum value of \[google.rpc.Code][google.rpc.Code\].
#[prost(int32, tag = "1")] #[prost(int32, tag="1")]
pub code: i32, pub code: i32,
/// A developer-facing error message, which should be in English. Any /// A developer-facing error message, which should be in English. Any
/// user-facing error message should be localized and sent in the /// 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. /// \[google.rpc.Status.details][google.rpc.Status.details\] field, or localized by the client.
#[prost(string, tag = "2")] #[prost(string, tag="2")]
pub message: ::prost::alloc::string::String, pub message: ::prost::alloc::string::String,
/// A list of messages that carry the error details. There is a common set of /// A list of messages that carry the error details. There is a common set of
/// message types for APIs to use. /// 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>, pub details: ::prost::alloc::vec::Vec<::prost_types::Any>,
} }

View File

@ -12,7 +12,7 @@ edition = "2021"
[dependencies] [dependencies]
bincode = "1.3.3" bincode = "1.3.3"
bs58 = "0.4.0" bs58 = "0.4.0"
prost = "0.9.0" prost = "0.10.0"
serde = "1.0.130" serde = "1.0.130"
solana-account-decoder = { path = "../account-decoder", version = "=1.9.15" } solana-account-decoder = { path = "../account-decoder", version = "=1.9.15" }
solana-sdk = { path = "../sdk", 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"] targets = ["x86_64-unknown-linux-gnu"]
[build-dependencies] [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() tonic_build::configure()
.build_client(true) .build_client(true)
.build_server(false) .build_server(false)
.format(true)
.type_attribute( .type_attribute(
"TransactionErrorType", "TransactionErrorType",
"#[cfg_attr(test, derive(enum_iterator::IntoEnumIterator))]", "#[cfg_attr(test, derive(enum_iterator::IntoEnumIterator))]",