From ec51b15a1a8c941fac07f71b8e7c79617c0def68 Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Mon, 16 Jun 2025 09:46:14 -0400 Subject: [PATCH 01/11] tonic: update tonic to 0.13 --- Cargo.lock | 380 ++++++++++++---------------- Cargo.toml | 12 +- yellowstone-grpc-client/Cargo.toml | 2 +- yellowstone-grpc-geyser/Cargo.toml | 2 +- yellowstone-grpc-geyser/src/grpc.rs | 19 +- 5 files changed, 170 insertions(+), 245 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2c32cd37..af534e33 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,9 +23,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -256,28 +256,6 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "async-trait" version = "0.1.88" @@ -286,7 +264,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -323,11 +301,10 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.9" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" dependencies = [ - "async-trait", "axum-core", "bytes", "futures-util", @@ -343,20 +320,19 @@ dependencies = [ "rustversion", "serde", "sync_wrapper", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" dependencies = [ - "async-trait", "bytes", - "futures-util", + "futures-core", "http", "http-body", "http-body-util", @@ -499,7 +475,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -535,9 +511,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" [[package]] name = "bv" @@ -551,9 +527,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.23.0" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" dependencies = [ "bytemuck_derive", ] @@ -566,7 +542,7 @@ checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -589,7 +565,7 @@ checksum = "c06acb4f71407ba205a07cb453211e0e6a67b21904e47f6ba1f9589e38f2e454" dependencies = [ "semver", "serde", - "toml 0.8.22", + "toml 0.8.23", "url", ] @@ -601,9 +577,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.25" +version = "1.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" dependencies = [ "jobserver", "libc", @@ -612,9 +588,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -676,9 +652,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.39" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" dependencies = [ "clap_builder", "clap_derive", @@ -686,9 +662,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.39" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" dependencies = [ "anstream", "anstyle", @@ -698,21 +674,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "colorchoice" @@ -951,7 +927,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -975,7 +951,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -986,7 +962,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1022,7 +998,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1032,7 +1008,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1063,7 +1039,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1124,7 +1100,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1226,9 +1202,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -1320,7 +1296,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1383,7 +1359,7 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] @@ -1422,7 +1398,7 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1437,7 +1413,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.9.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -1463,12 +1439,6 @@ dependencies = [ "byteorder", ] -[[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" @@ -1480,9 +1450,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" [[package]] name = "heck" @@ -1507,9 +1477,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -1821,16 +1791,6 @@ dependencies = [ "icu_properties", ] -[[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.9.0" @@ -1838,7 +1798,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.3", + "hashbrown 0.15.4", ] [[package]] @@ -1878,7 +1838,7 @@ version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.5.1", + "hermit-abi 0.5.2", "libc", "windows-sys 0.59.0", ] @@ -1924,9 +1884,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93" +checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" dependencies = [ "jiff-static", "log", @@ -1937,13 +1897,13 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442" +checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -1983,9 +1943,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.173" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "d8cfeafaffdbc32176b64fb251369d52ea9f0a8fbc6f8759edffef7b525d64bb" [[package]] name = "libsecp256k1" @@ -2077,15 +2037,15 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[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" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memoffset" @@ -2116,9 +2076,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] @@ -2130,7 +2090,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -2205,7 +2165,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -2255,7 +2215,7 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.5.1", + "hermit-abi 0.5.2", "libc", ] @@ -2277,7 +2237,7 @@ dependencies = [ "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -2351,7 +2311,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -2436,7 +2396,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", - "indexmap 2.9.0", + "indexmap", ] [[package]] @@ -2446,7 +2406,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset 0.5.7", - "indexmap 2.9.0", + "indexmap", ] [[package]] @@ -2466,7 +2426,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -2529,9 +2489,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portable-atomic-util" @@ -2578,12 +2538,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.33" +version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dee91521343f4c5c6a63edd65e54f31f5c92fe8978c40a4282f8372194c6a7d" +checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" dependencies = [ "proc-macro2", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -2682,11 +2642,11 @@ dependencies = [ "multimap 0.10.1", "once_cell", "petgraph 0.7.1", - "prettyplease 0.2.33", + "prettyplease 0.2.34", "prost 0.13.5", "prost-types 0.13.5", "regex", - "syn 2.0.101", + "syn 2.0.103", "tempfile", ] @@ -2713,7 +2673,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -2866,9 +2826,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags", ] @@ -2918,9 +2878,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustc_version" @@ -2959,13 +2919,12 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.27" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "log", "once_cell", - "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -2984,15 +2943,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.12.0" @@ -3116,7 +3066,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -3133,9 +3083,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] @@ -3188,18 +3138,15 @@ checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" @@ -3286,9 +3233,9 @@ dependencies = [ [[package]] name = "solana-account-info" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c17d606a298a205fae325489fbed88ee6dc4463c111672172327e741c8905d" +checksum = "c8f5152a288ef1912300fc6efa6c2d1f9bb55d9398eb6c72326360b8063987da" dependencies = [ "bincode", "serde", @@ -3436,9 +3383,9 @@ dependencies = [ [[package]] name = "solana-curve25519" -version = "2.2.15" +version = "2.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def3cfe5279edb64fc39111cff6dcf77b01fbfba2c02c13ced41e6a48baf4cbe" +checksum = "9fe901fd92d30a1f25a9b2fe76b45171acd8ec1ba920c15c00eb016fcf5a9b11" dependencies = [ "bytemuck", "bytemuck_derive", @@ -3946,9 +3893,9 @@ dependencies = [ [[package]] name = "solana-program-memory" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a3ff409c17fba997b67e4e3eb996467221c62fb737fed995e4c3accefc2ab5" +checksum = "3a5426090c6f3fd6cfdc10685322fede9ca8e5af43cd6a59e98bfe4e91671712" dependencies = [ "solana-define-syscall", ] @@ -4098,7 +4045,7 @@ dependencies = [ "bs58", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -4546,9 +4493,9 @@ dependencies = [ [[package]] name = "solana-zk-sdk" -version = "2.2.15" +version = "2.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15045540c315a9b8ea056323e73320e76098dfdaac9e65b1b33fe9c2f3c9b9e1" +checksum = "8586a9d43b378dee7c64e59784c4c21bdb80f030097c1beed67aa9f9d54acf5b" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -4627,7 +4574,7 @@ checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" dependencies = [ "quote", "spl-discriminator-syn", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -4639,7 +4586,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.9", - "syn 2.0.101", + "syn 2.0.103", "thiserror 1.0.69", ] @@ -4750,7 +4697,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.9", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -4762,7 +4709,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.9", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -5240,9 +5187,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.101" +version = "2.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "e4307e30089d6fd6aff212f2da3a1f9e32f3223b1f010fb09b7c95f90f3ca1e8" dependencies = [ "proc-macro2", "quote", @@ -5263,7 +5210,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -5314,7 +5261,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -5325,7 +5272,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -5420,7 +5367,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -5442,6 +5389,7 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", + "tokio-util", ] [[package]] @@ -5468,9 +5416,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", @@ -5480,20 +5428,20 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.9" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.26" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.9.0", + "indexmap", "serde", "serde_spanned", "toml_datetime", @@ -5503,17 +5451,16 @@ dependencies = [ [[package]] name = "toml_write" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ - "async-stream", "async-trait", "axum", "base64 0.22.1", @@ -5530,12 +5477,11 @@ dependencies = [ "pin-project", "prost 0.13.5", "rustls-native-certs", - "rustls-pemfile", "socket2", "tokio", "tokio-rustls", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", @@ -5557,25 +5503,24 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ - "prettyplease 0.2.33", + "prettyplease 0.2.34", "proc-macro2", "prost-build 0.13.5", "prost-types 0.13.5", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] name = "tonic-health" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eaf34ddb812120f5c601162d5429933c9b527d901ab0e7f930d3147e33a09b2" +checksum = "cb87334d340313fefa513b6e60794d44a86d5f039b523229c99c323e4e19ca4b" dependencies = [ - "async-stream", "prost 0.13.5", "tokio", "tokio-stream", @@ -5584,17 +5529,16 @@ dependencies = [ [[package]] name = "tower" -version = "0.4.13" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", - "pin-project", + "indexmap", "pin-project-lite", - "rand 0.8.5", "slab", + "sync_wrapper", "tokio", "tokio-util", "tower-layer", @@ -5602,20 +5546,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tower" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" -dependencies = [ - "futures-core", - "futures-util", - "pin-project-lite", - "sync_wrapper", - "tower-layer", - "tower-service", -] - [[package]] name = "tower-layer" version = "0.3.3" @@ -5641,20 +5571,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", ] @@ -5679,9 +5609,9 @@ checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-width" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" [[package]] name = "universal-hash" @@ -5811,9 +5741,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -5846,7 +5776,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", "wasm-bindgen-shared", ] @@ -5868,7 +5798,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5966,7 +5896,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -5977,14 +5907,14 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-result" @@ -6088,9 +6018,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" dependencies = [ "memchr", ] @@ -6225,7 +6155,7 @@ dependencies = [ "spl-token-2022 8.0.1", "thiserror 1.0.69", "tonic", - "tonic-build 0.12.3", + "tonic-build 0.13.1", ] [[package]] @@ -6248,7 +6178,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", "synstructure", ] @@ -6269,7 +6199,7 @@ checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -6289,7 +6219,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", "synstructure", ] @@ -6310,7 +6240,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] @@ -6343,7 +6273,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.103", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 83a705d1..5094c18f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,13 +72,13 @@ solana-transaction-error = "~2.2.1" solana-transaction-status = "~2.2.1" smallvec = "1.13.2" spl-token-2022 = "8.0.0" -thiserror = "1.0.63" -tokio = "1.21.2" +thiserror = "1" +tokio = "1" tokio-stream = "0.1.11" -tonic = "0.12.1" -tonic-build = "0.12.1" -tonic-health = "0.12.1" -vergen = "9.0.0" +tonic = "~0.13.1" +tonic-build = "~0.13.1" +tonic-health = "~0.13.1" +vergen = "9" yellowstone-grpc-client = { path = "yellowstone-grpc-client", version = "7.0.0" } yellowstone-grpc-proto = { path = "yellowstone-grpc-proto", version = "7.0.0", default-features = false } diff --git a/yellowstone-grpc-client/Cargo.toml b/yellowstone-grpc-client/Cargo.toml index 80a586e5..0cfba07d 100644 --- a/yellowstone-grpc-client/Cargo.toml +++ b/yellowstone-grpc-client/Cargo.toml @@ -14,7 +14,7 @@ publish = true bytes = { workspace = true } futures = { workspace = true } thiserror ={ workspace = true } -tonic = { workspace = true, features = ["tls", "tls-roots"] } +tonic = { workspace = true, features = ["tls-native-roots"] } tonic-health = { workspace = true } yellowstone-grpc-proto = { workspace = true, features = ["tonic", "tonic-compression"] } diff --git a/yellowstone-grpc-geyser/Cargo.toml b/yellowstone-grpc-geyser/Cargo.toml index e30587e1..6cad6082 100644 --- a/yellowstone-grpc-geyser/Cargo.toml +++ b/yellowstone-grpc-geyser/Cargo.toml @@ -46,7 +46,7 @@ spl-token-2022 = { workspace = true, features = ["no-entrypoint"] } thiserror = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread", "macros", "fs"] } tokio-stream = { workspace = true } -tonic = { workspace = true, features = ["gzip", "zstd", "tls", "tls-roots"] } +tonic = { workspace = true, features = ["gzip", "zstd", "tls-native-roots"] } tonic-health = { workspace = true } yellowstone-grpc-proto = { workspace = true, features = ["convert", "plugin"] } diff --git a/yellowstone-grpc-geyser/src/grpc.rs b/yellowstone-grpc-geyser/src/grpc.rs index 53e6f725..820e43c3 100644 --- a/yellowstone-grpc-geyser/src/grpc.rs +++ b/yellowstone-grpc-geyser/src/grpc.rs @@ -26,12 +26,10 @@ use { }, tokio_stream::wrappers::ReceiverStream, tonic::{ - service::interceptor::interceptor, - transport::{ + service::interceptor, transport::{ server::{Server, TcpIncoming}, Identity, ServerTlsConfig, - }, - Request, Response, Result as TonicResult, Status, Streaming, + }, Request, Response, Result as TonicResult, Status, Streaming }, tonic_health::server::health_reporter, yellowstone_grpc_proto::{ @@ -357,12 +355,9 @@ impl GrpcService { Arc, )> { // Bind service address - let incoming = TcpIncoming::new( - config.address, - true, // tcp_nodelay - Some(Duration::from_secs(20)), // tcp_keepalive - ) - .map_err(|error| anyhow::anyhow!(error))?; + let incoming = TcpIncoming::bind(config.address)? + .with_nodelay(Some(true)) + .with_keepalive(Some(Duration::from_secs(20))); // Snapshot channel let (snapshot_tx, snapshot_rx) = match config.snapshot_plugin_channel_capacity { @@ -483,11 +478,11 @@ impl GrpcService { let shutdown_grpc = Arc::clone(&shutdown); tokio::spawn(async move { // gRPC Health check service - let (mut health_reporter, health_service) = health_reporter(); + let (health_reporter, health_service) = health_reporter(); health_reporter.set_serving::>().await; server_builder - .layer(interceptor(move |request: Request<()>| { + .layer(interceptor::InterceptorLayer::new(move |request: Request<()>| { if let Some(x_token) = &config.x_token { match request.metadata().get("x-token") { Some(token) if x_token == token => Ok(request), From c5745ded0e94e990a4164bf516d8e38d378263cc Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Fri, 18 Jul 2025 16:53:04 -0400 Subject: [PATCH 02/11] bump tonic version to 0.13.1 --- yellowstone-grpc-proto/src/plugin/filter/filter.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/yellowstone-grpc-proto/src/plugin/filter/filter.rs b/yellowstone-grpc-proto/src/plugin/filter/filter.rs index 305f80e2..c90b40d5 100644 --- a/yellowstone-grpc-proto/src/plugin/filter/filter.rs +++ b/yellowstone-grpc-proto/src/plugin/filter/filter.rs @@ -1167,6 +1167,7 @@ mod tests { loaded_addresses: LoadedAddresses::default(), return_data: None, compute_units_consumed: None, + cost_units: None, }); let sig = sanitized_transaction.signature(); let account_keys = sanitized_transaction From 4d0de17796ab707fdfc9dc8168535f6e664ccc14 Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Fri, 18 Jul 2025 17:08:14 -0400 Subject: [PATCH 03/11] solana-encoding-wasm: update Cargo.lock --- .../solana-encoding-wasm/Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock index e4ae49e0..54682af4 100644 --- a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock +++ b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock @@ -3008,9 +3008,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", "proc-macro2", From c82f4108452833850fc99a9c9652ceddf960c7f6 Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Fri, 18 Jul 2025 17:11:41 -0400 Subject: [PATCH 04/11] cargo fmt --- yellowstone-grpc-geyser/src/grpc.rs | 26 +++++++++++++++----------- yellowstone-grpc-proto/src/lib.rs | 5 +++-- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/yellowstone-grpc-geyser/src/grpc.rs b/yellowstone-grpc-geyser/src/grpc.rs index 820e43c3..78c95aa2 100644 --- a/yellowstone-grpc-geyser/src/grpc.rs +++ b/yellowstone-grpc-geyser/src/grpc.rs @@ -26,10 +26,12 @@ use { }, tokio_stream::wrappers::ReceiverStream, tonic::{ - service::interceptor, transport::{ + service::interceptor, + transport::{ server::{Server, TcpIncoming}, Identity, ServerTlsConfig, - }, Request, Response, Result as TonicResult, Status, Streaming + }, + Request, Response, Result as TonicResult, Status, Streaming, }, tonic_health::server::health_reporter, yellowstone_grpc_proto::{ @@ -482,16 +484,18 @@ impl GrpcService { health_reporter.set_serving::>().await; server_builder - .layer(interceptor::InterceptorLayer::new(move |request: Request<()>| { - if let Some(x_token) = &config.x_token { - match request.metadata().get("x-token") { - Some(token) if x_token == token => Ok(request), - _ => Err(Status::unauthenticated("No valid auth token")), + .layer(interceptor::InterceptorLayer::new( + move |request: Request<()>| { + if let Some(x_token) = &config.x_token { + match request.metadata().get("x-token") { + Some(token) if x_token == token => Ok(request), + _ => Err(Status::unauthenticated("No valid auth token")), + } + } else { + Ok(request) } - } else { - Ok(request) - } - })) + }, + )) .add_service(health_service) .add_service(service) .serve_with_incoming_shutdown(incoming, shutdown_grpc.notified()) diff --git a/yellowstone-grpc-proto/src/lib.rs b/yellowstone-grpc-proto/src/lib.rs index 472b460a..1c90d88c 100644 --- a/yellowstone-grpc-proto/src/lib.rs +++ b/yellowstone-grpc-proto/src/lib.rs @@ -147,8 +147,9 @@ pub mod convert_to { rewards, loaded_addresses, return_data, - compute_units_consumed, - cost_units } = meta; + compute_units_consumed, + cost_units, + } = meta; let err = create_transaction_error(status); let inner_instructions_none = inner_instructions.is_none(); let inner_instructions = inner_instructions From ac10c70f35834093701e8a502101581c7811633a Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Fri, 18 Jul 2025 17:23:00 -0400 Subject: [PATCH 05/11] clippy --- examples/rust/src/bin/client.rs | 1 - yellowstone-grpc-geyser/src/grpc.rs | 2 +- yellowstone-grpc-proto/src/plugin/message.rs | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/rust/src/bin/client.rs b/examples/rust/src/bin/client.rs index d391402f..54b91924 100644 --- a/examples/rust/src/bin/client.rs +++ b/examples/rust/src/bin/client.rs @@ -650,7 +650,6 @@ async fn main() -> anyhow::Result<()> { .inspect_err(|error| error!("failed to connect: {error}")) }) .await - .map_err(Into::into) } async fn geyser_health_watch(mut client: GeyserGrpcClient) -> anyhow::Result<()> { diff --git a/yellowstone-grpc-geyser/src/grpc.rs b/yellowstone-grpc-geyser/src/grpc.rs index 78c95aa2..7496c807 100644 --- a/yellowstone-grpc-geyser/src/grpc.rs +++ b/yellowstone-grpc-geyser/src/grpc.rs @@ -252,7 +252,7 @@ struct MessageId { } impl MessageId { - fn next(&mut self) -> u64 { + const fn next(&mut self) -> u64 { self.id = self.id.checked_add(1).expect("message id overflow"); self.id } diff --git a/yellowstone-grpc-proto/src/plugin/message.rs b/yellowstone-grpc-proto/src/plugin/message.rs index 6bc8aed6..c21e9df2 100644 --- a/yellowstone-grpc-proto/src/plugin/message.rs +++ b/yellowstone-grpc-proto/src/plugin/message.rs @@ -544,6 +544,7 @@ pub enum Message { } impl Message { + #[allow(clippy::missing_const_for_fn)] pub fn get_slot(&self) -> u64 { match self { Self::Slot(msg) => msg.slot, From af7f2e3570c14fdeea7964db815876538f9a973b Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Wed, 30 Jul 2025 14:22:25 -0400 Subject: [PATCH 06/11] wip --- yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml index b73b8c22..f6b1b09f 100644 --- a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml +++ b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml @@ -30,4 +30,4 @@ codegen-units = 1 # wasm32 and spl-token-confidential-transfer-proof-generation [patch.crates-io] spl-token-2022_6 = { package = "spl-token-2022", version = "6.0.0", git = "https://github.com/rpcpool/token-2022.git", tag = "program@v6.0.0-wasm" } -spl-token-2022_7 = { package = "spl-token-2022", version = "7.0.0", git = "https://github.com/rpcpool/token-2022.git", tag = "program@v7.0.0-wasm" } +spl-token-2022_7 = { package = "spl-token-2022", version = "7.0.0", git = "https://github.com/rpcpool/token-2022.git", tag = "program@v7.0.0-wasm" } \ No newline at end of file From 68a0fe8df60a61372b0fe6a8197a239ac864ba35 Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Mon, 4 Aug 2025 15:47:57 -0400 Subject: [PATCH 07/11] tonic: upgrade tonic to 0.14 --- Cargo.lock | 117 +++++++++++++++++++++-------- Cargo.toml | 16 ++-- yellowstone-grpc-client/Cargo.toml | 2 +- yellowstone-grpc-geyser/Cargo.toml | 5 +- yellowstone-grpc-proto/Cargo.toml | 6 +- yellowstone-grpc-proto/build.rs | 23 +++--- 6 files changed, 115 insertions(+), 54 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 68ba4154..ad48d355 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2386,12 +2386,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", - "prost-derive 0.13.5", + "prost-derive 0.14.1", ] [[package]] @@ -2418,9 +2418,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ "heck 0.5.0", "itertools 0.14.0", @@ -2429,8 +2429,10 @@ dependencies = [ "once_cell", "petgraph 0.7.1", "prettyplease 0.2.36", - "prost 0.13.5", - "prost-types 0.13.5", + "prost 0.14.1", + "prost-types 0.14.1", + "pulldown-cmark", + "pulldown-cmark-to-cmark", "regex", "syn 2.0.104", "tempfile", @@ -2451,9 +2453,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", "itertools 0.14.0", @@ -2473,11 +2475,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ - "prost 0.13.5", + "prost 0.14.1", ] [[package]] @@ -2495,6 +2497,26 @@ dependencies = [ "autotools", ] +[[package]] +name = "pulldown-cmark" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark-to-cmark" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5b6a0769a491a08b31ea5c62494a8f144ee0987d86d670a8af4df1e1b7cde75" +dependencies = [ + "pulldown-cmark", +] + [[package]] name = "qstring" version = "0.7.2" @@ -4830,9 +4852,9 @@ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "tonic" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" +checksum = "308e1db96abdccdf0a9150fb69112bf6ea72640e0bd834ef0c4a618ccc8c8ddc" dependencies = [ "async-trait", "axum", @@ -4848,9 +4870,9 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost 0.13.5", "rustls-native-certs", - "socket2 0.5.10", + "socket2 0.6.0", + "sync_wrapper", "tokio", "tokio-rustls", "tokio-stream", @@ -4876,28 +4898,54 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" +checksum = "18262cdd13dec66e8e3f2e3fe535e4b2cc706fab444a7d3678d75d8ac2557329" dependencies = [ "prettyplease 0.2.36", "proc-macro2", - "prost-build 0.13.5", - "prost-types 0.13.5", "quote", "syn 2.0.104", ] [[package]] name = "tonic-health" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb87334d340313fefa513b6e60794d44a86d5f039b523229c99c323e4e19ca4b" +checksum = "47b73e8ee6621bc988f378d709615a77048649d34271bcdbf43395f325ada69b" dependencies = [ - "prost 0.13.5", + "prost 0.14.1", "tokio", "tokio-stream", "tonic", + "tonic-prost", +] + +[[package]] +name = "tonic-prost" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d8b5b7a44512c59f5ad45e0c40e53263cbbf4426d74fe6b569e04f1d4206e9c" +dependencies = [ + "bytes", + "prost 0.14.1", + "tonic", +] + +[[package]] +name = "tonic-prost-build" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "114cca66d757d72422ef8cccf8be3065321860ac9fa4be73aab37a8a20a9a805" +dependencies = [ + "prettyplease 0.2.36", + "proc-macro2", + "prost-build 0.14.1", + "prost-types 0.14.1", + "quote", + "syn 2.0.104", + "tempfile", + "tonic-build 0.14.0", ] [[package]] @@ -4974,6 +5022,12 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-ident" version = "1.0.18" @@ -5468,7 +5522,7 @@ checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "yellowstone-grpc-client" -version = "8.0.0" +version = "9.0.0" dependencies = [ "bytes", "futures", @@ -5508,7 +5562,7 @@ dependencies = [ [[package]] name = "yellowstone-grpc-geyser" -version = "8.1.0" +version = "9.0.0" dependencies = [ "affinity", "agave-geyser-plugin-interface", @@ -5530,7 +5584,8 @@ dependencies = [ "lazy_static", "log", "prometheus", - "prost-types 0.13.5", + "prost 0.14.1", + "prost-types 0.14.1", "serde", "serde_json", "solana-clock", @@ -5549,7 +5604,7 @@ dependencies = [ [[package]] name = "yellowstone-grpc-proto" -version = "8.0.0" +version = "9.0.0" dependencies = [ "agave-geyser-plugin-interface", "anyhow", @@ -5559,8 +5614,8 @@ dependencies = [ "bytes", "criterion", "prost 0.11.9", - "prost 0.13.5", - "prost-types 0.13.5", + "prost 0.14.1", + "prost-types 0.14.1", "protobuf-src", "serde", "smallvec", @@ -5581,7 +5636,9 @@ dependencies = [ "spl-token-2022", "thiserror 1.0.69", "tonic", - "tonic-build 0.13.1", + "tonic-build 0.14.0", + "tonic-prost", + "tonic-prost-build", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 56b749cf..261025c3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -49,8 +49,8 @@ local-ip-address = "~0.6.1" log = "~0.4.17" maplit = "1.0.2" prometheus = "0.13.2" -prost = "~0.13.1" -prost-types = "0.13.3" +prost = "~0.14.0" +prost-types = "~0.14.0" prost_011 = { package = "prost", version = "0.11.9" } protobuf-src = "1.1.0" serde = "1.0.145" @@ -75,12 +75,14 @@ spl-token-2022 = "8.0.0" thiserror = "1" tokio = "1" tokio-stream = "0.1.11" -tonic = "~0.13.1" -tonic-build = "~0.13.1" -tonic-health = "~0.13.1" +tonic = "~0.14.0" +tonic-build = "~0.14.0" +tonic-prost = "~0.14.0" +tonic-prost-build = "~0.14.0" +tonic-health = "~0.14.0" vergen = "9" -yellowstone-grpc-client = { path = "yellowstone-grpc-client", version = "8.0.0" } -yellowstone-grpc-proto = { path = "yellowstone-grpc-proto", version = "8.0.0", default-features = false } +yellowstone-grpc-client = { path = "yellowstone-grpc-client", version = "9.0.0" } +yellowstone-grpc-proto = { path = "yellowstone-grpc-proto", version = "9.0.0", default-features = false } [workspace.lints.clippy] clone_on_ref_ptr = "deny" diff --git a/yellowstone-grpc-client/Cargo.toml b/yellowstone-grpc-client/Cargo.toml index d5de4478..7e243c47 100644 --- a/yellowstone-grpc-client/Cargo.toml +++ b/yellowstone-grpc-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yellowstone-grpc-client" -version = "8.0.0" +version = "9.0.0" authors = { workspace = true } edition = { workspace = true } description = "Yellowstone gRPC Geyser Simple Client" diff --git a/yellowstone-grpc-geyser/Cargo.toml b/yellowstone-grpc-geyser/Cargo.toml index 326680cf..6622965a 100644 --- a/yellowstone-grpc-geyser/Cargo.toml +++ b/yellowstone-grpc-geyser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yellowstone-grpc-geyser" -version = "8.1.0" +version = "9.0.0" authors = { workspace = true } edition = { workspace = true } description = "Yellowstone gRPC Geyser Plugin" @@ -35,6 +35,7 @@ hyper-util = { workspace = true } lazy_static = { workspace = true } log = { workspace = true } prometheus = { workspace = true } +prost = { workspace = true } prost-types = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } @@ -48,7 +49,7 @@ tokio = { workspace = true, features = ["rt-multi-thread", "macros", "fs"] } tokio-stream = { workspace = true } tonic = { workspace = true, features = ["gzip", "zstd", "tls-native-roots"] } tonic-health = { workspace = true } -yellowstone-grpc-proto = { workspace = true, features = ["convert", "plugin"] } +yellowstone-grpc-proto = { workspace = true, features = ["convert", "plugin", "tonic"] } [build-dependencies] anyhow = { workspace = true } diff --git a/yellowstone-grpc-proto/Cargo.toml b/yellowstone-grpc-proto/Cargo.toml index 2ce62b4a..0b3bdd21 100644 --- a/yellowstone-grpc-proto/Cargo.toml +++ b/yellowstone-grpc-proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yellowstone-grpc-proto" -version = "8.0.0" +version = "9.0.0" authors = { workspace = true } edition = { workspace = true } description = "Yellowstone gRPC Geyser Protobuf Definitions" @@ -41,6 +41,7 @@ smallvec = { workspace = true, optional = true } spl-token-2022 = { workspace = true, optional = true } thiserror = { workspace = true, optional = true } tonic = { workspace = true, optional = true } +tonic-prost = { workspace = true, optional = true } [dev-dependencies] criterion = { workspace = true } @@ -54,6 +55,7 @@ solana-transaction = { workspace = true, features = ["blake3"] } anyhow = { workspace = true } protobuf-src = { workspace = true } tonic-build = { workspace = true } +tonic-prost-build = { workspace = true } [features] default = ["convert", "tonic", "tonic-compression"] @@ -89,7 +91,7 @@ plugin-bench = [ "dep:solana-storage-proto", "solana-transaction/blake3" ] -tonic = ["dep:tonic"] +tonic = ["dep:tonic", "dep:tonic-prost"] tonic-compression = ["tonic", "tonic/gzip", "tonic/zstd"] [lints] diff --git a/yellowstone-grpc-proto/build.rs b/yellowstone-grpc-proto/build.rs index b490d58d..cd044e6a 100644 --- a/yellowstone-grpc-proto/build.rs +++ b/yellowstone-grpc-proto/build.rs @@ -1,19 +1,19 @@ use { std::{env, fs, path::Path}, - tonic_build::manual::{Builder, Method, Service}, + tonic_prost_build::manual::{Builder, Method, Service}, }; fn main() -> anyhow::Result<()> { std::env::set_var("PROTOC", protobuf_src::protoc()); // build protos - tonic_build::configure().compile_protos(&["proto/geyser.proto"], &["proto"])?; + tonic_prost_build::configure().compile_protos(&["proto/geyser.proto"], &["proto"])?; // build protos without tonic (wasm) let out_dir = env::var("OUT_DIR").expect("OUT_DIR not found"); let out_dir_path = Path::new(&out_dir).join("no-tonic"); fs::create_dir_all(&out_dir_path).expect("failed to create out no-tonic directory"); - tonic_build::configure() + tonic_prost_build::configure() .build_client(false) .build_server(false) .out_dir(out_dir_path) @@ -30,8 +30,7 @@ fn main() -> anyhow::Result<()> { .input_type("crate::geyser::SubscribeRequest") // .output_type("crate::geyser::SubscribeUpdate") .output_type("crate::plugin::filter::message::FilteredUpdate") - .codec_path("tonic::codec::ProstCodec") - // .codec_path("crate::plugin::codec::SubscribeCodec") + .codec_path("tonic_prost::ProstCodec") .client_streaming() .server_streaming() .build(), @@ -42,7 +41,7 @@ fn main() -> anyhow::Result<()> { .route_name("SubscribeReplayInfo") .input_type("crate::geyser::SubscribeReplayInfoRequest") .output_type("crate::geyser::SubscribeReplayInfoResponse") - .codec_path("tonic::codec::ProstCodec") + .codec_path("tonic_prost::ProstCodec") .build(), ) .method( @@ -51,7 +50,7 @@ fn main() -> anyhow::Result<()> { .route_name("Ping") .input_type("crate::geyser::PingRequest") .output_type("crate::geyser::PongResponse") - .codec_path("tonic::codec::ProstCodec") + .codec_path("tonic_prost::ProstCodec") .build(), ) .method( @@ -60,7 +59,7 @@ fn main() -> anyhow::Result<()> { .route_name("GetLatestBlockhash") .input_type("crate::geyser::GetLatestBlockhashRequest") .output_type("crate::geyser::GetLatestBlockhashResponse") - .codec_path("tonic::codec::ProstCodec") + .codec_path("tonic_prost::ProstCodec") .build(), ) .method( @@ -69,7 +68,7 @@ fn main() -> anyhow::Result<()> { .route_name("GetBlockHeight") .input_type("crate::geyser::GetBlockHeightRequest") .output_type("crate::geyser::GetBlockHeightResponse") - .codec_path("tonic::codec::ProstCodec") + .codec_path("tonic_prost::ProstCodec") .build(), ) .method( @@ -78,7 +77,7 @@ fn main() -> anyhow::Result<()> { .route_name("GetSlot") .input_type("crate::geyser::GetSlotRequest") .output_type("crate::geyser::GetSlotResponse") - .codec_path("tonic::codec::ProstCodec") + .codec_path("tonic_prost::ProstCodec") .build(), ) .method( @@ -87,7 +86,7 @@ fn main() -> anyhow::Result<()> { .route_name("IsBlockhashValid") .input_type("crate::geyser::IsBlockhashValidRequest") .output_type("crate::geyser::IsBlockhashValidResponse") - .codec_path("tonic::codec::ProstCodec") + .codec_path("tonic_prost::ProstCodec") .build(), ) .method( @@ -96,7 +95,7 @@ fn main() -> anyhow::Result<()> { .route_name("GetVersion") .input_type("crate::geyser::GetVersionRequest") .output_type("crate::geyser::GetVersionResponse") - .codec_path("tonic::codec::ProstCodec") + .codec_path("tonic_prost::ProstCodec") .build(), ) .build(); From c1e8fb03af145b92f3168999fb263c4b8e4a94e8 Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Mon, 4 Aug 2025 15:50:39 -0400 Subject: [PATCH 08/11] removed unnecessary version pinning --- Cargo.toml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 261025c3..00e58a93 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ publish = false [workspace.dependencies] affinity = "~0.1.2" agave-geyser-plugin-interface = "~2.3.0" -anyhow = "1.0.62" +anyhow = "1" backoff = "~0.4.0" base64 = "~0.22.1" bincode = "1" @@ -53,25 +53,25 @@ prost = "~0.14.0" prost-types = "~0.14.0" prost_011 = { package = "prost", version = "0.11.9" } protobuf-src = "1.1.0" -serde = "1.0.145" -serde_json = "1.0.86" -solana-account = "~2.2.1" -solana-account-decoder = "~2.3.0" -solana-clock = "~2.2.1" -solana-hash = "~2.3.0" -solana-keypair = "~2.2.1" -solana-logger = "~2.3.0" -solana-message = "~2.4.0" -solana-pubkey = "~2.4.0" -solana-signature = "~2.3.0" -solana-signer = "~2.2.1" -solana-storage-proto = "~2.3.0" -solana-transaction = "~2.2.1" -solana-transaction-context = "~2.3.0" -solana-transaction-error = "~2.2.1" -solana-transaction-status = "~2.3.0" +serde = "~1.0.145" +serde_json = "~1.0.86" +solana-account = "2" +solana-account-decoder = "2" +solana-clock = "2" +solana-hash = "2" +solana-keypair = "2" +solana-logger = "2" +solana-message = "2" +solana-pubkey = "2" +solana-signature = "2" +solana-signer = "2" +solana-storage-proto = "2" +solana-transaction = "2" +solana-transaction-context = "2" +solana-transaction-error = "2" +solana-transaction-status = "2" smallvec = "1" -spl-token-2022 = "8.0.0" +spl-token-2022 = "8" thiserror = "1" tokio = "1" tokio-stream = "0.1.11" From add8349a6e08b1c9c3bc30981d168807ddf05216 Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Mon, 4 Aug 2025 16:03:38 -0400 Subject: [PATCH 09/11] client: bump to version 9 + use tls-ring --- Cargo.lock | 3 ++- examples/rust/Cargo.toml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ad48d355..dc5531e2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2733,6 +2733,7 @@ checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "log", "once_cell", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -5535,7 +5536,7 @@ dependencies = [ [[package]] name = "yellowstone-grpc-client-simple" -version = "8.0.0" +version = "9.0.0" dependencies = [ "anyhow", "backoff", diff --git a/examples/rust/Cargo.toml b/examples/rust/Cargo.toml index e5461b94..1f05a636 100644 --- a/examples/rust/Cargo.toml +++ b/examples/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yellowstone-grpc-client-simple" -version = "8.0.0" +version = "9.0.0" authors = { workspace = true } edition = { workspace = true } homepage = { workspace = true } @@ -31,7 +31,7 @@ solana-pubkey = { workspace = true } solana-signature = { workspace = true } solana-transaction-status = { workspace = true } tokio = { workspace = true, features = ["rt-multi-thread", "fs"] } -tonic = { workspace = true, features = ["zstd", "gzip"] } +tonic = { workspace = true, features = ["zstd", "gzip", "tls-native-roots", "tls-ring"] } yellowstone-grpc-client = { workspace = true } yellowstone-grpc-proto = { workspace = true, features = ["plugin"] } From 47db8860f9fabfab69842486b1969125189d6f93 Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Mon, 4 Aug 2025 16:09:45 -0400 Subject: [PATCH 10/11] CHANGELOG + cargo tree --- CHANGELOG.md | 15 ++++- Cargo.toml | 8 +-- .../solana-encoding-wasm/Cargo.lock | 65 +++++++++++++++---- .../solana-encoding-wasm/Cargo.toml | 2 +- 4 files changed, 73 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e69928b..e0e6fb3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,20 @@ The minor version will be incremented upon a breaking change and the patch versi ### Breaking -## 2025-07-01 + +## 2025-08-04 + +- yellowstone-grpc-geyser-9.0.0 +- yellowstone-grpc-client-simple-9.0.0 +- yellowstone-grpc-client-9.0.0 +- yellowstone-grpc-geyser-9.0.0 +- yellowstone-grpc-proto-9.0.0 + +### Breaking + +- Upgaded to tonic 0.14.0 which can break customer code if they rely on tonic to do something else. + +## 2025-08-01 - yellowstone-grpc-geyser-8.1.0 diff --git a/Cargo.toml b/Cargo.toml index 00e58a93..3c5d00b3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,10 @@ [workspace] resolver = "2" members = [ - "examples/rust", # 8.0.0 - "yellowstone-grpc-client", # 8.0.0 - "yellowstone-grpc-geyser", # 8.0.0 - "yellowstone-grpc-proto", # 8.0.0 + "examples/rust", # 9.0.0 + "yellowstone-grpc-client", # 9.0.0 + "yellowstone-grpc-geyser", # 9.0.0 + "yellowstone-grpc-proto", # 9.0.0 ] exclude = [ "yellowstone-grpc-client-nodejs/solana-encoding-wasm", # 3.0.0 diff --git a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock index 54682af4..094b053a 100644 --- a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock +++ b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.lock @@ -1029,9 +1029,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", "prost-derive", @@ -1039,9 +1039,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ "heck", "itertools 0.14.0", @@ -1052,6 +1052,8 @@ dependencies = [ "prettyplease", "prost", "prost-types", + "pulldown-cmark", + "pulldown-cmark-to-cmark", "regex", "syn 2.0.100", "tempfile", @@ -1059,9 +1061,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", "itertools 0.14.0", @@ -1072,9 +1074,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ "prost", ] @@ -1088,6 +1090,26 @@ dependencies = [ "autotools", ] +[[package]] +name = "pulldown-cmark" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark-to-cmark" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5b6a0769a491a08b31ea5c62494a8f144ee0987d86d670a8af4df1e1b7cde75" +dependencies = [ + "pulldown-cmark", +] + [[package]] name = "qstring" version = "0.7.2" @@ -3008,9 +3030,21 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" +checksum = "18262cdd13dec66e8e3f2e3fe535e4b2cc706fab444a7d3678d75d8ac2557329" +dependencies = [ + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.100", +] + +[[package]] +name = "tonic-prost-build" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "114cca66d757d72422ef8cccf8be3065321860ac9fa4be73aab37a8a20a9a805" dependencies = [ "prettyplease", "proc-macro2", @@ -3018,6 +3052,8 @@ dependencies = [ "prost-types", "quote", "syn 2.0.100", + "tempfile", + "tonic-build", ] [[package]] @@ -3026,6 +3062,12 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-ident" version = "1.0.18" @@ -3240,7 +3282,7 @@ dependencies = [ [[package]] name = "yellowstone-grpc-proto" -version = "8.0.0" +version = "9.0.0" dependencies = [ "anyhow", "bincode", @@ -3259,6 +3301,7 @@ dependencies = [ "solana-transaction-error", "solana-transaction-status", "tonic-build", + "tonic-prost-build", ] [[package]] diff --git a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml index f6b1b09f..579bb631 100644 --- a/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml +++ b/yellowstone-grpc-client-nodejs/solana-encoding-wasm/Cargo.toml @@ -16,7 +16,7 @@ crate-type = ["cdylib"] serde_json = "1.0.86" solana-transaction-status = "~2.3.0" wasm-bindgen = "0.2.100" -yellowstone-grpc-proto = { path = "../../yellowstone-grpc-proto", version = "8.0.0", default-features = false, features = ["convert"] } +yellowstone-grpc-proto = { path = "../../yellowstone-grpc-proto", version = "9.0.0", default-features = false, features = ["convert"] } [workspace.lints.clippy] clone_on_ref_ptr = "deny" From aaacacc17942e3919f4b210338ca89b09c0d9d1f Mon Sep 17 00:00:00 2001 From: Louis-Vincent Date: Tue, 5 Aug 2025 08:06:15 -0400 Subject: [PATCH 11/11] unpinned tokio-stream --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 3c5d00b3..97e4913a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -74,7 +74,7 @@ smallvec = "1" spl-token-2022 = "8" thiserror = "1" tokio = "1" -tokio-stream = "0.1.11" +tokio-stream = "~0.1.17" tonic = "~0.14.0" tonic-build = "~0.14.0" tonic-prost = "~0.14.0"