diff --git a/Cargo.lock b/Cargo.lock index 96bb30c..6d13134 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -242,7 +242,7 @@ dependencies = [ "derive_more 2.1.1", "foldhash", "hashbrown 0.15.5", - "indexmap 2.14.0", + "indexmap", "itoa", "k256", "keccak-asm", @@ -332,7 +332,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.3", + "tower", "tracing", "url", "wasmtimer", @@ -429,7 +429,7 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.14.0", + "indexmap", "proc-macro-error2", "proc-macro2", "quote", @@ -491,7 +491,7 @@ dependencies = [ "serde_json", "thiserror 2.0.18", "tokio", - "tower 0.5.3", + "tower", "tracing", "url", "wasmtimer", @@ -507,7 +507,7 @@ dependencies = [ "alloy-transport", "reqwest", "serde_json", - "tower 0.5.3", + "tower", "tracing", "url", ] @@ -790,11 +790,10 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.7.9" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90" dependencies = [ - "async-trait", "axum-core", "bytes", "futures-util", @@ -807,29 +806,26 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustversion", - "serde", + "serde_core", "sync_wrapper", - "tower 0.5.3", + "tower", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ - "async-trait", "bytes", - "futures-util", + "futures-core", "http", "http-body", "http-body-util", "mime", "pin-project-lite", - "rustversion", "sync_wrapper", "tower-layer", "tower-service", @@ -1563,19 +1559,13 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.14.0", + "indexmap", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.13.2" @@ -1771,7 +1761,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2", "tokio", "tower-service", "tracing", @@ -1900,16 +1890,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.14.0" @@ -2078,9 +2058,9 @@ dependencies = [ [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" @@ -2455,9 +2435,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ "bytes", "prost-derive", @@ -2465,9 +2445,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.5" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", "itertools 0.13.0", @@ -2495,7 +2475,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.6.3", + "socket2", "thiserror 2.0.18", "tokio", "tracing", @@ -2532,7 +2512,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2", "tracing", "windows-sys 0.60.2", ] @@ -2673,7 +2653,7 @@ dependencies = [ "tokio", "tokio-native-tls", "tokio-rustls", - "tower 0.5.3", + "tower", "tower-http", "tower-service", "url", @@ -2821,15 +2801,6 @@ dependencies = [ "security-framework", ] -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" version = "1.14.1" @@ -3000,6 +2971,7 @@ dependencies = [ "tokio", "tokio-tungstenite", "tonic", + "tonic-prost", "url", ] @@ -3131,16 +3103,6 @@ dependencies = [ "serde", ] -[[package]] -name = "socket2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "socket2" version = "0.6.3" @@ -3366,7 +3328,7 @@ dependencies = [ "libc", "mio", "pin-project-lite", - "socket2 0.6.3", + "socket2", "tokio-macros", "windows-sys 0.61.2", ] @@ -3458,7 +3420,7 @@ version = "0.25.11+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" dependencies = [ - "indexmap 2.14.0", + "indexmap", "toml_datetime", "toml_parser", "winnow 1.0.2", @@ -3475,11 +3437,10 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" dependencies = [ - "async-stream", "async-trait", "axum", "base64", @@ -3493,37 +3454,27 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost", "rustls-native-certs", - "rustls-pemfile", - "socket2 0.5.10", + "socket2", + "sync_wrapper", "tokio", "tokio-rustls", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", ] [[package]] -name = "tower" -version = "0.4.13" +name = "tonic-prost" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "50849f68853be452acf590cde0b146665b8d507b3b8af17261df47e02c209ea0" dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.6", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", + "bytes", + "prost", + "tonic", ] [[package]] @@ -3534,11 +3485,15 @@ checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", + "tokio-util", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -3553,7 +3508,7 @@ dependencies = [ "http", "http-body", "pin-project-lite", - "tower 0.5.3", + "tower", "tower-layer", "tower-service", "url", diff --git a/Cargo.toml b/Cargo.toml index e053372..3512bd4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ wallet = ["dep:secp256k1", "dep:sha2", "dep:tiny-keccak", "dep:hex", "dep:serde" # evm and grpc are scaffolded behind features but not implemented yet — # alpha.0 ships the network spec + native client foundation. evm = ["dep:alloy", "dep:url", "network"] -grpc = ["dep:tonic", "dep:prost", "dep:tokio", "dep:futures", "dep:hex", "dep:thiserror", "network"] +grpc = ["dep:tonic", "dep:tonic-prost", "dep:prost", "dep:tokio", "dep:futures", "dep:hex", "dep:thiserror", "network"] bft = ["dep:tokio", "dep:tokio-tungstenite", "dep:futures", "dep:serde", "dep:serde_json", "dep:thiserror", "network"] [dependencies] @@ -45,8 +45,9 @@ alloy = { version = "0.8", optional = true, features = ["providers", "rpc-types- url = { version = "2", optional = true } # gRPC (tonic) -tonic = { version = "0.12", optional = true, features = ["tls", "tls-roots"] } -prost = { version = "0.13", optional = true } +tonic = { version = "0.14", optional = true, features = ["tls-ring", "tls-native-roots"] } +tonic-prost = { version = "0.14", optional = true } +prost = { version = "0.14", optional = true } futures = { version = "0.3", optional = true } tokio-tungstenite = { version = "0.24", optional = true, features = ["rustls-tls-native-roots"] } diff --git a/src/grpc/pb.rs b/src/grpc/pb.rs index cbb0fe1..f716cf6 100644 --- a/src/grpc/pb.rs +++ b/src/grpc/pb.rs @@ -1,27 +1,27 @@ // This file is @generated by prost-build. /// 20-byte EVM-compatible address. Mirror of sentrix-primitives::Address. /// Wire = bytes (NOT hex string) for binary efficiency. -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Address { /// exactly 20 bytes #[prost(bytes = "vec", tag = "1")] pub value: ::prost::alloc::vec::Vec, } /// 32-byte hash — block hash, tx hash, state root. -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Hash { /// exactly 32 bytes #[prost(bytes = "vec", tag = "1")] pub value: ::prost::alloc::vec::Vec, } /// Native amount — sentri (10^-8 SRX). u64 wire to match Sentrix internal. -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct Amount { #[prost(uint64, tag = "1")] pub sentri: u64, } /// Block height — u64 starting at 0 (genesis). -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct BlockHeight { #[prost(uint64, tag = "1")] pub value: u64, @@ -29,7 +29,7 @@ pub struct BlockHeight { /// Mirror of sentrix-primitives::Transaction. Identical wire format to chain /// MDBX serialisation (modulo prost-encoding). Field numbers match the /// canonical struct order; do NOT renumber on changes. -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Transaction { #[prost(message, optional, tag = "1")] pub txid: ::core::option::Option, @@ -76,11 +76,11 @@ pub struct Block { #[prost(message, repeated, tag = "8")] pub transactions: ::prost::alloc::vec::Vec, /// BFT justification carried from validator-side; included for audit. - /// Empty for blocks at h<100_000 (pre state-root-fork). + /// Empty for blocks at h\<100_000 (pre state-root-fork). #[prost(bytes = "vec", tag = "9")] pub justification: ::prost::alloc::vec::Vec, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Account { #[prost(message, optional, tag = "1")] pub address: ::core::option::Option
, @@ -130,7 +130,7 @@ pub struct BlockFinalized { #[prost(message, optional, tag = "1")] pub block: ::core::option::Option, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct PendingTx { #[prost(message, optional, tag = "1")] pub tx: ::core::option::Option, @@ -160,18 +160,18 @@ pub struct LogEmitted { #[prost(uint32, tag = "6")] pub log_index: u32, } -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct StreamLagged { /// events dropped since last delivery #[prost(uint64, tag = "1")] pub skipped_count: u64, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct BroadcastTxRequest { #[prost(message, optional, tag = "1")] pub tx: ::core::option::Option, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct BroadcastTxResponse { #[prost(message, optional, tag = "1")] pub txid: ::core::option::Option, @@ -179,14 +179,14 @@ pub struct BroadcastTxResponse { #[prost(uint64, tag = "2")] pub mempool_position: u64, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetBlockRequest { #[prost(oneof = "get_block_request::Selector", tags = "1, 2, 3, 4")] pub selector: ::core::option::Option, } /// Nested message and enum types in `GetBlockRequest`. pub mod get_block_request { - #[derive(Clone, PartialEq, ::prost::Oneof)] + #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)] pub enum Selector { #[prost(message, tag = "1")] Height(super::BlockHeight), @@ -200,7 +200,7 @@ pub mod get_block_request { Finalized(bool), } } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetBalanceRequest { #[prost(message, optional, tag = "1")] pub address: ::core::option::Option
, @@ -209,7 +209,7 @@ pub struct GetBalanceRequest { #[prost(message, optional, tag = "2")] pub at_height: ::core::option::Option, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct StreamEventsRequest { /// Filter set — empty = subscribe to all event types. Backend filters /// server-side so the wire only carries matched events. @@ -221,7 +221,7 @@ pub struct StreamEventsRequest { #[prost(uint64, tag = "2")] pub from_sequence: u64, } -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetValidatorSetRequest { /// Reserved for at_height historical reads — gated on MDBX snapshot /// isolation (Refactor 5). v0.4 returns the latest finalized set. @@ -242,7 +242,7 @@ pub struct ValidatorSet { #[prost(message, repeated, tag = "5")] pub validators: ::prost::alloc::vec::Vec, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ValidatorEntry { #[prost(message, optional, tag = "1")] pub address: ::core::option::Option
, @@ -253,12 +253,12 @@ pub struct ValidatorEntry { #[prost(bool, tag = "4")] pub jailed: bool, } -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetSupplyRequest { #[prost(message, optional, tag = "1")] pub at_height: ::core::option::Option, } -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct Supply { /// sentri = 10^-8 SRX. Cap is fork-gated (210M pre-fork, 315M post- /// tokenomics-v2 at h=640800); leave conversion to display layer. @@ -270,7 +270,7 @@ pub struct Supply { #[prost(uint64, tag = "3")] pub circulating_sentri: u64, } -#[derive(Clone, Copy, PartialEq, ::prost::Message)] +#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetMempoolRequest { /// Cap returned tx headers; default 100, max 500. Larger windows need /// pagination (deferred). 0 = use server default (100). @@ -286,7 +286,7 @@ pub struct Mempool { #[prost(message, repeated, tag = "2")] pub entries: ::prost::alloc::vec::Vec, } -#[derive(Clone, PartialEq, ::prost::Message)] +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct MempoolEntry { #[prost(message, optional, tag = "1")] pub txid: ::core::option::Option, @@ -345,10 +345,10 @@ pub mod sentrix_client { dead_code, missing_docs, clippy::wildcard_imports, - clippy::let_unit_value + clippy::let_unit_value, )] - use tonic::codegen::http::Uri; use tonic::codegen::*; + use tonic::codegen::http::Uri; /// ──────────────────────────────────────────────────────────── /// Service definition /// ──────────────────────────────────────────────────────────── @@ -369,7 +369,7 @@ pub mod sentrix_client { } impl SentrixClient where - T: tonic::client::GrpcService, + T: tonic::client::GrpcService, T::Error: Into, T::ResponseBody: Body + std::marker::Send + 'static, ::Error: Into + std::marker::Send, @@ -390,13 +390,14 @@ pub mod sentrix_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, + http::Request, Response = http::Response< - >::ResponseBody, + >::ResponseBody, >, >, - >>::Error: - Into + std::marker::Send + std::marker::Sync, + , + >>::Error: Into + std::marker::Send + std::marker::Sync, { SentrixClient::new(InterceptedService::new(inner, interceptor)) } @@ -437,13 +438,22 @@ pub mod sentrix_client { pub async fn broadcast_tx( &mut self, request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/sentrix.v1.Sentrix/BroadcastTx"); + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sentrix.v1.Sentrix/BroadcastTx", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("sentrix.v1.Sentrix", "BroadcastTx")); @@ -455,11 +465,18 @@ pub mod sentrix_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/sentrix.v1.Sentrix/GetBlock"); + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sentrix.v1.Sentrix/GetBlock", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("sentrix.v1.Sentrix", "GetBlock")); @@ -473,11 +490,18 @@ pub mod sentrix_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/sentrix.v1.Sentrix/GetBalance"); + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sentrix.v1.Sentrix/GetBalance", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("sentrix.v1.Sentrix", "GetBalance")); @@ -493,11 +517,18 @@ pub mod sentrix_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/sentrix.v1.Sentrix/GetValidatorSet"); + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sentrix.v1.Sentrix/GetValidatorSet", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("sentrix.v1.Sentrix", "GetValidatorSet")); @@ -508,11 +539,18 @@ pub mod sentrix_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/sentrix.v1.Sentrix/GetSupply"); + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sentrix.v1.Sentrix/GetSupply", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("sentrix.v1.Sentrix", "GetSupply")); @@ -523,11 +561,18 @@ pub mod sentrix_client { &mut self, request: impl tonic::IntoRequest, ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/sentrix.v1.Sentrix/GetMempool"); + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sentrix.v1.Sentrix/GetMempool", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("sentrix.v1.Sentrix", "GetMempool")); @@ -545,11 +590,18 @@ pub mod sentrix_client { tonic::Response>, tonic::Status, > { - self.inner.ready().await.map_err(|e| { - tonic::Status::unknown(format!("Service was not ready: {}", e.into())) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/sentrix.v1.Sentrix/StreamEvents"); + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sentrix.v1.Sentrix/StreamEvents", + ); let mut req = request.into_request(); req.extensions_mut() .insert(GrpcMethod::new("sentrix.v1.Sentrix", "StreamEvents"));