diff --git a/Cargo.lock b/Cargo.lock index c3b6bd772c6a1..0cec04561d172 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -86,15 +86,16 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.2" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6ccdb167abbf410dcb915cabd428929d7f6a04980b54a11f26a39f1c7f7107" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "const-random", "getrandom 0.2.9", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -169,7 +170,7 @@ dependencies = [ "ed25519 1.5.3", "futures", "hex", - "http", + "http 0.2.9", "matchit 0.5.0", "pin-project-lite", "pkcs8 0.9.0", @@ -556,9 +557,9 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "arrow" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa285343fba4d829d49985bdc541e3789cf6000ed0e84be7c039438df4a4e78c" +checksum = "05048a8932648b63f21c37d88b552ccc8a65afb6dfe9fc9f30ce79174c2e7a85" dependencies = [ "arrow-arith", "arrow-array", @@ -577,9 +578,9 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "753abd0a5290c1bcade7c6623a556f7d1659c5f4148b140b5b63ce7bd1a45705" +checksum = "1d8a57966e43bfe9a3277984a14c24ec617ad874e4c0e1d2a1b083a39cfbf22c" dependencies = [ "arrow-array", "arrow-buffer", @@ -592,25 +593,25 @@ dependencies = [ [[package]] name = "arrow-array" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d390feeb7f21b78ec997a4081a025baef1e2e0d6069e181939b61864c9779609" +checksum = "16f4a9468c882dc66862cef4e1fd8423d47e67972377d85d80e022786427768c" dependencies = [ - "ahash 0.8.2", + "ahash 0.8.11", "arrow-buffer", "arrow-data", "arrow-schema", "chrono", "half 2.3.1", - "hashbrown 0.14.1", + "hashbrown 0.14.5", "num", ] [[package]] name = "arrow-buffer" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69615b061701bcdffbc62756bc7e85c827d5290b472b580c972ebbbf690f5aa4" +checksum = "c975484888fc95ec4a632cdc98be39c085b1bb518531b0c80c5d462063e5daa1" dependencies = [ "bytes", "half 2.3.1", @@ -619,27 +620,29 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e448e5dd2f4113bf5b74a1f26531708f5edcacc77335b7066f9398f4bcf4cdef" +checksum = "da26719e76b81d8bc3faad1d4dbdc1bcc10d14704e63dc17fc9f3e7e1e567c8e" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "arrow-select", - "base64 0.21.2", + "atoi", + "base64 0.22.1", "chrono", "half 2.3.1", "lexical-core", "num", + "ryu", ] [[package]] name = "arrow-csv" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46af72211f0712612f5b18325530b9ad1bfbdc87290d5fbfd32a7da128983781" +checksum = "c13c36dc5ddf8c128df19bab27898eea64bf9da2b555ec1cd17a8ff57fba9ec2" dependencies = [ "arrow-array", "arrow-buffer", @@ -656,9 +659,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67d644b91a162f3ad3135ce1184d0a31c28b816a581e08f29e8e9277a574c64e" +checksum = "dd9d6f18c65ef7a2573ab498c374d8ae364b4a4edf67105357491c031f716ca5" dependencies = [ "arrow-buffer", "arrow-schema", @@ -668,9 +671,9 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03dea5e79b48de6c2e04f03f62b0afea7105be7b77d134f6c5414868feefb80d" +checksum = "e786e1cdd952205d9a8afc69397b317cfbb6e0095e445c69cda7e8da5c1eeb0f" dependencies = [ "arrow-array", "arrow-buffer", @@ -682,9 +685,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8950719280397a47d37ac01492e3506a8a724b3fb81001900b866637a829ee0f" +checksum = "fb22284c5a2a01d73cebfd88a33511a3234ab45d66086b2ca2d1228c3498e445" dependencies = [ "arrow-array", "arrow-buffer", @@ -702,9 +705,9 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed9630979034077982d8e74a942b7ac228f33dd93a93b615b4d02ad60c260be" +checksum = "42745f86b1ab99ef96d1c0bcf49180848a64fe2c7a7a0d945bc64fa2b21ba9bc" dependencies = [ "arrow-array", "arrow-buffer", @@ -717,32 +720,31 @@ dependencies = [ [[package]] name = "arrow-row" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "007035e17ae09c4e8993e4cb8b5b96edf0afb927cd38e2dff27189b274d83dcf" +checksum = "4cd09a518c602a55bd406bcc291a967b284cfa7a63edfbf8b897ea4748aad23c" dependencies = [ - "ahash 0.8.2", + "ahash 0.8.11", "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "half 2.3.1", - "hashbrown 0.14.1", ] [[package]] name = "arrow-schema" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ff3e9c01f7cd169379d269f926892d0e622a704960350d09d331be3ec9e0029" +checksum = "9e972cd1ff4a4ccd22f86d3e53e835c2ed92e0eea6a3e8eadb72b4f1ac802cf8" [[package]] name = "arrow-select" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce20973c1912de6514348e064829e50947e35977bb9d7fb637dc99ea9ffd78c" +checksum = "600bae05d43483d216fb3494f8c32fdbefd8aa4e1de237e790dbb3d9f44690a3" dependencies = [ - "ahash 0.8.2", + "ahash 0.8.11", "arrow-array", "arrow-buffer", "arrow-data", @@ -752,15 +754,16 @@ dependencies = [ [[package]] name = "arrow-string" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f3b37f2aeece31a2636d1b037dabb69ef590e03bdc7eb68519b51ec86932a7" +checksum = "f0dc1985b67cb45f6606a248ac2b4a288849f196bab8c657ea5589f47cdd55e6" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", "arrow-select", + "memchr", "num", "regex", "regex-syntax 0.8.2", @@ -831,7 +834,7 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" dependencies = [ - "brotli", + "brotli 3.3.4", "flate2", "futures-core", "memchr", @@ -872,7 +875,7 @@ dependencies = [ "futures-timer", "futures-util", "handlebars", - "http", + "http 0.2.9", "indexmap 2.1.0", "lru 0.7.8", "mime", @@ -1039,6 +1042,21 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "atomic_float" version = "0.1.0" @@ -1108,8 +1126,8 @@ dependencies = [ "bytes", "fastrand 2.0.0", "hex", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "ring 0.16.20", "time", "tokio", @@ -1143,8 +1161,8 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", "lazy_static", "percent-encoding", "pin-project-lite", @@ -1167,7 +1185,7 @@ dependencies = [ "aws-smithy-types", "aws-types", "fastrand 2.0.0", - "http", + "http 0.2.9", "percent-encoding", "tracing", "uuid 1.2.2", @@ -1192,7 +1210,7 @@ dependencies = [ "aws-types", "bytes", "fastrand 2.0.0", - "http", + "http 0.2.9", "regex", "tokio-stream", "tracing", @@ -1218,7 +1236,7 @@ dependencies = [ "aws-smithy-xml", "aws-types", "fastrand 2.0.0", - "http", + "http 0.2.9", "regex", "tokio-stream", "tracing", @@ -1246,8 +1264,8 @@ dependencies = [ "aws-smithy-xml", "aws-types", "bytes", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", "once_cell", "percent-encoding", "regex", @@ -1274,7 +1292,7 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "http", + "http 0.2.9", "regex", "tokio-stream", "tracing", @@ -1299,7 +1317,7 @@ dependencies = [ "aws-smithy-types", "aws-smithy-xml", "aws-types", - "http", + "http 0.2.9", "regex", "tracing", ] @@ -1316,7 +1334,7 @@ dependencies = [ "form_urlencoded", "hex", "hmac 0.12.1", - "http", + "http 0.2.9", "once_cell", "percent-encoding", "regex", @@ -1349,9 +1367,9 @@ dependencies = [ "crc32c", "crc32fast", "hex", - "http", - "http-body", - "md-5 0.10.5", + "http 0.2.9", + "http-body 0.4.5", + "md-5 0.10.6", "pin-project-lite", "sha1", "sha2 0.10.6", @@ -1370,9 +1388,9 @@ dependencies = [ "aws-smithy-types", "bytes", "fastrand 2.0.0", - "http", - "http-body", - "hyper", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "hyper-rustls 0.24.0", "lazy_static", "pin-project-lite", @@ -1404,9 +1422,9 @@ dependencies = [ "bytes", "bytes-utils", "futures-core", - "http", - "http-body", - "hyper", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "once_cell", "percent-encoding", "pin-project-lite", @@ -1425,8 +1443,8 @@ dependencies = [ "aws-smithy-http", "aws-smithy-types", "bytes", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", "pin-project-lite", "tower", "tracing", @@ -1464,8 +1482,8 @@ dependencies = [ "aws-smithy-types", "bytes", "fastrand 2.0.0", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", "once_cell", "pin-project-lite", "pin-utils", @@ -1483,7 +1501,7 @@ dependencies = [ "aws-smithy-http", "aws-smithy-types", "bytes", - "http", + "http 0.2.9", "tokio", "tracing", ] @@ -1522,7 +1540,7 @@ dependencies = [ "aws-smithy-client", "aws-smithy-http", "aws-smithy-types", - "http", + "http 0.2.9", "rustc_version", "tracing", ] @@ -1540,9 +1558,9 @@ dependencies = [ "bytes", "futures-util", "headers", - "http", - "http-body", - "hyper", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "itoa", "matchit 0.7.0", "memchr", @@ -1572,8 +1590,8 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", "mime", "rustversion", "tower-layer", @@ -1589,7 +1607,7 @@ dependencies = [ "axum", "bytes", "futures-util", - "http", + "http 0.2.9", "mime", "pin-project-lite", "tokio", @@ -1608,9 +1626,9 @@ dependencies = [ "arc-swap", "bytes", "futures-util", - "http", - "http-body", - "hyper", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "pin-project-lite", "rustls 0.21.11", "rustls-pemfile 1.0.2", @@ -1687,6 +1705,12 @@ version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64-simd" version = "0.8.0" @@ -2033,7 +2057,18 @@ checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", - "brotli-decompressor", + "brotli-decompressor 2.3.2", +] + +[[package]] +name = "brotli" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor 4.0.1", ] [[package]] @@ -2046,6 +2081,16 @@ dependencies = [ "alloc-stdlib", ] +[[package]] +name = "brotli-decompressor" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + [[package]] name = "bs58" version = "0.4.0" @@ -2309,9 +2354,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -2319,7 +2364,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.0", + "windows-targets 0.52.0", ] [[package]] @@ -2696,9 +2741,9 @@ checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" [[package]] name = "const-random" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11df32a13d7892ec42d51d3d175faba5211ffe13ed25d4fb348ac9e9ce835593" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ "const-random-macro", ] @@ -2735,8 +2780,8 @@ dependencies = [ "chrono", "flate2", "futures-util", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "hyperlocal", "log", "mime", @@ -3253,7 +3298,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.1", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core 0.9.9", @@ -3689,8 +3734,8 @@ dependencies = [ "containers-api", "docker-api-stubs", "futures-util", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "log", "paste", "serde", @@ -3943,6 +3988,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "enum-as-inner" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +dependencies = [ + "heck 0.4.1", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", +] + [[package]] name = "enum-compat-util" version = "0.1.0" @@ -4184,7 +4241,7 @@ dependencies = [ "proc-macro2 1.0.78", "quote 1.0.35", "regex", - "reqwest", + "reqwest 0.11.20", "serde", "serde_json", "syn 1.0.107", @@ -4249,7 +4306,7 @@ checksum = "8920b59cf81e357df2c8102d6a9dc81c2d68f7409543ff3b6868851ecf007807" dependencies = [ "ethers-core", "getrandom 0.2.9", - "reqwest", + "reqwest 0.11.20", "semver 1.0.16", "serde", "serde_json", @@ -4274,7 +4331,7 @@ dependencies = [ "futures-locks", "futures-util", "instant", - "reqwest", + "reqwest 0.11.20", "serde", "serde_json", "thiserror", @@ -4302,11 +4359,11 @@ dependencies = [ "getrandom 0.2.9", "hashers", "hex", - "http", + "http 0.2.9", "instant", "once_cell", "pin-project", - "reqwest", + "reqwest 0.11.20", "serde", "serde_json", "thiserror", @@ -4394,7 +4451,7 @@ dependencies = [ [[package]] name = "fastcrypto" version = "0.1.8" -source = "git+https://github.com/MystenLabs/fastcrypto?rev=878492bd2541dce1491791bcadf3cc855ddcdc05#878492bd2541dce1491791bcadf3cc855ddcdc05" +source = "git+https://github.com/MystenLabs/fastcrypto?rev=d72e9a37037a3274ecc76b262f4fe66915eca35b#d72e9a37037a3274ecc76b262f4fe66915eca35b" dependencies = [ "aes", "aes-gcm", @@ -4449,7 +4506,7 @@ dependencies = [ [[package]] name = "fastcrypto-derive" version = "0.1.3" -source = "git+https://github.com/MystenLabs/fastcrypto?rev=878492bd2541dce1491791bcadf3cc855ddcdc05#878492bd2541dce1491791bcadf3cc855ddcdc05" +source = "git+https://github.com/MystenLabs/fastcrypto?rev=d72e9a37037a3274ecc76b262f4fe66915eca35b#d72e9a37037a3274ecc76b262f4fe66915eca35b" dependencies = [ "quote 1.0.35", "syn 1.0.107", @@ -4458,7 +4515,7 @@ dependencies = [ [[package]] name = "fastcrypto-tbls" version = "0.1.0" -source = "git+https://github.com/MystenLabs/fastcrypto?rev=878492bd2541dce1491791bcadf3cc855ddcdc05#878492bd2541dce1491791bcadf3cc855ddcdc05" +source = "git+https://github.com/MystenLabs/fastcrypto?rev=d72e9a37037a3274ecc76b262f4fe66915eca35b#d72e9a37037a3274ecc76b262f4fe66915eca35b" dependencies = [ "bcs", "digest 0.10.7", @@ -4476,7 +4533,7 @@ dependencies = [ [[package]] name = "fastcrypto-zkp" version = "0.1.3" -source = "git+https://github.com/MystenLabs/fastcrypto?rev=878492bd2541dce1491791bcadf3cc855ddcdc05#878492bd2541dce1491791bcadf3cc855ddcdc05" +source = "git+https://github.com/MystenLabs/fastcrypto?rev=d72e9a37037a3274ecc76b262f4fe66915eca35b#d72e9a37037a3274ecc76b262f4fe66915eca35b" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -4497,7 +4554,7 @@ dependencies = [ "neptune", "num-bigint 0.4.4", "once_cell", - "reqwest", + "reqwest 0.12.4", "schemars", "serde", "serde_json", @@ -4658,9 +4715,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flatbuffers" -version = "23.5.26" +version = "24.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640" +checksum = "8add37afff2d4ffa83bc748a70b4b1370984f6980768554182424ef71447c35f" dependencies = [ "bitflags 1.3.2", "rustc_version", @@ -4693,9 +4750,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -4875,10 +4932,10 @@ dependencies = [ "async-stream", "async-trait", "dyn-clone", - "hyper", + "hyper 0.14.26", "hyper-rustls 0.24.0", "log", - "reqwest", + "reqwest 0.11.20", "serde", "serde_json", "thiserror", @@ -5097,7 +5154,26 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", + "http 0.2.9", + "indexmap 2.1.0", + "slab", + "tokio", + "tokio-util 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", "indexmap 2.1.0", "slab", "tokio", @@ -5179,16 +5255,16 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.2", + "ahash 0.8.11", ] [[package]] name = "hashbrown" -version = "0.14.1" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.2", + "ahash 0.8.11", "allocator-api2", ] @@ -5225,7 +5301,7 @@ dependencies = [ "bitflags 1.3.2", "bytes", "headers-core", - "http", + "http 0.2.9", "httpdate", "mime", "sha1", @@ -5237,7 +5313,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" dependencies = [ - "http", + "http 0.2.9", ] [[package]] @@ -5342,6 +5418,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" version = "0.4.5" @@ -5349,7 +5436,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", - "http", + "http 0.2.9", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", "pin-project-lite", ] @@ -5387,9 +5497,9 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", "httparse", "httpdate", "itoa", @@ -5401,17 +5511,37 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "log", "rustls 0.20.7", - "rustls-native-certs", + "rustls-native-certs 0.6.2", "tokio", "tokio-rustls 0.23.4", "webpki-roots 0.22.6", @@ -5423,28 +5553,65 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7" dependencies = [ - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "log", "rustls 0.21.11", - "rustls-native-certs", + "rustls-native-certs 0.6.2", "tokio", "tokio-rustls 0.24.0", "webpki-roots 0.23.1", ] +[[package]] +name = "hyper-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +dependencies = [ + "futures-util", + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "rustls 0.22.2", + "rustls-pki-types", + "tokio", + "tokio-rustls 0.25.0", + "tower-service", +] + [[package]] name = "hyper-timeout" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper", + "hyper 0.14.26", "pin-project-lite", "tokio", "tokio-io-timeout", ] +[[package]] +name = "hyper-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", + "socket2 0.5.6", + "tokio", + "tower", + "tower-service", + "tracing", +] + [[package]] name = "hyperlocal" version = "0.8.0" @@ -5453,7 +5620,7 @@ checksum = "0fafdf7b2b2de7c9784f76e02c0935e65a8117ec3b768644379983ab333ac98c" dependencies = [ "futures-util", "hex", - "hyper", + "hyper 0.14.26", "pin-project", "tokio", ] @@ -5490,9 +5657,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -5618,7 +5785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.1", + "hashbrown 0.14.5", "serde", ] @@ -5825,6 +5992,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.5" @@ -5911,11 +6087,11 @@ version = "0.16.2" source = "git+https://github.com/wlmyng/jsonrpsee.git?rev=b1b300784795f6a64d0fcdf8f03081a9bc38bde8#b1b300784795f6a64d0fcdf8f03081a9bc38bde8" dependencies = [ "futures-util", - "http", + "http 0.2.9", "jsonrpsee-core", "jsonrpsee-types", "pin-project", - "rustls-native-certs", + "rustls-native-certs 0.6.2", "soketto", "thiserror", "tokio", @@ -5939,7 +6115,7 @@ dependencies = [ "futures-timer", "futures-util", "globset", - "hyper", + "hyper 0.14.26", "jsonrpsee-types", "parking_lot 0.12.1", "rand 0.8.5", @@ -5958,7 +6134,7 @@ version = "0.16.2" source = "git+https://github.com/wlmyng/jsonrpsee.git?rev=b1b300784795f6a64d0fcdf8f03081a9bc38bde8#b1b300784795f6a64d0fcdf8f03081a9bc38bde8" dependencies = [ "async-trait", - "hyper", + "hyper 0.14.26", "hyper-rustls 0.23.2", "jsonrpsee-core", "jsonrpsee-types", @@ -5989,8 +6165,8 @@ source = "git+https://github.com/wlmyng/jsonrpsee.git?rev=b1b300784795f6a64d0fcd dependencies = [ "futures-channel", "futures-util", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "jsonrpsee-core", "jsonrpsee-types", "serde", @@ -6021,7 +6197,7 @@ name = "jsonrpsee-ws-client" version = "0.16.2" source = "git+https://github.com/wlmyng/jsonrpsee.git?rev=b1b300784795f6a64d0fcdf8f03081a9bc38bde8#b1b300784795f6a64d0fcdf8f03081a9bc38bde8" dependencies = [ - "http", + "http 0.2.9", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", @@ -6392,10 +6568,11 @@ dependencies = [ [[package]] name = "md-5" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ + "cfg-if", "digest 0.10.7", ] @@ -6407,9 +6584,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.5.0" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -7344,7 +7521,7 @@ dependencies = [ [[package]] name = "msim" version = "0.1.0" -source = "git+https://github.com/MystenLabs/mysten-sim.git?rev=6f88ec84644cb1a6809c010f1f534d0d09e0cd89#6f88ec84644cb1a6809c010f1f534d0d09e0cd89" +source = "git+https://github.com/MystenLabs/mysten-sim.git?rev=291cebe772727338f474a020e094b4ecb7ba1fe9#291cebe772727338f474a020e094b4ecb7ba1fe9" dependencies = [ "ahash 0.7.6", "async-task", @@ -7373,7 +7550,7 @@ dependencies = [ [[package]] name = "msim-macros" version = "0.1.0" -source = "git+https://github.com/MystenLabs/mysten-sim.git?rev=6f88ec84644cb1a6809c010f1f534d0d09e0cd89#6f88ec84644cb1a6809c010f1f534d0d09e0cd89" +source = "git+https://github.com/MystenLabs/mysten-sim.git?rev=291cebe772727338f474a020e094b4ecb7ba1fe9#291cebe772727338f474a020e094b4ecb7ba1fe9" dependencies = [ "darling 0.14.2", "proc-macro2 1.0.78", @@ -7390,7 +7567,7 @@ dependencies = [ "bytes", "encoding_rs", "futures-util", - "http", + "http 0.2.9", "httparse", "log", "memchr", @@ -7506,7 +7683,7 @@ dependencies = [ "bytes", "eyre", "futures", - "http", + "http 0.2.9", "multiaddr", "pin-project-lite", "serde", @@ -7710,7 +7887,7 @@ dependencies = [ "pretty_assertions", "prometheus", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "serde-reflection", "serde_yaml 0.8.26", "sui-keys", @@ -7764,7 +7941,7 @@ dependencies = [ "prometheus", "proptest", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "sui-macros", "sui-protocol-config", "tap", @@ -7907,7 +8084,7 @@ dependencies = [ "narwhal-types", "prometheus", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "sui-protocol-config", "tap", "telemetry-subscribers", @@ -8186,6 +8363,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-derive" version = "0.3.3" @@ -8318,54 +8501,26 @@ dependencies = [ [[package]] name = "object_store" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d359e231e5451f4f9fa889d56e3ce34f8724f1a61db2107739359717cf2bbf08" -dependencies = [ - "async-trait", - "base64 0.21.2", - "bytes", - "chrono", - "futures", - "humantime", - "hyper", - "itertools 0.10.5", - "parking_lot 0.12.1", - "percent-encoding", - "quick-xml 0.28.2", - "rand 0.8.5", - "reqwest", - "ring 0.16.20", - "rustls-pemfile 1.0.2", - "serde", - "serde_json", - "snafu", - "tokio", - "tracing", - "url", - "walkdir", -] - -[[package]] -name = "object_store" -version = "0.9.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d139f545f64630e2e3688fd9f81c470888ab01edeb72d13b4e86c566f1130000" +checksum = "e6da452820c715ce78221e8202ccc599b4a52f3e1eb3eedb487b680c81a8e3f3" dependencies = [ "async-trait", - "base64 0.21.2", + "base64 0.22.1", "bytes", "chrono", "futures", "humantime", - "hyper", - "itertools 0.12.0", + "hyper 1.4.1", + "itertools 0.13.0", + "md-5 0.10.6", "parking_lot 0.12.1", "percent-encoding", - "quick-xml 0.31.0", + "quick-xml", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "ring 0.17.3", + "rustls-pemfile 2.1.1", "serde", "serde_json", "snafu", @@ -8472,7 +8627,7 @@ checksum = "7e5e5a5c4135864099f3faafbe939eb4d7f9b80ebf68a8448da961b32a7c1275" dependencies = [ "async-trait", "futures-core", - "http", + "http 0.2.9", "opentelemetry-proto", "opentelemetry-semantic-conventions", "opentelemetry_api 0.20.0", @@ -8797,11 +8952,11 @@ dependencies = [ [[package]] name = "parquet" -version = "50.0.0" +version = "52.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "547b92ebf0c1177e3892f44c8f79757ee62e678d564a9834189725f2c5b7a750" +checksum = "e977b9066b4d3b03555c22bdc442f3fadebd96a39111249113087d0edb2691cd" dependencies = [ - "ahash 0.8.2", + "ahash 0.8.11", "arrow-array", "arrow-buffer", "arrow-cast", @@ -8809,13 +8964,13 @@ dependencies = [ "arrow-ipc", "arrow-schema", "arrow-select", - "base64 0.21.2", - "brotli", + "base64 0.22.1", + "brotli 6.0.0", "bytes", "chrono", "flate2", "half 2.3.1", - "hashbrown 0.14.1", + "hashbrown 0.14.5", "lz4_flex", "num", "num-bigint 0.4.4", @@ -8825,6 +8980,7 @@ dependencies = [ "thrift", "twox-hash", "zstd 0.13.0", + "zstd-sys", ] [[package]] @@ -8928,9 +9084,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" @@ -9422,13 +9578,14 @@ dependencies = [ [[package]] name = "prometheus-http-query" -version = "0.6.6" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7970fd6e91b5cb87e9a093657572a896d133879ced7752d2c7635beae29eaba0" +checksum = "0fcebfa99f03ae51220778316b37d24981e36322c82c24848f48c5bd0f64cbdb" dependencies = [ - "reqwest", + "enum-as-inner", + "mime", + "reqwest 0.12.4", "serde", - "serde_json", "time", "url", ] @@ -9621,19 +9778,9 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quick-xml" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "quick-xml" -version = "0.31.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc" dependencies = [ "memchr", "serde", @@ -10001,33 +10148,75 @@ version = "0.11.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" dependencies = [ - "async-compression 0.4.6", "base64 0.21.2", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "hyper-rustls 0.24.0", "ipnet", "js-sys", "log", "mime", - "mime_guess", "once_cell", "percent-encoding", "pin-project-lite", "rustls 0.21.11", - "rustls-native-certs", "rustls-pemfile 1.0.2", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-rustls 0.24.0", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.25.2", + "winreg 0.50.0", +] + +[[package]] +name = "reqwest" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +dependencies = [ + "async-compression 0.4.6", + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls 0.26.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.22.2", + "rustls-native-certs 0.7.1", + "rustls-pemfile 2.1.1", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls 0.25.0", "tokio-util 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", "tower-service", "url", @@ -10035,43 +10224,42 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.25.2", - "winreg", + "webpki-roots 0.26.3", + "winreg 0.52.0", ] [[package]] name = "reqwest-middleware" -version = "0.2.4" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a3e86aa6053e59030e7ce2d2a3b258dd08fc2d337d52f73f6cb480f5858690" +checksum = "39346a33ddfe6be00cbc17a34ce996818b97b230b87229f10114693becca1268" dependencies = [ "anyhow", "async-trait", - "http", - "reqwest", + "http 1.1.0", + "reqwest 0.12.4", "serde", - "task-local-extensions", "thiserror", + "tower-service", ] [[package]] name = "reqwest-retry" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9af20b65c2ee9746cc575acb6bd28a05ffc0d15e25c992a8f4462d8686aacb4f" +checksum = "40f342894422862af74c50e1e9601cf0931accc9c6981e5eb413c46603b616b5" dependencies = [ "anyhow", "async-trait", "chrono", "futures", "getrandom 0.2.9", - "http", - "hyper", + "http 1.1.0", + "hyper 1.4.1", "parking_lot 0.11.2", - "reqwest", + "reqwest 0.12.4", "reqwest-middleware", "retry-policies", - "task-local-extensions", "tokio", "tracing", "wasm-timer", @@ -10085,9 +10273,9 @@ checksum = "8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086" [[package]] name = "retry-policies" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17dd00bff1d737c40dbcd47d4375281bf4c17933f9eef0a185fc7bacca23ecbd" +checksum = "493b4243e32d6eedd29f9a398896e35c6943a123b55eec97dcaee98310d25810" dependencies = [ "anyhow", "chrono", @@ -10286,8 +10474,8 @@ dependencies = [ "bytes", "crc32fast", "futures", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "hyper-rustls 0.23.2", "lazy_static", "log", @@ -10310,7 +10498,7 @@ dependencies = [ "chrono", "dirs-next", "futures", - "hyper", + "hyper 0.14.26", "serde", "serde_json", "shlex", @@ -10345,8 +10533,8 @@ dependencies = [ "futures", "hex", "hmac 0.11.0", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "log", "md-5 0.9.1", "percent-encoding", @@ -10576,6 +10764,19 @@ dependencies = [ "security-framework", ] +[[package]] +name = "rustls-native-certs" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.1.1", + "rustls-pki-types", + "schannel", + "security-framework", +] + [[package]] name = "rustls-pemfile" version = "1.0.2" @@ -10687,9 +10888,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "salsa20" @@ -11463,25 +11664,27 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snowflake-api" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e20db2ea77690628e34db7a6f63f539557195afbbc3cd349a8cbe293e1fffc" +checksum = "1c7f29746a86845a74953b3728029b378c9bac2fb15c2defd54a8177cabcc452" dependencies = [ "arrow", "async-trait", - "base64 0.21.2", + "base64 0.22.1", "bytes", "futures", + "glob", "log", - "object_store 0.9.0", + "object_store", "regex", - "reqwest", + "reqwest 0.12.4", "reqwest-middleware", "reqwest-retry", "serde", "serde_json", "snowflake-jwt", "thiserror", + "tokio", "url", "uuid 1.2.2", ] @@ -11530,7 +11733,7 @@ dependencies = [ "base64 0.13.1", "bytes", "futures", - "http", + "http 0.2.9", "httparse", "log", "rand 0.8.5", @@ -11738,7 +11941,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "regex", - "reqwest", + "reqwest 0.12.4", "rusoto_core", "rusoto_kms", "rustyline", @@ -11922,7 +12125,7 @@ dependencies = [ "move-core-types", "mysten-metrics", "num_enum 0.6.1", - "object_store 0.7.0", + "object_store", "parquet", "prometheus", "rocksdb", @@ -11977,7 +12180,7 @@ dependencies = [ "move-core-types", "move-package", "num_enum 0.6.1", - "object_store 0.7.0", + "object_store", "prometheus", "rand 0.8.5", "serde", @@ -12023,7 +12226,7 @@ dependencies = [ "narwhal-config", "prettytable-rs", "prometheus-parse", - "reqwest", + "reqwest 0.12.4", "russh", "russh-keys", "serde", @@ -12111,7 +12314,7 @@ dependencies = [ "once_cell", "prometheus", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "rocksdb", "serde", "serde_json", @@ -12149,7 +12352,7 @@ dependencies = [ "move-core-types", "prometheus", "regex", - "reqwest", + "reqwest 0.12.4", "serde_json", "shared-crypto", "sui", @@ -12198,11 +12401,11 @@ dependencies = [ "fastcrypto", "insta", "narwhal-config", - "object_store 0.7.0", + "object_store", "once_cell", "prometheus", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "serde", "serde_with", "serde_yaml 0.8.26", @@ -12267,14 +12470,14 @@ dependencies = [ "narwhal-worker", "num-bigint 0.4.4", "num_cpus", - "object_store 0.7.0", + "object_store", "once_cell", "parking_lot 0.12.1", "pprof", "pretty_assertions", "prometheus", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "roaring", "rocksdb", "scopeguard", @@ -12358,7 +12561,7 @@ dependencies = [ "futures", "mysten-metrics", "notify", - "object_store 0.7.0", + "object_store", "prometheus", "rand 0.8.5", "serde", @@ -12386,7 +12589,7 @@ dependencies = [ "futures", "mysten-metrics", "notify", - "object_store 0.7.0", + "object_store", "prometheus", "rand 0.8.5", "serde", @@ -12520,7 +12723,7 @@ dependencies = [ "clap", "eyre", "futures", - "http", + "http 0.2.9", "mysten-metrics", "parking_lot 0.12.1", "prometheus", @@ -12671,8 +12874,8 @@ dependencies = [ "futures", "git-version", "hex", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "im", "insta", "itertools 0.10.5", @@ -12689,7 +12892,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "regex", - "reqwest", + "reqwest 0.12.4", "serde", "serde_json", "serde_with", @@ -12732,8 +12935,8 @@ version = "0.1.0" dependencies = [ "async-graphql", "axum", - "hyper", - "reqwest", + "hyper 0.14.26", + "reqwest 0.12.4", "serde_json", "sui-graphql-rpc-headers", "thiserror", @@ -12840,7 +13043,7 @@ dependencies = [ "eyre", "fastcrypto", "futures", - "hyper", + "hyper 0.14.26", "indexmap 2.1.0", "itertools 0.10.5", "jsonrpsee", @@ -12904,12 +13107,12 @@ dependencies = [ "anyhow", "async-trait", "bcs", - "hyper", + "hyper 0.14.26", "jsonrpsee", "move-package", "prometheus", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "sui-config", "sui-core", "sui-json", @@ -13027,7 +13230,7 @@ dependencies = [ "humantime", "once_cell", "prometheus-http-query", - "reqwest", + "reqwest 0.12.4", "serde", "serde_yaml 0.9.21", "strum_macros 0.24.3", @@ -13244,7 +13447,7 @@ dependencies = [ "narwhal-network", "narwhal-worker", "prometheus", - "reqwest", + "reqwest 0.12.4", "serde", "snap", "sui-archival", @@ -13321,7 +13524,7 @@ dependencies = [ "once_cell", "prometheus", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "serde", "serde_json", "shared-crypto", @@ -13355,7 +13558,7 @@ dependencies = [ "async-trait", "bcs", "eyre", - "hyper", + "hyper 0.14.26", "insta", "lru 0.10.0", "move-binary-format", @@ -13419,8 +13622,8 @@ dependencies = [ "fastcrypto", "git-version", "hex", - "http-body", - "hyper", + "http-body 0.4.5", + "hyper 0.14.26", "ipnetwork", "itertools 0.10.5", "mime", @@ -13432,7 +13635,7 @@ dependencies = [ "prost-build", "protobuf", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "rustls 0.21.11", "rustls-pemfile 1.0.2", "serde", @@ -13459,7 +13662,7 @@ dependencies = [ "bcs", "clap", "futures", - "http", + "http 0.2.9", "jsonrpsee", "lru 0.10.0", "move-binary-format", @@ -13505,7 +13708,7 @@ dependencies = [ "fastcrypto", "mime", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "serde", "serde_json", "serde_with", @@ -13528,12 +13731,12 @@ dependencies = [ "eyre", "fastcrypto", "futures", - "hyper", + "hyper 0.14.26", "move-core-types", "mysten-metrics", "once_cell", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "serde", "serde_json", "shared-crypto", @@ -13603,7 +13806,7 @@ dependencies = [ "jsonrpsee", "move-core-types", "rand 0.8.5", - "reqwest", + "reqwest 0.12.4", "serde", "serde_json", "serde_with", @@ -13634,7 +13837,7 @@ dependencies = [ "lexical-util", "mysten-metrics", "prometheus", - "reqwest", + "reqwest 0.12.4", "serde", "serde_json", "snowflake-api", @@ -13715,7 +13918,7 @@ dependencies = [ "indicatif", "integer-encoding", "num_enum 0.6.1", - "object_store 0.7.0", + "object_store", "prometheus", "serde", "serde_json", @@ -13772,7 +13975,7 @@ dependencies = [ "expect-test", "fs_extra", "git-version", - "hyper", + "hyper 0.14.26", "jsonrpsee", "move-compiler", "move-core-types", @@ -13780,7 +13983,7 @@ dependencies = [ "move-symbol-pool", "mysten-metrics", "prometheus", - "reqwest", + "reqwest 0.12.4", "serde", "sui", "sui-json-rpc-types", @@ -13816,7 +14019,7 @@ dependencies = [ "eyre", "fastcrypto", "futures", - "hyper", + "hyper 0.14.26", "hyper-rustls 0.24.0", "indicatif", "integer-encoding", @@ -13828,13 +14031,13 @@ dependencies = [ "mysten-metrics", "num_cpus", "num_enum 0.6.1", - "object_store 0.7.0", + "object_store", "once_cell", "parking_lot 0.12.1", "percent-encoding", "pretty_assertions", "prometheus", - "reqwest", + "reqwest 0.12.4", "rocksdb", "serde", "serde_json", @@ -13940,7 +14143,7 @@ dependencies = [ name = "sui-telemetry" version = "0.1.0" dependencies = [ - "reqwest", + "reqwest 0.12.4", "serde", "sui-core", "tracing", @@ -13966,7 +14169,7 @@ dependencies = [ "anyhow", "axum", "clap", - "http", + "http 0.2.9", "sui-cluster-test", "sui-faucet", "telemetry-subscribers", @@ -13988,7 +14191,7 @@ dependencies = [ "pkcs8 0.9.0", "rand 0.8.5", "rcgen", - "reqwest", + "reqwest 0.12.4", "rustls 0.21.11", "rustls-webpki 0.101.7", "tokio", @@ -14021,7 +14224,7 @@ dependencies = [ "narwhal-storage", "narwhal-types", "num_cpus", - "object_store 0.7.0", + "object_store", "prometheus", "rocksdb", "ron", @@ -14292,7 +14495,7 @@ dependencies = [ "move-core-types", "mysten-metrics", "notify", - "object_store 0.7.0", + "object_store", "prometheus", "rand 0.8.5", "serde", @@ -14328,7 +14531,7 @@ dependencies = [ "prettytable-rs", "rand 0.8.5", "regex", - "reqwest", + "reqwest 0.12.4", "semver 1.0.16", "serde", "serde_json", @@ -14528,15 +14731,6 @@ dependencies = [ "target-lexicon", ] -[[package]] -name = "task-local-extensions" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8" -dependencies = [ - "pin-utils", -] - [[package]] name = "telemetry-subscribers" version = "0.2.0" @@ -14763,13 +14957,14 @@ dependencies = [ [[package]] name = "time" -version = "0.3.31" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", "libc", + "num-conv", "num_threads", "powerfmt", "serde", @@ -14785,10 +14980,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -14989,7 +15185,7 @@ dependencies = [ "futures-io", "futures-sink", "futures-util", - "hashbrown 0.14.1", + "hashbrown 0.14.5", "pin-project-lite", "tokio", "tracing", @@ -15005,7 +15201,7 @@ dependencies = [ "futures-io", "futures-sink", "futures-util", - "hashbrown 0.14.1", + "hashbrown 0.14.5", "pin-project-lite", "real_tokio", "slab", @@ -15099,10 +15295,10 @@ dependencies = [ "bytes", "futures-core", "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "hyper-timeout", "percent-encoding", "pin-project", @@ -15126,10 +15322,10 @@ dependencies = [ "axum", "base64 0.21.2", "bytes", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "hyper-timeout", "percent-encoding", "pin-project", @@ -15153,10 +15349,10 @@ dependencies = [ "axum", "base64 0.21.2", "bytes", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.26", "hyper-timeout", "percent-encoding", "pin-project", @@ -15244,8 +15440,8 @@ dependencies = [ "bytes", "futures-core", "futures-util", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", "http-range-header", "httpdate", "iri-string", @@ -15476,7 +15672,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http", + "http 0.2.9", "httparse", "log", "rand 0.8.5", @@ -15601,9 +15797,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -15713,9 +15909,9 @@ dependencies = [ [[package]] name = "url" -version = "2.3.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -15913,9 +16109,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if", "js-sys", @@ -15954,9 +16150,9 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-streams" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" dependencies = [ "futures-util", "js-sys", @@ -15982,9 +16178,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -16024,6 +16220,15 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +[[package]] +name = "webpki-roots" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" version = "4.3.0" @@ -16315,6 +16520,16 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "ws_stream_wasm" version = "0.7.4" @@ -16436,8 +16651,8 @@ dependencies = [ "async-trait", "base64 0.13.1", "futures", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.26", "hyper-rustls 0.24.0", "itertools 0.10.5", "log", @@ -16453,6 +16668,26 @@ dependencies = [ "url", ] +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", +] + [[package]] name = "zeroize" version = "1.7.0" diff --git a/Cargo.toml b/Cargo.toml index 4668965be9281..84acd258a536f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -237,7 +237,8 @@ opt-level = 1 # Dependencies that should be kept in sync through the whole workspace [workspace.dependencies] anyhow = "1.0.71" -arrow-array = "50.0.0" +arrow = "52" +arrow-array = "52" arc-swap = { version = "1.5.1", features = ["serde"] } assert_cmd = "2.0.6" async-graphql = "6.0.7" @@ -376,8 +377,8 @@ moka = { version = "0.12", default-features = false, features = [ "atomic64", ] } more-asserts = "0.3.1" -msim = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "6f88ec84644cb1a6809c010f1f534d0d09e0cd89", package = "msim" } -msim-macros = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "6f88ec84644cb1a6809c010f1f534d0d09e0cd89", package = "msim-macros" } +msim = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "291cebe772727338f474a020e094b4ecb7ba1fe9", package = "msim" } +msim-macros = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "291cebe772727338f474a020e094b4ecb7ba1fe9", package = "msim-macros" } multiaddr = "0.17.0" nexlint = { git = "https://github.com/nextest-rs/nexlint.git", rev = "94da5c787636dad779c340affa65219134d127f5" } nexlint-lints = { git = "https://github.com/nextest-rs/nexlint.git", rev = "94da5c787636dad779c340affa65219134d127f5" } @@ -387,18 +388,18 @@ ntest = "0.9.0" num-bigint = "0.4.4" num_cpus = "1.15.0" num_enum = "0.6.1" -object_store = { version = "0.7", features = ["aws", "gcp", "azure", "http"] } +object_store = { version = "0.10", features = ["aws", "gcp", "azure", "http"] } once_cell = "1.18.0" ouroboros = "0.17" parking_lot = "0.12.1" -parquet = "50.0.0" +parquet = "52" pkcs8 = { version = "0.9.0", features = ["std"] } pprof = { version = "0.11.0", features = ["cpp", "frame-pointer"] } pretty_assertions = "1.3.0" prettytable-rs = "0.10.0" proc-macro2 = "1.0.47" prometheus = "0.13.3" -prometheus-http-query = { version = "0.6.6", default_features = false, features = [ +prometheus-http-query = { version = "0.8", default_features = false, features = [ "rustls-tls", ] } prometheus-parse = { git = "https://github.com/asonnino/prometheus-parser.git", rev = "75334db" } @@ -414,7 +415,7 @@ rand = "0.8.5" rayon = "1.5.3" rcgen = "0.9.2" regex = "1.7.1" -reqwest = { version = "0.11.20", default_features = false, features = [ +reqwest = { version = "0.12", default_features = false, features = [ "blocking", "json", "rustls-tls", @@ -465,6 +466,7 @@ similar = "2.4.0" slip10_ed25519 = "0.1.3" smallvec = "1.10.0" snap = "1.1.0" +snowflake-api = "0.9.0" static_assertions = "1.1.0" strum = { version = "0.24", features = ["derive"] } strum_macros = "0.24.3" @@ -503,7 +505,6 @@ tower-http = { version = "0.3.4", features = [ "set-header", "propagate-header", ] } -# tower-http = { version="0.4", features = ["trace"] } tower-layer = "0.3.2" twox-hash = "1.6.3" tracing = "0.1.37" @@ -522,7 +523,7 @@ ttl_cache = "0.5.1" uint = "0.9.4" unescape = "0.1.0" ureq = "2.9.1" -url = "2.3.1" +url = "2.5" uuid = { version = "1.1.2", features = ["v4", "fast-rng"] } webpki = { version = "0.101.0", package = "rustls-webpki", features = [ "alloc", @@ -560,9 +561,9 @@ move-stackless-bytecode = { path = "external-crates/move/crates/move-stackless-b move-symbol-pool = { path = "external-crates/move/crates/move-symbol-pool" } move-abstract-stack = { path = "external-crates/move/crates/move-abstract-stack" } -fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "878492bd2541dce1491791bcadf3cc855ddcdc05" } -fastcrypto-tbls = { git = "https://github.com/MystenLabs/fastcrypto", rev = "878492bd2541dce1491791bcadf3cc855ddcdc05" } -fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "878492bd2541dce1491791bcadf3cc855ddcdc05", package = "fastcrypto-zkp" } +fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "d72e9a37037a3274ecc76b262f4fe66915eca35b" } +fastcrypto-tbls = { git = "https://github.com/MystenLabs/fastcrypto", rev = "d72e9a37037a3274ecc76b262f4fe66915eca35b" } +fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "d72e9a37037a3274ecc76b262f4fe66915eca35b" } # anemo dependencies anemo = { git = "https://github.com/mystenlabs/anemo.git", rev = "26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7" } diff --git a/crates/mysten-service-boilerplate/Cargo-ext.toml b/crates/mysten-service-boilerplate/Cargo-ext.toml index 58014f8a08f47..fe577700f9b31 100644 --- a/crates/mysten-service-boilerplate/Cargo-ext.toml +++ b/crates/mysten-service-boilerplate/Cargo-ext.toml @@ -8,7 +8,7 @@ publish = false [dependencies] anyhow = "1.0.79" -axum = { version = "0.6.6", features = ["macros"] } +axum = { version = "0.7", features = ["macros"] } mysten-service = { git = "https://github.com/mystenlabs/sui.git", branch = "main", package = "mysten-service" } prometheus = "0.13.3" tracing = "0.1.40" diff --git a/crates/sui-analytics-indexer/Cargo.toml b/crates/sui-analytics-indexer/Cargo.toml index 0db3b59797ce9..f703413dfb2c1 100644 --- a/crates/sui-analytics-indexer/Cargo.toml +++ b/crates/sui-analytics-indexer/Cargo.toml @@ -51,10 +51,10 @@ move-bytecode-utils.workspace = true sui-json-rpc-types.workspace = true sui-package-resolver.workspace = true simulacrum.workspace = true -arrow = { version = "50.0.0"} +arrow.workspace = true gcp-bigquery-client = "0.18.0" -snowflake-api = { version = "0.7.0" } -tap = { version = "1.0.1", features = [] } +snowflake-api.workspace = true +tap.workspace = true [dev-dependencies] diff --git a/crates/sui-core/src/checkpoints/mod.rs b/crates/sui-core/src/checkpoints/mod.rs index 85ba015a2265e..e003c334f0456 100644 --- a/crates/sui-core/src/checkpoints/mod.rs +++ b/crates/sui-core/src/checkpoints/mod.rs @@ -1186,6 +1186,7 @@ impl CheckpointBuilder { transaction.inner().transaction_data().kind(), TransactionKind::ConsensusCommitPrologue(_) | TransactionKind::ConsensusCommitPrologueV2(_) + | TransactionKind::ConsensusCommitPrologueV3(_) | TransactionKind::AuthenticatorStateUpdate(_) | TransactionKind::RandomnessStateUpdate(_) ) { diff --git a/crates/sui-core/tests/staged/sui.yaml b/crates/sui-core/tests/staged/sui.yaml index 7a6153159bcee..0e758a2195727 100644 --- a/crates/sui-core/tests/staged/sui.yaml +++ b/crates/sui-core/tests/staged/sui.yaml @@ -237,6 +237,29 @@ ConsensusCommitPrologueV2: - commit_timestamp_ms: U64 - consensus_commit_digest: TYPENAME: ConsensusCommitDigest +ConsensusCommitPrologueV3: + STRUCT: + - epoch: U64 + - round: U64 + - sub_dag_index: + OPTION: U64 + - commit_timestamp_ms: U64 + - consensus_commit_digest: + TYPENAME: ConsensusCommitDigest + - consensus_determined_version_assignments: + TYPENAME: ConsensusDeterminedVersionAssignments +ConsensusDeterminedVersionAssignments: + ENUM: + 0: + CancelledTransactions: + NEWTYPE: + SEQ: + TUPLE: + - TYPENAME: TransactionDigest + - SEQ: + TUPLE: + - TYPENAME: ObjectID + - TYPENAME: SequenceNumber Data: ENUM: 0: @@ -973,6 +996,10 @@ TransactionKind: ConsensusCommitPrologueV2: NEWTYPE: TYPENAME: ConsensusCommitPrologueV2 + 8: + ConsensusCommitPrologueV3: + NEWTYPE: + TYPENAME: ConsensusCommitPrologueV3 TypeArgumentError: ENUM: 0: diff --git a/crates/sui-data-ingestion/src/workers/archival.rs b/crates/sui-data-ingestion/src/workers/archival.rs index 04bf5f475184c..461e888d8217c 100644 --- a/crates/sui-data-ingestion/src/workers/archival.rs +++ b/crates/sui-data-ingestion/src/workers/archival.rs @@ -119,7 +119,7 @@ impl ArchivalWorker { let bytes = finalize_manifest(manifest)?; self.remote_store - .put(&Path::from("MANIFEST"), bytes) + .put(&Path::from("MANIFEST"), bytes.into()) .await?; Ok(()) } @@ -134,7 +134,7 @@ impl ArchivalWorker { let mut cursor = Cursor::new(buffer); compress(&mut cursor, &mut compressed_buffer)?; self.remote_store - .put(&location, Bytes::from(compressed_buffer.clone())) + .put(&location, Bytes::from(compressed_buffer.clone()).into()) .await?; Ok(Bytes::from(compressed_buffer)) } diff --git a/crates/sui-data-ingestion/src/workers/blob.rs b/crates/sui-data-ingestion/src/workers/blob.rs index 24a1b546fee0b..f7367a8cf9b1e 100644 --- a/crates/sui-data-ingestion/src/workers/blob.rs +++ b/crates/sui-data-ingestion/src/workers/blob.rs @@ -38,7 +38,9 @@ impl Worker for BlobWorker { "{}.chk", checkpoint.checkpoint_summary.sequence_number )); - self.remote_store.put(&location, Bytes::from(bytes)).await?; + self.remote_store + .put(&location, Bytes::from(bytes).into()) + .await?; Ok(()) } } diff --git a/crates/sui-graphql-rpc-client/src/lib.rs b/crates/sui-graphql-rpc-client/src/lib.rs index d1615bb8a91b6..ad15df92712f7 100644 --- a/crates/sui-graphql-rpc-client/src/lib.rs +++ b/crates/sui-graphql-rpc-client/src/lib.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 use async_graphql::Value; -use hyper::header::ToStrError; +use reqwest::header::ToStrError; use serde_json::Number; pub mod response; diff --git a/crates/sui-graphql-rpc-client/src/response.rs b/crates/sui-graphql-rpc-client/src/response.rs index 870c0d21f9dc1..807861111d967 100644 --- a/crates/sui-graphql-rpc-client/src/response.rs +++ b/crates/sui-graphql-rpc-client/src/response.rs @@ -3,8 +3,7 @@ use super::ClientError; use async_graphql::{Response, ServerError, Value}; -use axum::http::HeaderName; -use hyper::HeaderMap; +use reqwest::header::{HeaderMap, HeaderName}; use reqwest::Response as ReqwestResponse; use serde_json::json; use std::{collections::BTreeMap, net::SocketAddr}; @@ -14,8 +13,8 @@ use sui_graphql_rpc_headers::VERSION_HEADER; pub struct GraphqlResponse { headers: HeaderMap, remote_address: Option, - http_version: hyper::Version, - status: hyper::StatusCode, + http_version: reqwest::Version, + status: reqwest::StatusCode, full_response: Response, } @@ -39,7 +38,7 @@ impl GraphqlResponse { pub fn graphql_version(&self) -> Result { Ok(self .headers - .get(&VERSION_HEADER) + .get(VERSION_HEADER.as_str()) .ok_or(ClientError::ServiceVersionHeaderNotFound)? .to_str() .map_err(|e| ClientError::ServiceVersionHeaderValueInvalidString { error: e })? @@ -58,11 +57,11 @@ impl GraphqlResponse { serde_json::to_string_pretty(&self.full_response).unwrap() } - pub fn http_status(&self) -> hyper::StatusCode { + pub fn http_status(&self) -> reqwest::StatusCode { self.status } - pub fn http_version(&self) -> hyper::Version { + pub fn http_version(&self) -> reqwest::Version { self.http_version } diff --git a/crates/sui-graphql-rpc-client/src/simple_client.rs b/crates/sui-graphql-rpc-client/src/simple_client.rs index 3fcfc9117334b..6f7d2054e5f8e 100644 --- a/crates/sui-graphql-rpc-client/src/simple_client.rs +++ b/crates/sui-graphql-rpc-client/src/simple_client.rs @@ -2,8 +2,8 @@ // SPDX-License-Identifier: Apache-2.0 use crate::ClientError; -use axum::http::HeaderValue; -use hyper::header; +use reqwest::header; +use reqwest::header::HeaderValue; use reqwest::Response; use serde_json::Value; use std::collections::BTreeMap; @@ -52,7 +52,10 @@ impl SimpleClient { mut headers: Vec<(header::HeaderName, header::HeaderValue)>, ) -> Result { if get_usage { - headers.push((LIMITS_HEADER.clone(), HeaderValue::from_static("true"))); + headers.push(( + LIMITS_HEADER.clone().as_str().try_into().unwrap(), + HeaderValue::from_static("true"), + )); } GraphqlResponse::from_resp(self.execute_impl(query, variables, headers, false).await?).await } diff --git a/crates/sui-graphql-rpc/src/server/builder.rs b/crates/sui-graphql-rpc/src/server/builder.rs index c5069aa2e0e20..8491aebcf368f 100644 --- a/crates/sui-graphql-rpc/src/server/builder.rs +++ b/crates/sui-graphql-rpc/src/server/builder.rs @@ -1080,10 +1080,10 @@ pub mod tests { server_builder.build_schema(); let resp = reqwest::get(&url).await.unwrap(); - assert_eq!(resp.status(), StatusCode::OK); + assert_eq!(resp.status(), reqwest::StatusCode::OK); let url_with_param = format!("{}?max_checkpoint_lag_ms=1", url); let resp = reqwest::get(&url_with_param).await.unwrap(); - assert_eq!(resp.status(), StatusCode::GATEWAY_TIMEOUT); + assert_eq!(resp.status(), reqwest::StatusCode::GATEWAY_TIMEOUT); } } diff --git a/crates/sui-graphql-rpc/src/types/transaction_block_kind/consensus_commit_prologue.rs b/crates/sui-graphql-rpc/src/types/transaction_block_kind/consensus_commit_prologue.rs index b71dd7066f58f..72eaad7c1d929 100644 --- a/crates/sui-graphql-rpc/src/types/transaction_block_kind/consensus_commit_prologue.rs +++ b/crates/sui-graphql-rpc/src/types/transaction_block_kind/consensus_commit_prologue.rs @@ -10,6 +10,8 @@ use sui_types::{ messages_consensus::{ ConsensusCommitPrologue as NativeConsensusCommitPrologueTransactionV1, ConsensusCommitPrologueV2 as NativeConsensusCommitPrologueTransactionV2, + ConsensusCommitPrologueV3 as NativeConsensusCommitPrologueTransactionV3, + ConsensusDeterminedVersionAssignments, }, }; @@ -22,10 +24,17 @@ use sui_types::{ pub(crate) struct ConsensusCommitPrologueTransaction { epoch: u64, round: u64, + /// The sub DAG index of the consensus commit. This field will be populated if there + /// are multiple consensus commits per round. + sub_dag_index: Option, commit_timestamp_ms: CheckpointTimestamp, consensus_commit_digest: Option, /// The checkpoint sequence number this was viewed at. checkpoint_viewed_at: u64, + /// Stores consensus handler determined shared object version assignments for transactions + /// within the consensus commit. + /// Note that currently it only stores cancelled transactions' version assignments. + consensus_determined_version_assignments: Option, } /// System transaction that runs at the beginning of a checkpoint, and is responsible for setting @@ -65,9 +74,11 @@ impl ConsensusCommitPrologueTransaction { Self { epoch: ccp.epoch, round: ccp.round, + sub_dag_index: None, commit_timestamp_ms: ccp.commit_timestamp_ms, consensus_commit_digest: None, checkpoint_viewed_at, + consensus_determined_version_assignments: None, } } @@ -78,9 +89,28 @@ impl ConsensusCommitPrologueTransaction { Self { epoch: ccp.epoch, round: ccp.round, + sub_dag_index: None, commit_timestamp_ms: ccp.commit_timestamp_ms, consensus_commit_digest: Some(ccp.consensus_commit_digest), checkpoint_viewed_at, + consensus_determined_version_assignments: None, + } + } + + pub(crate) fn from_v3( + ccp: NativeConsensusCommitPrologueTransactionV3, + checkpoint_viewed_at: u64, + ) -> Self { + Self { + epoch: ccp.epoch, + round: ccp.round, + sub_dag_index: ccp.sub_dag_index, + commit_timestamp_ms: ccp.commit_timestamp_ms, + consensus_commit_digest: Some(ccp.consensus_commit_digest), + checkpoint_viewed_at, + consensus_determined_version_assignments: Some( + ccp.consensus_determined_version_assignments, + ), } } } diff --git a/crates/sui-graphql-rpc/src/types/transaction_block_kind/mod.rs b/crates/sui-graphql-rpc/src/types/transaction_block_kind/mod.rs index a76007c0bfee7..ba176a1710193 100644 --- a/crates/sui-graphql-rpc/src/types/transaction_block_kind/mod.rs +++ b/crates/sui-graphql-rpc/src/types/transaction_block_kind/mod.rs @@ -56,6 +56,9 @@ impl TransactionBlockKind { K::ConsensusCommitPrologueV2(ccp) => T::ConsensusCommitPrologue( ConsensusCommitPrologueTransaction::from_v2(ccp, checkpoint_viewed_at), ), + K::ConsensusCommitPrologueV3(ccp) => T::ConsensusCommitPrologue( + ConsensusCommitPrologueTransaction::from_v3(ccp, checkpoint_viewed_at), + ), K::AuthenticatorStateUpdate(asu) => { T::AuthenticatorState(AuthenticatorStateUpdateTransaction { native: asu, diff --git a/crates/sui-graphql-rpc/tests/e2e_tests.rs b/crates/sui-graphql-rpc/tests/e2e_tests.rs index 5ec6c48705f27..69b7266ed73c4 100644 --- a/crates/sui-graphql-rpc/tests/e2e_tests.rs +++ b/crates/sui-graphql-rpc/tests/e2e_tests.rs @@ -159,7 +159,7 @@ mod tests { .unwrap(); assert_eq!(res.http_status().as_u16(), 200); - assert_eq!(res.http_version(), hyper::Version::HTTP_11); + assert_eq!(res.http_version(), reqwest::Version::HTTP_11); assert!(res.graphql_version().unwrap().len() >= 5); assert!(res.errors().is_empty()); diff --git a/crates/sui-json-rpc-types/src/sui_transaction.rs b/crates/sui-json-rpc-types/src/sui_transaction.rs index af61e95f2ff51..d5682af4bb889 100644 --- a/crates/sui-json-rpc-types/src/sui_transaction.rs +++ b/crates/sui-json-rpc-types/src/sui_transaction.rs @@ -33,6 +33,7 @@ use sui_types::error::{ExecutionError, SuiError, SuiResult}; use sui_types::execution_status::ExecutionStatus; use sui_types::gas::GasCostSummary; use sui_types::messages_checkpoint::CheckpointSequenceNumber; +use sui_types::messages_consensus::ConsensusDeterminedVersionAssignments; use sui_types::object::{MoveObject, Owner}; use sui_types::parse_sui_type_tag; use sui_types::quorum_driver_types::ExecuteTransactionRequestType; @@ -400,6 +401,7 @@ pub enum SuiTransactionBlockKind { /// The transaction which occurs only at the end of the epoch EndOfEpochTransaction(SuiEndOfEpochTransaction), ConsensusCommitPrologueV2(SuiConsensusCommitPrologueV2), + ConsensusCommitPrologueV3(SuiConsensusCommitPrologueV3), // .. more transaction types go here } @@ -434,6 +436,14 @@ impl Display for SuiTransactionBlockKind { p.epoch, p.round, p.commit_timestamp_ms, p.consensus_commit_digest )?; } + Self::ConsensusCommitPrologueV3(p) => { + writeln!(writer, "Transaction Kind: Consensus Commit Prologue V3")?; + writeln!( + writer, + "Epoch: {}, Round: {}, SubDagIndex: {:?}, Timestamp: {}, ConsensusCommitDigest: {}", + p.epoch, p.round, p.sub_dag_index, p.commit_timestamp_ms, p.consensus_commit_digest + )?; + } Self::ProgrammableTransaction(p) => { write!(writer, "Transaction Kind: Programmable")?; write!(writer, "{}", crate::displays::Pretty(p))?; @@ -474,6 +484,17 @@ impl SuiTransactionBlockKind { consensus_commit_digest: p.consensus_commit_digest, }) } + TransactionKind::ConsensusCommitPrologueV3(p) => { + Self::ConsensusCommitPrologueV3(SuiConsensusCommitPrologueV3 { + epoch: p.epoch, + round: p.round, + sub_dag_index: p.sub_dag_index, + commit_timestamp_ms: p.commit_timestamp_ms, + consensus_commit_digest: p.consensus_commit_digest, + consensus_determined_version_assignments: p + .consensus_determined_version_assignments, + }) + } TransactionKind::ProgrammableTransaction(p) => Self::ProgrammableTransaction( SuiProgrammableTransactionBlock::try_from(p, module_cache)?, ), @@ -550,6 +571,17 @@ impl SuiTransactionBlockKind { consensus_commit_digest: p.consensus_commit_digest, }) } + TransactionKind::ConsensusCommitPrologueV3(p) => { + Self::ConsensusCommitPrologueV3(SuiConsensusCommitPrologueV3 { + epoch: p.epoch, + round: p.round, + sub_dag_index: p.sub_dag_index, + commit_timestamp_ms: p.commit_timestamp_ms, + consensus_commit_digest: p.consensus_commit_digest, + consensus_determined_version_assignments: p + .consensus_determined_version_assignments, + }) + } TransactionKind::ProgrammableTransaction(p) => Self::ProgrammableTransaction( SuiProgrammableTransactionBlock::try_from_with_package_resolver( p, @@ -619,6 +651,7 @@ impl SuiTransactionBlockKind { Self::Genesis(_) => "Genesis", Self::ConsensusCommitPrologue(_) => "ConsensusCommitPrologue", Self::ConsensusCommitPrologueV2(_) => "ConsensusCommitPrologueV2", + Self::ConsensusCommitPrologueV3(_) => "ConsensusCommitPrologueV3", Self::ProgrammableTransaction(_) => "ProgrammableTransaction", Self::AuthenticatorStateUpdate(_) => "AuthenticatorStateUpdate", Self::RandomnessStateUpdate(_) => "RandomnessStateUpdate", @@ -1558,6 +1591,25 @@ pub struct SuiConsensusCommitPrologueV2 { pub consensus_commit_digest: ConsensusCommitDigest, } +#[serde_as] +#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, PartialEq, Eq)] +pub struct SuiConsensusCommitPrologueV3 { + #[schemars(with = "BigInt")] + #[serde_as(as = "BigInt")] + pub epoch: u64, + #[schemars(with = "BigInt")] + #[serde_as(as = "BigInt")] + pub round: u64, + #[schemars(with = "Option>")] + #[serde_as(as = "Option>")] + pub sub_dag_index: Option, + #[schemars(with = "BigInt")] + #[serde_as(as = "BigInt")] + pub commit_timestamp_ms: u64, + pub consensus_commit_digest: ConsensusCommitDigest, + pub consensus_determined_version_assignments: ConsensusDeterminedVersionAssignments, +} + #[serde_as] #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, PartialEq, Eq)] pub struct SuiAuthenticatorStateUpdate { diff --git a/crates/sui-metric-checker/src/lib.rs b/crates/sui-metric-checker/src/lib.rs index 93b4054c7dd6e..52827a463d508 100644 --- a/crates/sui-metric-checker/src/lib.rs +++ b/crates/sui-metric-checker/src/lib.rs @@ -128,9 +128,9 @@ pub fn fails_threshold_condition( } fn unix_seconds_to_timestamp_string(unix_seconds: i64) -> String { - let datetime = NaiveDateTime::from_timestamp_opt(unix_seconds, 0); - let timestamp: DateTime = DateTime::from_naive_utc_and_offset(datetime.unwrap(), Utc); - timestamp.to_string() + DateTime::from_timestamp(unix_seconds, 0) + .unwrap() + .to_string() } #[cfg(test)] diff --git a/crates/sui-node/src/metrics.rs b/crates/sui-node/src/metrics.rs index bf51e21e089a3..7ea4b781b81a9 100644 --- a/crates/sui-node/src/metrics.rs +++ b/crates/sui-node/src/metrics.rs @@ -1,6 +1,5 @@ // Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 -use axum::http::header; use mysten_network::metrics::MetricsCallbackProvider; use prometheus::{ register_histogram_vec_with_registry, register_int_counter_vec_with_registry, @@ -105,7 +104,7 @@ pub fn start_metrics_push_task(config: &sui_config::NodeConfig, registry: Regist .client() .post(url.to_owned()) .header(reqwest::header::CONTENT_ENCODING, "snappy") - .header(header::CONTENT_TYPE, PROTOBUF_FORMAT) + .header(reqwest::header::CONTENT_TYPE, PROTOBUF_FORMAT) .body(compressed) .send() .await?; diff --git a/crates/sui-open-rpc/spec/openrpc.json b/crates/sui-open-rpc/spec/openrpc.json index 1c61a38d7ab73..e287f7371e9af 100644 --- a/crates/sui-open-rpc/spec/openrpc.json +++ b/crates/sui-open-rpc/spec/openrpc.json @@ -5603,6 +5603,49 @@ "ConsensusCommitDigest": { "$ref": "#/components/schemas/Digest" }, + "ConsensusDeterminedVersionAssignments": { + "description": "Uses an enum to allow for future expansion of the ConsensusDeterminedVersionAssignments.", + "oneOf": [ + { + "type": "object", + "required": [ + "CancelledTransactions" + ], + "properties": { + "CancelledTransactions": { + "type": "array", + "items": { + "type": "array", + "items": [ + { + "$ref": "#/components/schemas/TransactionDigest" + }, + { + "type": "array", + "items": { + "type": "array", + "items": [ + { + "$ref": "#/components/schemas/ObjectID" + }, + { + "$ref": "#/components/schemas/SequenceNumber" + } + ], + "maxItems": 2, + "minItems": 2 + } + } + ], + "maxItems": 2, + "minItems": 2 + } + } + }, + "additionalProperties": false + } + ] + }, "Data": { "oneOf": [ { @@ -10431,6 +10474,51 @@ "$ref": "#/components/schemas/BigInt_for_uint64" } } + }, + { + "type": "object", + "required": [ + "commit_timestamp_ms", + "consensus_commit_digest", + "consensus_determined_version_assignments", + "epoch", + "kind", + "round" + ], + "properties": { + "commit_timestamp_ms": { + "$ref": "#/components/schemas/BigInt_for_uint64" + }, + "consensus_commit_digest": { + "$ref": "#/components/schemas/ConsensusCommitDigest" + }, + "consensus_determined_version_assignments": { + "$ref": "#/components/schemas/ConsensusDeterminedVersionAssignments" + }, + "epoch": { + "$ref": "#/components/schemas/BigInt_for_uint64" + }, + "kind": { + "type": "string", + "enum": [ + "ConsensusCommitPrologueV3" + ] + }, + "round": { + "$ref": "#/components/schemas/BigInt_for_uint64" + }, + "sub_dag_index": { + "default": null, + "anyOf": [ + { + "$ref": "#/components/schemas/BigInt_for_uint64" + }, + { + "type": "null" + } + ] + } + } } ] }, diff --git a/crates/sui-oracle/Cargo.toml b/crates/sui-oracle/Cargo.toml index 2be3fc99b2b31..4c616fa80ee74 100644 --- a/crates/sui-oracle/Cargo.toml +++ b/crates/sui-oracle/Cargo.toml @@ -13,7 +13,7 @@ prometheus = "0.13.3" tokio = { workspace = true, features = ["full"] } tracing = "0.1.36" once_cell.workspace = true -reqwest = { version = "0.11.13", default_features = false, features = ["blocking", "json", "rustls-tls"] } +reqwest.workspace = true serde = { version = "1.0.144", features = ["derive", "rc"] } serde_json = { version = "1.0.1" } jsonpath_lib = "0.3.0" diff --git a/crates/sui-proxy/src/lib.rs b/crates/sui-proxy/src/lib.rs index 989ae5ff6b1d3..18287c6fc13f2 100644 --- a/crates/sui-proxy/src/lib.rs +++ b/crates/sui-proxy/src/lib.rs @@ -40,7 +40,7 @@ mod tests { use crate::prom_to_mimir::tests::*; use crate::{admin::CertKeyPair, config::RemoteWriteConfig, peers::SuiNodeProvider}; - use axum::http::{header, StatusCode}; + use axum::http::StatusCode; use axum::routing::post; use axum::Router; use multiaddr::Multiaddr; @@ -167,7 +167,7 @@ mod tests { let res = client .post(&server_url) - .header(header::CONTENT_TYPE, PROTOBUF_FORMAT) + .header(reqwest::header::CONTENT_TYPE, PROTOBUF_FORMAT) .body(buf) .send() .await @@ -175,6 +175,6 @@ mod tests { let status = res.status(); let body = res.text().await.unwrap(); assert_eq!("created", body); - assert_eq!(status, StatusCode::CREATED); + assert_eq!(status, reqwest::StatusCode::CREATED); } } diff --git a/crates/sui-rest-api/src/response.rs b/crates/sui-rest-api/src/response.rs index 20317beea7588..50d0fcfbc8e30 100644 --- a/crates/sui-rest-api/src/response.rs +++ b/crates/sui-rest-api/src/response.rs @@ -3,10 +3,9 @@ use axum::{ extract::State, - http::HeaderMap, + http::{HeaderMap, StatusCode}, response::{IntoResponse, Response}, }; -use reqwest::StatusCode; use crate::{ types::{ diff --git a/crates/sui-rosetta/src/types.rs b/crates/sui-rosetta/src/types.rs index f3e3bae6a75c0..b8d74af3f52d5 100644 --- a/crates/sui-rosetta/src/types.rs +++ b/crates/sui-rosetta/src/types.rs @@ -423,7 +423,8 @@ impl From<&SuiTransactionBlockKind> for OperationType { SuiTransactionBlockKind::ChangeEpoch(_) => OperationType::EpochChange, SuiTransactionBlockKind::Genesis(_) => OperationType::Genesis, SuiTransactionBlockKind::ConsensusCommitPrologue(_) - | SuiTransactionBlockKind::ConsensusCommitPrologueV2(_) => { + | SuiTransactionBlockKind::ConsensusCommitPrologueV2(_) + | SuiTransactionBlockKind::ConsensusCommitPrologueV3(_) => { OperationType::ConsensusCommitPrologue } SuiTransactionBlockKind::ProgrammableTransaction(_) => { diff --git a/crates/sui-security-watchdog/Cargo.toml b/crates/sui-security-watchdog/Cargo.toml index 94c4d88433f9c..5cd19eb5f2b9c 100644 --- a/crates/sui-security-watchdog/Cargo.toml +++ b/crates/sui-security-watchdog/Cargo.toml @@ -15,7 +15,7 @@ tokio.workspace = true tracing.workspace = true anyhow.workspace = true chrono.workspace = true -snowflake-api = { version = "0.7.0"} +snowflake-api.workspace = true tokio-cron-scheduler = "0.10.0" clap.workspace = true prometheus.workspace = true @@ -24,4 +24,4 @@ async-trait.workspace = true uuid.workspace = true lexical-util = "0.8.5" reqwest = { workspace = true, features = ["json"] } -env_logger = "0.11.3" \ No newline at end of file +env_logger = "0.11.3" diff --git a/crates/sui-source-validation-service/Cargo.toml b/crates/sui-source-validation-service/Cargo.toml index 52687c81aabcd..101a0dc79d4bc 100644 --- a/crates/sui-source-validation-service/Cargo.toml +++ b/crates/sui-source-validation-service/Cargo.toml @@ -46,7 +46,7 @@ tower-http.workspace = true [dev-dependencies] expect-test = "1.4.0" fs_extra = "1.3.0" -reqwest = { version = "0.11", default-features = false, features = ["rustls-tls"] } +reqwest.workspace = true sui.workspace = true sui-move = { workspace = true, features = ["all"] } diff --git a/crates/sui-storage/src/http_key_value_store.rs b/crates/sui-storage/src/http_key_value_store.rs index 5188c4128e016..9232bdfb1bc50 100644 --- a/crates/sui-storage/src/http_key_value_store.rs +++ b/crates/sui-storage/src/http_key_value_store.rs @@ -4,11 +4,9 @@ use async_trait::async_trait; use bytes::Bytes; use futures::stream::{self, StreamExt}; -use hyper::client::HttpConnector; -use hyper::header::{HeaderValue, CONTENT_LENGTH}; -use hyper::Client; -use hyper::Uri; -use hyper_rustls::{HttpsConnector, HttpsConnectorBuilder}; +use reqwest::header::{HeaderValue, CONTENT_LENGTH}; +use reqwest::Client; +use reqwest::Url; use serde::{Deserialize, Serialize}; use std::str::FromStr; use std::sync::Arc; @@ -28,14 +26,13 @@ use sui_types::{ }; use tap::TapFallible; use tracing::{error, info, instrument, trace, warn}; -use url::Url; use crate::key_value_store::{TransactionKeyValueStore, TransactionKeyValueStoreTrait}; use crate::key_value_store_metrics::KeyValueStoreMetrics; pub struct HttpKVStore { base_url: Url, - client: Arc>>, + client: Client, } pub fn encode_digest>(digest: &T) -> String { @@ -126,15 +123,8 @@ impl HttpKVStore { pub fn new(base_url: &str) -> SuiResult { info!("creating HttpKVStore with base_url: {}", base_url); - let http = HttpsConnectorBuilder::new() - .with_webpki_roots() - .https_or_http() - .enable_http2() - .build(); - let client = Client::builder() - .http2_only(true) - .build::<_, hyper::Body>(http); + let client = Client::builder().http2_prior_knowledge().build().unwrap(); let base_url = if base_url.ends_with('/') { base_url.to_string() @@ -144,19 +134,16 @@ impl HttpKVStore { let base_url = Url::parse(&base_url).into_sui_result()?; - Ok(Self { - base_url, - client: Arc::new(client), - }) + Ok(Self { base_url, client }) } - fn get_url(&self, key: &Key) -> SuiResult { + fn get_url(&self, key: &Key) -> SuiResult { let (digest, item_type) = key_to_path_elements(key)?; let joined = self .base_url .join(&format!("{}/{}", digest, item_type)) .into_sui_result()?; - Uri::from_str(joined.as_str()).into_sui_result() + Url::from_str(joined.as_str()).into_sui_result() } async fn multi_fetch(&self, uris: Vec) -> Vec>> { @@ -165,18 +152,23 @@ impl HttpKVStore { uris_vec .into_iter() .enumerate() - .map(|(_i, uri)| self.fetch(uri)), + .map(|(_i, url)| self.fetch(url)), ); fetches.buffered(uris.len()).collect::>().await } async fn fetch(&self, key: Key) -> SuiResult> { - let uri = self.get_url(&key)?; - trace!("fetching uri: {}", uri); - let resp = self.client.get(uri.clone()).await.into_sui_result()?; + let url = self.get_url(&key)?; + trace!("fetching url: {}", url); + let resp = self + .client + .get(url.clone()) + .send() + .await + .into_sui_result()?; trace!( - "got response {} for uri: {}, len: {:?}", - uri, + "got response {} for url: {}, len: {:?}", + url, resp.status(), resp.headers() .get(CONTENT_LENGTH) @@ -184,10 +176,7 @@ impl HttpKVStore { ); // return None if 400 if resp.status().is_success() { - hyper::body::to_bytes(resp.into_body()) - .await - .map(Some) - .into_sui_result() + resp.bytes().await.map(Some).into_sui_result() } else { Ok(None) } diff --git a/crates/sui-storage/src/object_store/http/mod.rs b/crates/sui-storage/src/object_store/http/mod.rs index dfdd5ad97f084..280e8285e599b 100644 --- a/crates/sui-storage/src/object_store/http/mod.rs +++ b/crates/sui-storage/src/object_store/http/mod.rs @@ -90,6 +90,7 @@ async fn get( range: 0..meta.size, payload: GetResultPayload::Stream(stream), meta, + attributes: object_store::Attributes::new(), }) } @@ -118,6 +119,7 @@ fn header_meta(location: &Path, headers: &HeaderMap) -> Result { last_modified, size: content_length, e_tag: Some(e_tag.to_string()), + version: None, }) } diff --git a/crates/sui-storage/src/object_store/mod.rs b/crates/sui-storage/src/object_store/mod.rs index 60556c1ba7eb5..1ebfa595af66c 100644 --- a/crates/sui-storage/src/object_store/mod.rs +++ b/crates/sui-storage/src/object_store/mod.rs @@ -49,7 +49,7 @@ pub trait ObjectStoreListExt: Send + Sync + 'static { async fn list_objects( &self, src: Option<&Path>, - ) -> object_store::Result>>; + ) -> BoxStream<'_, object_store::Result>; } macro_rules! as_ref_list_ext_impl { @@ -59,7 +59,7 @@ macro_rules! as_ref_list_ext_impl { async fn list_objects( &self, src: Option<&Path>, - ) -> object_store::Result>> { + ) -> BoxStream<'_, object_store::Result> { self.as_ref().list_objects(src).await } } @@ -74,8 +74,8 @@ impl ObjectStoreListExt for Arc { async fn list_objects( &self, src: Option<&Path>, - ) -> object_store::Result>> { - self.list(src).await + ) -> BoxStream<'_, object_store::Result> { + self.list(src) } } @@ -102,7 +102,7 @@ as_ref_put_ext_impl!(Box); #[async_trait] impl ObjectStorePutExt for Arc { async fn put_bytes(&self, src: &Path, bytes: Bytes) -> Result<()> { - self.put(src, bytes).await?; + self.put(src, bytes.into()).await?; Ok(()) } } diff --git a/crates/sui-storage/src/object_store/util.rs b/crates/sui-storage/src/object_store/util.rs index 12fb5214ff1c9..432856a4169db 100644 --- a/crates/sui-storage/src/object_store/util.rs +++ b/crates/sui-storage/src/object_store/util.rs @@ -160,7 +160,7 @@ pub async fn copy_recursively Result> { let mut input_paths = vec![]; let mut output_paths = vec![]; - let mut paths = src_store.list_objects(Some(dir)).await?; + let mut paths = src_store.list_objects(Some(dir)).await; while let Some(res) = paths.next().await { if let Ok(object_metadata) = res { input_paths.push(object_metadata.location.clone()); @@ -207,7 +207,7 @@ pub async fn delete_recursively( concurrency: NonZeroUsize, ) -> Result> { let mut paths_to_delete = vec![]; - let mut paths = store.list_objects(Some(path)).await?; + let mut paths = store.list_objects(Some(path)).await; while let Some(res) = paths.next().await { if let Ok(object_metadata) = res { paths_to_delete.push(object_metadata.location); @@ -381,7 +381,7 @@ pub async fn write_snapshot_manifest( epoch_prefix: String, ) -> Result<()> { let mut file_names = vec![]; - let mut paths = store.list_objects(Some(dir)).await?; + let mut paths = store.list_objects(Some(dir)).await; while let Some(res) = paths.next().await { if let Ok(object_metadata) = res { // trim the "epoch_XX/" dir prefix here diff --git a/crates/sui-types/src/messages_checkpoint.rs b/crates/sui-types/src/messages_checkpoint.rs index 50ad86e122956..337c50b5a65e1 100644 --- a/crates/sui-types/src/messages_checkpoint.rs +++ b/crates/sui-types/src/messages_checkpoint.rs @@ -872,17 +872,19 @@ mod tests { fn test_checkpoint_summary_with_different_consensus_digest() { // First, tests that same consensus commit digest will produce the same checkpoint content. { - let t1 = VerifiedTransaction::new_consensus_commit_prologue_v2( + let t1 = VerifiedTransaction::new_consensus_commit_prologue_v3( 1, 2, 100, ConsensusCommitDigest::default(), + Vec::new(), ); - let t2 = VerifiedTransaction::new_consensus_commit_prologue_v2( + let t2 = VerifiedTransaction::new_consensus_commit_prologue_v3( 1, 2, 100, ConsensusCommitDigest::default(), + Vec::new(), ); let c1 = generate_test_checkpoint_summary_from_digest(*t1.digest()); let c2 = generate_test_checkpoint_summary_from_digest(*t2.digest()); @@ -891,17 +893,19 @@ mod tests { // Next, tests that different consensus commit digests will produce the different checkpoint contents. { - let t1 = VerifiedTransaction::new_consensus_commit_prologue_v2( + let t1 = VerifiedTransaction::new_consensus_commit_prologue_v3( 1, 2, 100, ConsensusCommitDigest::default(), + Vec::new(), ); - let t2 = VerifiedTransaction::new_consensus_commit_prologue_v2( + let t2 = VerifiedTransaction::new_consensus_commit_prologue_v3( 1, 2, 100, ConsensusCommitDigest::random(), + Vec::new(), ); let c1 = generate_test_checkpoint_summary_from_digest(*t1.digest()); let c2 = generate_test_checkpoint_summary_from_digest(*t2.digest()); diff --git a/crates/sui-types/src/messages_consensus.rs b/crates/sui-types/src/messages_consensus.rs index d2fe65a48b773..18fb6ea479ac9 100644 --- a/crates/sui-types/src/messages_consensus.rs +++ b/crates/sui-types/src/messages_consensus.rs @@ -1,8 +1,8 @@ // Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 -use crate::base_types::ConciseableName; use crate::base_types::{AuthorityName, ObjectRef, TransactionDigest}; +use crate::base_types::{ConciseableName, ObjectID, SequenceNumber}; use crate::digests::ConsensusCommitDigest; use crate::messages_checkpoint::{ CheckpointSequenceNumber, CheckpointSignatureMessage, CheckpointTimestamp, @@ -12,6 +12,7 @@ use byteorder::{BigEndian, ReadBytesExt}; use fastcrypto::groups::bls12381; use fastcrypto_tbls::dkg; use fastcrypto_zkp::bn254::zk_login::{JwkId, JWK}; +use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use std::collections::hash_map::DefaultHasher; use std::fmt::{Debug, Formatter}; @@ -43,6 +44,30 @@ pub struct ConsensusCommitPrologueV2 { pub consensus_commit_digest: ConsensusCommitDigest, } +/// Uses an enum to allow for future expansion of the ConsensusDeterminedVersionAssignments. +#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize, Deserialize, JsonSchema)] +pub enum ConsensusDeterminedVersionAssignments { + // Cancelled transaction version assignment. + CancelledTransactions(Vec<(TransactionDigest, Vec<(ObjectID, SequenceNumber)>)>), +} + +#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize, Deserialize)] +pub struct ConsensusCommitPrologueV3 { + /// Epoch of the commit prologue transaction + pub epoch: u64, + /// Consensus round of the commit + pub round: u64, + /// The sub DAG index of the consensus commit. This field will be populated if there + /// are multiple consensus commits per round. + pub sub_dag_index: Option, + /// Unix timestamp from consensus + pub commit_timestamp_ms: CheckpointTimestamp, + /// Digest of consensus output + pub consensus_commit_digest: ConsensusCommitDigest, + /// Stores consensus handler determined shared object version assignments. + pub consensus_determined_version_assignments: ConsensusDeterminedVersionAssignments, +} + // In practice, JWKs are about 500 bytes of json each, plus a bit more for the ID. // 4096 should give us plenty of space for any imaginable JWK while preventing DoSes. static MAX_TOTAL_JWK_SIZE: usize = 4096; diff --git a/crates/sui-types/src/transaction.rs b/crates/sui-types/src/transaction.rs index dd125286c1b5a..ecc43c8f20dec 100644 --- a/crates/sui-types/src/transaction.rs +++ b/crates/sui-types/src/transaction.rs @@ -15,7 +15,10 @@ use crate::digests::{CertificateDigest, SenderSignedDataDigest}; use crate::execution::SharedInput; use crate::message_envelope::{Envelope, Message, TrustedEnvelope, VerifiedEnvelope}; use crate::messages_checkpoint::CheckpointTimestamp; -use crate::messages_consensus::{ConsensusCommitPrologue, ConsensusCommitPrologueV2}; +use crate::messages_consensus::{ + ConsensusCommitPrologue, ConsensusCommitPrologueV2, ConsensusCommitPrologueV3, + ConsensusDeterminedVersionAssignments, +}; use crate::object::{MoveObject, Object, Owner}; use crate::programmable_transaction_builder::ProgrammableTransactionBuilder; use crate::signature::{GenericSignature, VerifyParams}; @@ -283,6 +286,8 @@ pub enum TransactionKind { RandomnessStateUpdate(RandomnessStateUpdate), // V2 ConsensusCommitPrologue also includes the digest of the current consensus output. ConsensusCommitPrologueV2(ConsensusCommitPrologueV2), + + ConsensusCommitPrologueV3(ConsensusCommitPrologueV3), // .. more transaction types go here } @@ -489,6 +494,11 @@ impl VersionedProtocolMessage for TransactionKind { }) } } + TransactionKind::ConsensusCommitPrologueV3(_) => { + Err(SuiError::UnsupportedFeatureError { + error: "ConsensusCommitPrologueV3 is not supported".to_string(), + }) + } } } } @@ -1176,6 +1186,7 @@ impl TransactionKind { | TransactionKind::Genesis(_) | TransactionKind::ConsensusCommitPrologue(_) | TransactionKind::ConsensusCommitPrologueV2(_) + | TransactionKind::ConsensusCommitPrologueV3(_) | TransactionKind::AuthenticatorStateUpdate(_) | TransactionKind::RandomnessStateUpdate(_) | TransactionKind::EndOfEpochTransaction(_) => true, @@ -1223,7 +1234,9 @@ impl TransactionKind { Either::Left(Either::Left(iter::once(SharedInputObject::SUI_SYSTEM_OBJ))) } - Self::ConsensusCommitPrologue(_) | Self::ConsensusCommitPrologueV2(_) => { + Self::ConsensusCommitPrologue(_) + | Self::ConsensusCommitPrologueV2(_) + | Self::ConsensusCommitPrologueV3(_) => { Either::Left(Either::Left(iter::once(SharedInputObject { id: SUI_CLOCK_OBJECT_ID, initial_shared_version: SUI_CLOCK_OBJECT_SHARED_VERSION, @@ -1267,6 +1280,7 @@ impl TransactionKind { | TransactionKind::Genesis(_) | TransactionKind::ConsensusCommitPrologue(_) | TransactionKind::ConsensusCommitPrologueV2(_) + | TransactionKind::ConsensusCommitPrologueV3(_) | TransactionKind::AuthenticatorStateUpdate(_) | TransactionKind::RandomnessStateUpdate(_) | TransactionKind::EndOfEpochTransaction(_) => vec![], @@ -1290,7 +1304,9 @@ impl TransactionKind { Self::Genesis(_) => { vec![] } - Self::ConsensusCommitPrologue(_) | Self::ConsensusCommitPrologueV2(_) => { + Self::ConsensusCommitPrologue(_) + | Self::ConsensusCommitPrologueV2(_) + | Self::ConsensusCommitPrologueV3(_) => { vec![InputObjectKind::SharedMoveObject { id: SUI_CLOCK_OBJECT_ID, initial_shared_version: SUI_CLOCK_OBJECT_SHARED_VERSION, @@ -1338,7 +1354,8 @@ impl TransactionKind { TransactionKind::ChangeEpoch(_) | TransactionKind::Genesis(_) | TransactionKind::ConsensusCommitPrologue(_) - | TransactionKind::ConsensusCommitPrologueV2(_) => (), + | TransactionKind::ConsensusCommitPrologueV2(_) + | TransactionKind::ConsensusCommitPrologueV3(_) => (), TransactionKind::EndOfEpochTransaction(txns) => { // The transaction should have been rejected earlier if the feature is not enabled. assert!(config.end_of_epoch_transaction_supported()); @@ -1389,6 +1406,7 @@ impl TransactionKind { Self::Genesis(_) => "Genesis", Self::ConsensusCommitPrologue(_) => "ConsensusCommitPrologue", Self::ConsensusCommitPrologueV2(_) => "ConsensusCommitPrologueV2", + Self::ConsensusCommitPrologueV3(_) => "ConsensusCommitPrologueV3", Self::ProgrammableTransaction(_) => "ProgrammableTransaction", Self::AuthenticatorStateUpdate(_) => "AuthenticatorStateUpdate", Self::RandomnessStateUpdate(_) => "RandomnessStateUpdate", @@ -1421,6 +1439,16 @@ impl Display for TransactionKind { writeln!(writer, "Timestamp : {}", p.commit_timestamp_ms)?; writeln!(writer, "Consensus Digest: {}", p.consensus_commit_digest)?; } + Self::ConsensusCommitPrologueV3(p) => { + writeln!(writer, "Transaction Kind : Consensus Commit Prologue V3")?; + writeln!(writer, "Timestamp : {}", p.commit_timestamp_ms)?; + writeln!(writer, "Consensus Digest: {}", p.consensus_commit_digest)?; + writeln!( + writer, + "Consensus determined version assignment: {:?}", + p.consensus_determined_version_assignments + )?; + } Self::ProgrammableTransaction(p) => { writeln!(writer, "Transaction Kind : Programmable")?; write!(writer, "{p}")?; @@ -2490,6 +2518,29 @@ impl VerifiedTransaction { .pipe(Self::new_system_transaction) } + pub fn new_consensus_commit_prologue_v3( + epoch: u64, + round: u64, + commit_timestamp_ms: CheckpointTimestamp, + consensus_commit_digest: ConsensusCommitDigest, + cancelled_txn_version_assignment: Vec<(TransactionDigest, Vec<(ObjectID, SequenceNumber)>)>, + ) -> Self { + ConsensusCommitPrologueV3 { + epoch, + round, + // sub_dag_index is reserved for when we have multi commits per round. + sub_dag_index: None, + commit_timestamp_ms, + consensus_commit_digest, + consensus_determined_version_assignments: + ConsensusDeterminedVersionAssignments::CancelledTransactions( + cancelled_txn_version_assignment, + ), + } + .pipe(TransactionKind::ConsensusCommitPrologueV3) + .pipe(Self::new_system_transaction) + } + pub fn new_authenticator_state_update( epoch: u64, round: u64, diff --git a/crates/sui-types/src/unit_tests/messages_tests.rs b/crates/sui-types/src/unit_tests/messages_tests.rs index d6852acd1114f..668108d84a28a 100644 --- a/crates/sui-types/src/unit_tests/messages_tests.rs +++ b/crates/sui-types/src/unit_tests/messages_tests.rs @@ -1086,6 +1086,36 @@ fn test_consensus_commit_prologue_v2_transaction() { ); } +#[test] +fn test_consensus_commit_prologue_v3_transaction() { + let tx = VerifiedTransaction::new_consensus_commit_prologue_v3( + 0, + 0, + 42, + ConsensusCommitDigest::default(), + Vec::new(), + ); + assert!(tx.contains_shared_object()); + assert_eq!( + tx.shared_input_objects().next().unwrap(), + SharedInputObject { + id: SUI_CLOCK_OBJECT_ID, + initial_shared_version: SUI_CLOCK_OBJECT_SHARED_VERSION, + mutable: true, + }, + ); + assert!(tx.is_system_tx()); + assert_eq!( + tx.data() + .intent_message() + .value + .input_objects() + .unwrap() + .len(), + 1 + ); +} + #[test] fn test_move_input_objects() { let package = ObjectID::random(); diff --git a/crates/suiop-cli/src/cli/lib/oauth/mod.rs b/crates/suiop-cli/src/cli/lib/oauth/mod.rs index db9c0a109b976..f33908e25c5f6 100644 --- a/crates/suiop-cli/src/cli/lib/oauth/mod.rs +++ b/crates/suiop-cli/src/cli/lib/oauth/mod.rs @@ -6,12 +6,12 @@ mod util; use std::net::SocketAddr; use anyhow::Result; -use axum::http::{HeaderMap, HeaderValue}; use axum::response::IntoResponse; use axum::{extract::Query, routing::get, Router}; use chrono; use dirs; use reqwest; +use reqwest::header::{HeaderMap, HeaderValue}; use serde::{Deserialize, Serialize}; use std::fs::{self, File}; use std::io::{self, Read, Write}; diff --git a/scripts/simtest/cargo-simtest b/scripts/simtest/cargo-simtest index 222b0ec075104..c371c43f66856 100755 --- a/scripts/simtest/cargo-simtest +++ b/scripts/simtest/cargo-simtest @@ -54,9 +54,9 @@ if [ -n "$LOCAL_MSIM_PATH" ]; then else cargo_patch_args=( --config 'patch.crates-io.tokio.git = "https://github.com/MystenLabs/mysten-sim.git"' - --config 'patch.crates-io.tokio.rev = "6f88ec84644cb1a6809c010f1f534d0d09e0cd89"' + --config 'patch.crates-io.tokio.rev = "291cebe772727338f474a020e094b4ecb7ba1fe9"' --config 'patch.crates-io.futures-timer.git = "https://github.com/MystenLabs/mysten-sim.git"' - --config 'patch.crates-io.futures-timer.rev = "6f88ec84644cb1a6809c010f1f534d0d09e0cd89"' + --config 'patch.crates-io.futures-timer.rev = "291cebe772727338f474a020e094b4ecb7ba1fe9"' ) fi diff --git a/scripts/simtest/config-patch b/scripts/simtest/config-patch index 5f04a99ba2c0c..97e158ea047a3 100644 --- a/scripts/simtest/config-patch +++ b/scripts/simtest/config-patch @@ -18,5 +18,5 @@ index c0829bc1b6..4007f97d66 100644 include_dir = "0.7.3" + +[patch.crates-io] -+tokio = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "6f88ec84644cb1a6809c010f1f534d0d09e0cd89" } -+futures-timer = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "6f88ec84644cb1a6809c010f1f534d0d09e0cd89" } ++tokio = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "291cebe772727338f474a020e094b4ecb7ba1fe9" } ++futures-timer = { git = "https://github.com/MystenLabs/mysten-sim.git", rev = "291cebe772727338f474a020e094b4ecb7ba1fe9" } diff --git a/sui-execution/latest/sui-adapter/src/execution_engine.rs b/sui-execution/latest/sui-adapter/src/execution_engine.rs index 4f783c6f2bac5..3daed42fdce55 100644 --- a/sui-execution/latest/sui-adapter/src/execution_engine.rs +++ b/sui-execution/latest/sui-adapter/src/execution_engine.rs @@ -580,6 +580,19 @@ mod checked { .expect("ConsensusCommitPrologueV2 cannot fail"); Ok(Mode::empty_results()) } + TransactionKind::ConsensusCommitPrologueV3(prologue) => { + setup_consensus_commit( + prologue.commit_timestamp_ms, + temporary_store, + tx_ctx, + move_vm, + gas_charger, + protocol_config, + metrics, + ) + .expect("ConsensusCommitPrologueV3 cannot fail"); + Ok(Mode::empty_results()) + } TransactionKind::ProgrammableTransaction(pt) => { programmable_transactions::execution::execute::( protocol_config, diff --git a/sui-execution/v0/sui-adapter/src/execution_engine.rs b/sui-execution/v0/sui-adapter/src/execution_engine.rs index eb17729e79b12..452622ec986fc 100644 --- a/sui-execution/v0/sui-adapter/src/execution_engine.rs +++ b/sui-execution/v0/sui-adapter/src/execution_engine.rs @@ -454,6 +454,19 @@ mod checked { .expect("ConsensusCommitPrologue cannot fail"); Ok(Mode::empty_results()) } + TransactionKind::ConsensusCommitPrologueV3(prologue) => { + setup_consensus_commit( + prologue.commit_timestamp_ms, + temporary_store, + tx_ctx, + move_vm, + gas_charger, + protocol_config, + metrics, + ) + .expect("ConsensusCommitPrologue cannot fail"); + Ok(Mode::empty_results()) + } TransactionKind::ProgrammableTransaction(pt) => { programmable_transactions::execution::execute::( protocol_config, diff --git a/sui-execution/v1/sui-adapter/src/execution_engine.rs b/sui-execution/v1/sui-adapter/src/execution_engine.rs index af0d1cbbdad8d..edecf37769959 100644 --- a/sui-execution/v1/sui-adapter/src/execution_engine.rs +++ b/sui-execution/v1/sui-adapter/src/execution_engine.rs @@ -561,6 +561,19 @@ mod checked { .expect("ConsensusCommitPrologue cannot fail"); Ok(Mode::empty_results()) } + TransactionKind::ConsensusCommitPrologueV3(prologue) => { + setup_consensus_commit( + prologue.commit_timestamp_ms, + temporary_store, + tx_ctx, + move_vm, + gas_charger, + protocol_config, + metrics, + ) + .expect("ConsensusCommitPrologue cannot fail"); + Ok(Mode::empty_results()) + } TransactionKind::ProgrammableTransaction(pt) => { programmable_transactions::execution::execute::( protocol_config, diff --git a/sui-execution/v2/sui-adapter/src/execution_engine.rs b/sui-execution/v2/sui-adapter/src/execution_engine.rs index 4f783c6f2bac5..3daed42fdce55 100644 --- a/sui-execution/v2/sui-adapter/src/execution_engine.rs +++ b/sui-execution/v2/sui-adapter/src/execution_engine.rs @@ -580,6 +580,19 @@ mod checked { .expect("ConsensusCommitPrologueV2 cannot fail"); Ok(Mode::empty_results()) } + TransactionKind::ConsensusCommitPrologueV3(prologue) => { + setup_consensus_commit( + prologue.commit_timestamp_ms, + temporary_store, + tx_ctx, + move_vm, + gas_charger, + protocol_config, + metrics, + ) + .expect("ConsensusCommitPrologueV3 cannot fail"); + Ok(Mode::empty_results()) + } TransactionKind::ProgrammableTransaction(pt) => { programmable_transactions::execution::execute::( protocol_config,