From e6414a9a098b32c3104c432ffeda45c8e43de342 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 16 Dec 2024 11:55:08 -0600 Subject: [PATCH] rpc: use protox to build proto files Use protox to build proto files so that the fds' can have a deterministic serialized format for comparison in CI. --- Cargo.lock | 108 +++++++++++++----- crates/sui-rpc-api/Cargo.toml | 2 +- .../src/proto/generated/sui.node.v2.fds.bin | Bin 100037 -> 38210 bytes crates/sui-rpc-api/tests/bootstrap.rs | 25 +++- 4 files changed, 102 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 924e0fd25c4af..0be7c0d3cf709 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2486,7 +2486,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -7367,12 +7367,13 @@ dependencies = [ [[package]] name = "miette" -version = "7.0.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98a72adfa0c7ae88ba0abcbd00047a476616c66b831d628b8ac7f1e9de0cfd67" +checksum = "4edc8853320c2a0dab800fbda86253c8938f6ea88510dc92c5f1ed20e794afc1" dependencies = [ "backtrace", "backtrace-ext", + "cfg-if", "miette-derive", "owo-colors 4.0.0", "supports-color", @@ -7386,9 +7387,9 @@ dependencies = [ [[package]] name = "miette-derive" -version = "7.0.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279def6bf114a34b3cf887489eb440d4dfcf709ab3ce9955e4a6f957ce5cce77" +checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c" dependencies = [ "proc-macro2 1.0.87", "quote 1.0.37", @@ -10289,6 +10290,19 @@ dependencies = [ "syn 2.0.79", ] +[[package]] +name = "prost-reflect" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ae544fca2892fd4b7e9ff26cba1090cedf1d4d95c2aded1af15d2f93f270b8" +dependencies = [ + "logos", + "miette", + "once_cell", + "prost 0.13.3", + "prost-types 0.13.3", +] + [[package]] name = "prost-types" version = "0.12.3" @@ -10316,6 +10330,33 @@ dependencies = [ "bytes", ] +[[package]] +name = "protox" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "873f359bdecdfe6e353752f97cb9ee69368df55b16363ed2216da85e03232a58" +dependencies = [ + "bytes", + "miette", + "prost 0.13.3", + "prost-reflect", + "prost-types 0.13.3", + "protox-parse", + "thiserror", +] + +[[package]] +name = "protox-parse" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3a462d115462c080ae000c29a47f0b3985737e5d3a995fcdbcaa5c782068dde" +dependencies = [ + "logos", + "miette", + "prost-types 0.13.3", + "thiserror", +] + [[package]] name = "psm" version = "0.1.21" @@ -15028,8 +15069,8 @@ dependencies = [ "prometheus", "proptest", "prost 0.13.3", - "prost-build", "prost-types 0.13.3", + "protox", "rand 0.8.5", "reqwest 0.12.5", "roaring", @@ -17964,7 +18005,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", ] [[package]] @@ -17999,17 +18040,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -18026,9 +18068,9 @@ checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -18044,9 +18086,9 @@ checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -18062,9 +18104,15 @@ checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -18080,9 +18128,9 @@ checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -18098,9 +18146,9 @@ checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -18116,9 +18164,9 @@ checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -18134,9 +18182,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" diff --git a/crates/sui-rpc-api/Cargo.toml b/crates/sui-rpc-api/Cargo.toml index bdddd9c25f2af..1c03e8c3b753c 100644 --- a/crates/sui-rpc-api/Cargo.toml +++ b/crates/sui-rpc-api/Cargo.toml @@ -49,7 +49,7 @@ tonic-reflection.workspace = true [dev-dependencies] diffy = "0.3" -prost-build = "0.13.3" +protox = "0.7" tonic-build = "0.12.3" sui-sdk-types = { workspace = true, features = ["proptest"] } test-strategy = "0.4.0" diff --git a/crates/sui-rpc-api/src/proto/generated/sui.node.v2.fds.bin b/crates/sui-rpc-api/src/proto/generated/sui.node.v2.fds.bin index ae6b1f91bbcbf768b635c16ef3a771699cb393ce..a164c2dd18ba188a12f418170a520a43427f26e9 100644 GIT binary patch delta 79 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 dS59v2rwZj%`<_b70ZU-=@2O