diff --git a/.cargo/config b/.cargo/config index b6879bf01e5f0..77ddee744f4d2 100644 --- a/.cargo/config +++ b/.cargo/config @@ -42,3 +42,6 @@ mysql-clippy = [ [build] rustflags = ["-C", "force-frame-pointers=yes", "-C", "force-unwind-tables=yes"] + +[net] +git-fetch-with-cli = true \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 37a27419ed33d..249b7ad5120b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -91,8 +91,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf6ccdb167abbf410dcb915cabd428929d7f6a04980b54a11f26a39f1c7f7107" dependencies = [ "cfg-if", - "const-random", - "getrandom 0.2.9", "once_cell", "version_check", ] @@ -192,19 +190,6 @@ dependencies = [ "x509-parser", ] -[[package]] -name = "anemo-benchmark" -version = "0.0.0" -dependencies = [ - "anemo", - "anemo-build", - "clap", - "mysten-network", - "rand 0.8.5", - "telemetry-subscribers", - "tokio", -] - [[package]] name = "anemo-build" version = "0.0.0" @@ -216,22 +201,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "anemo-cli" -version = "0.0.0" -source = "git+https://github.com/mystenlabs/anemo.git?rev=26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7#26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7" -dependencies = [ - "anemo", - "anemo-tower", - "bytes", - "clap", - "dashmap", - "rand 0.8.5", - "tokio", - "tower", - "tracing", -] - [[package]] name = "anemo-tower" version = "0.0.0" @@ -256,15 +225,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" version = "0.6.13" @@ -542,236 +502,12 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "arrayvec" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" -[[package]] -name = "arrow" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa285343fba4d829d49985bdc541e3789cf6000ed0e84be7c039438df4a4e78c" -dependencies = [ - "arrow-arith", - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-csv", - "arrow-data", - "arrow-ipc", - "arrow-json", - "arrow-ord", - "arrow-row", - "arrow-schema", - "arrow-select", - "arrow-string", -] - -[[package]] -name = "arrow-arith" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "753abd0a5290c1bcade7c6623a556f7d1659c5f4148b140b5b63ce7bd1a45705" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "chrono", - "half 2.3.1", - "num", -] - -[[package]] -name = "arrow-array" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d390feeb7f21b78ec997a4081a025baef1e2e0d6069e181939b61864c9779609" -dependencies = [ - "ahash 0.8.2", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "chrono", - "half 2.3.1", - "hashbrown 0.14.1", - "num", -] - -[[package]] -name = "arrow-buffer" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69615b061701bcdffbc62756bc7e85c827d5290b472b580c972ebbbf690f5aa4" -dependencies = [ - "bytes", - "half 2.3.1", - "num", -] - -[[package]] -name = "arrow-cast" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e448e5dd2f4113bf5b74a1f26531708f5edcacc77335b7066f9398f4bcf4cdef" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "base64 0.21.2", - "chrono", - "half 2.3.1", - "lexical-core", - "num", -] - -[[package]] -name = "arrow-csv" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46af72211f0712612f5b18325530b9ad1bfbdc87290d5fbfd32a7da128983781" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "chrono", - "csv", - "csv-core", - "lazy_static", - "lexical-core", - "regex", -] - -[[package]] -name = "arrow-data" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67d644b91a162f3ad3135ce1184d0a31c28b816a581e08f29e8e9277a574c64e" -dependencies = [ - "arrow-buffer", - "arrow-schema", - "half 2.3.1", - "num", -] - -[[package]] -name = "arrow-ipc" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03dea5e79b48de6c2e04f03f62b0afea7105be7b77d134f6c5414868feefb80d" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "flatbuffers", -] - -[[package]] -name = "arrow-json" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8950719280397a47d37ac01492e3506a8a724b3fb81001900b866637a829ee0f" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-schema", - "chrono", - "half 2.3.1", - "indexmap 2.2.6", - "lexical-core", - "num", - "serde", - "serde_json", -] - -[[package]] -name = "arrow-ord" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ed9630979034077982d8e74a942b7ac228f33dd93a93b615b4d02ad60c260be" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "half 2.3.1", - "num", -] - -[[package]] -name = "arrow-row" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "007035e17ae09c4e8993e4cb8b5b96edf0afb927cd38e2dff27189b274d83dcf" -dependencies = [ - "ahash 0.8.2", - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "half 2.3.1", - "hashbrown 0.14.1", -] - -[[package]] -name = "arrow-schema" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ff3e9c01f7cd169379d269f926892d0e622a704960350d09d331be3ec9e0029" - -[[package]] -name = "arrow-select" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce20973c1912de6514348e064829e50947e35977bb9d7fb637dc99ea9ffd78c" -dependencies = [ - "ahash 0.8.2", - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "num", -] - -[[package]] -name = "arrow-string" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f3b37f2aeece31a2636d1b037dabb69ef590e03bdc7eb68519b51ec86932a7" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "num", - "regex", - "regex-syntax 0.8.2", -] - -[[package]] -name = "ascii_utils" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71938f30533e4d95a6d17aa530939da3842c2ab6f4f84b9dae68447e4129f74a" - [[package]] name = "asn1-rs" version = "0.5.1" @@ -840,125 +576,46 @@ dependencies = [ ] [[package]] -name = "async-compression" -version = "0.4.6" +name = "async-lock" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" +checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" dependencies = [ - "flate2", - "futures-core", - "memchr", - "pin-project-lite", - "tokio", + "event-listener", + "futures-lite", ] [[package]] -name = "async-graphql" -version = "6.0.7" +name = "async-nats" +version = "0.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1addb0b551c59640e15de99e7566a4e3a1186cf42269e160c485ba6d8b43fe30" +checksum = "ab8df97cb8fc4a884af29ab383e9292ea0939cfcdd7d2a17179086dc6c427e7f" dependencies = [ - "async-graphql-derive", - "async-graphql-parser", - "async-graphql-value", - "async-stream", - "async-trait", - "base64 0.13.1", + "base64 0.22.1", "bytes", - "chrono", - "fast_chemail", - "fnv", - "futures-channel", - "futures-timer", - "futures-util", - "handlebars", - "http", - "indexmap 2.2.6", - "lru 0.7.8", - "mime", - "multer", - "num-traits", + "futures", + "memchr", + "nkeys", + "nuid", "once_cell", - "opentelemetry 0.19.0", - "pin-project-lite", + "portable-atomic 1.7.0", + "rand 0.8.5", "regex", + "ring 0.17.3", + "rustls-native-certs 0.7.1", + "rustls-pemfile 2.1.2", + "rustls-webpki 0.102.6", "serde", "serde_json", - "serde_urlencoded", - "static_assertions", - "tempfile", + "serde_nanos", + "serde_repr", "thiserror", - "tracing", - "tracing-futures", -] - -[[package]] -name = "async-graphql-axum" -version = "6.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c21af134ab9419aae6658298f819a28e4737ac81f96cde8008f9d49db1802662" -dependencies = [ - "async-graphql", - "async-trait", - "axum", - "bytes", - "futures-util", - "serde_json", + "time", "tokio", - "tokio-stream", - "tokio-util 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tower-service", -] - -[[package]] -name = "async-graphql-derive" -version = "6.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e1121ff0be2feea705c24f6940162c4f14a077e50a217b16e091e6534a8c08a" -dependencies = [ - "Inflector", - "async-graphql-parser", - "darling 0.20.3", - "proc-macro-crate", - "proc-macro2 1.0.78", - "quote 1.0.35", - "strum 0.25.0", - "syn 2.0.48", - "thiserror", -] - -[[package]] -name = "async-graphql-parser" -version = "6.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0b6713fd4ffd610b8b6f6e911bf31277cbb84b7c2a9cdeeb39d1b3eed3b88e4" -dependencies = [ - "async-graphql-value", - "pest", - "serde", - "serde_json", -] - -[[package]] -name = "async-graphql-value" -version = "6.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d74240f9daa8c1e8f73e9cfcc338d20a88d00bbeb83ded49ce8e5b4dcec0f5" -dependencies = [ - "bytes", - "indexmap 2.2.6", - "serde", - "serde_json", -] - -[[package]] -name = "async-lock" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" -dependencies = [ - "event-listener", - "futures-lite", + "tokio-rustls 0.26.0", + "tracing", + "tryhard", + "url", ] [[package]] @@ -1026,35 +683,12 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ce4f10ea3abcd6617873bae9f91d1c5332b4a778bd9ce34d0cd517474c1de82" -[[package]] -name = "asynchronous-codec" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" -dependencies = [ - "bytes", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite", -] - [[package]] name = "atomic_float" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62af46d040ba9df09edc6528dae9d8e49f5f3e82f55b7d2ec31a733c38dbc49d" -[[package]] -name = "atomicwrites" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb8f2cd6962fa53c0e2a9d3f97eaa7dbd1e3cbbeeb4745403515b42ae07b3ff6" -dependencies = [ - "tempfile", - "winapi", -] - [[package]] name = "auto_impl" version = "1.1.0" @@ -1199,45 +833,19 @@ dependencies = [ ] [[package]] -name = "aws-sdk-ec2" +name = "aws-sdk-s3" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f098f12b70166afd023949291df62f7f716cb5866ac4256178cd3321d1b1b" +checksum = "1e30370b61599168d38190ad272bb91842cd81870a6ca035c05dd5726d22832c" dependencies = [ "aws-credential-types", "aws-http", "aws-runtime", + "aws-sigv4", "aws-smithy-async", + "aws-smithy-checksums", "aws-smithy-client", - "aws-smithy-http", - "aws-smithy-json", - "aws-smithy-query", - "aws-smithy-runtime", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-smithy-xml", - "aws-types", - "fastrand 2.0.0", - "http", - "regex", - "tokio-stream", - "tracing", -] - -[[package]] -name = "aws-sdk-s3" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e30370b61599168d38190ad272bb91842cd81870a6ca035c05dd5726d22832c" -dependencies = [ - "aws-credential-types", - "aws-http", - "aws-runtime", - "aws-sigv4", - "aws-smithy-async", - "aws-smithy-checksums", - "aws-smithy-client", - "aws-smithy-eventstream", + "aws-smithy-eventstream", "aws-smithy-http", "aws-smithy-json", "aws-smithy-runtime", @@ -1315,7 +923,7 @@ dependencies = [ "bytes", "form_urlencoded", "hex", - "hmac 0.12.1", + "hmac", "http", "once_cell", "percent-encoding", @@ -1351,7 +959,7 @@ dependencies = [ "hex", "http", "http-body", - "md-5 0.10.5", + "md-5", "pin-project-lite", "sha1", "sha2 0.10.6", @@ -1580,25 +1188,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "axum-extra" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a320103719de37b7b4da4c8eb629d4573f6bcfd3dfe80d3208806895ccf81d" -dependencies = [ - "axum", - "bytes", - "futures-util", - "http", - "mime", - "pin-project-lite", - "tokio", - "tower", - "tower-http", - "tower-layer", - "tower-service", -] - [[package]] name = "axum-server" version = "0.5.1" @@ -1613,7 +1202,7 @@ dependencies = [ "hyper", "pin-project-lite", "rustls 0.21.12", - "rustls-pemfile", + "rustls-pemfile 1.0.2", "tokio", "tokio-rustls 0.24.0", "tower-service", @@ -1648,15 +1237,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "backtrace-ext" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "537beee3be4a18fb023b570f80e3ae28003db9167a751266b259926e25539d50" -dependencies = [ - "backtrace", -] - [[package]] name = "base-x" version = "0.2.11" @@ -1718,17 +1298,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "bcrypt-pbkdf" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2" -dependencies = [ - "blowfish", - "pbkdf2 0.12.1", - "sha2 0.10.6", -] - [[package]] name = "bcs" version = "0.1.6" @@ -1798,12 +1367,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "bimap" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0455254eb5c6964c4545d8bac815e1a1be4f3afe0ae695ea539c12d728d44b" - [[package]] name = "bin-version" version = "1.29.2" @@ -1849,7 +1412,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b30ed1d6f8437a487a266c8293aeb95b61a23261273e3e02912cdb8b68bf798b" dependencies = [ "bs58 0.4.0", - "hmac 0.12.1", + "hmac", "k256 0.11.6", "once_cell", "pbkdf2 0.11.0", @@ -1875,6 +1438,27 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bitcode" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48bc1c27654127a24c476d40198746860ef56475f41a601bfa5c4d0f832968f0" +dependencies = [ + "bitcode_derive", + "bytemuck", +] + +[[package]] +name = "bitcode_derive" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a539389a13af092cd345a2b47ae7dec12deb306d660b2223d25cd3419b253ebe" +dependencies = [ + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", +] + [[package]] name = "bitcoin-private" version = "0.1.0" @@ -1951,7 +1535,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.2", + "arrayvec", "constant_time_eq", ] @@ -1962,7 +1546,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", - "arrayvec 0.7.2", + "arrayvec", "constant_time_eq", ] @@ -2000,16 +1584,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "blowfish" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" -dependencies = [ - "byteorder", - "cipher", -] - [[package]] name = "blst" version = "0.3.11" @@ -2092,7 +1666,7 @@ checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b" dependencies = [ "memchr", "once_cell", - "regex-automata", + "regex-automata 0.1.10", "serde", ] @@ -2288,33 +1862,12 @@ dependencies = [ "nom", ] -[[package]] -name = "cfg-expr" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a327683d7499ecc47369531a679fe38acdd300e09bf8c852d08b1e10558622bd" -dependencies = [ - "smallvec", - "target-lexicon", -] - [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chacha20" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - [[package]] name = "chrono" version = "0.4.31" @@ -2354,7 +1907,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b" dependencies = [ "ciborium-io", - "half 1.8.2", + "half", ] [[package]] @@ -2397,7 +1950,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.0", + "strsim 0.11.1", "terminal_size", ] @@ -2419,17 +1972,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" -[[package]] -name = "clipboard-win" -version = "4.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" -dependencies = [ - "error-code", - "str-buf", - "winapi", -] - [[package]] name = "codespan" version = "0.11.1" @@ -2460,7 +2002,7 @@ dependencies = [ "bs58 0.5.0", "coins-core", "digest 0.10.7", - "hmac 0.12.1", + "hmac", "k256 0.13.1", "serde", "sha2 0.10.6", @@ -2475,7 +2017,7 @@ checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" dependencies = [ "bitvec 1.0.1", "coins-bip32", - "hmac 0.12.1", + "hmac", "once_cell", "pbkdf2 0.12.1", "rand 0.8.5", @@ -2509,33 +2051,6 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08abddbaad209601e53c7dd4308d8c04c06f17bb7df006434e586a22b83be45a" -[[package]] -name = "color-eyre" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" -dependencies = [ - "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors 3.5.0", - "tracing-error", -] - -[[package]] -name = "color-spantrace" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" -dependencies = [ - "once_cell", - "owo-colors 3.5.0", - "tracing-core", - "tracing-error", -] - [[package]] name = "colorchoice" version = "1.0.0" @@ -2553,17 +2068,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "colored-diff" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "410208eb08c3f3ad44b95b51c4fc0d5993cbcc9dd39cfadb4214b9115a97dcb5" -dependencies = [ - "ansi_term", - "dissimilar", - "itertools 0.10.5", -] - [[package]] name = "combine" version = "4.6.6" @@ -2574,18 +2078,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "comfy-table" -version = "6.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d" -dependencies = [ - "crossterm", - "strum 0.24.1", - "strum_macros 0.24.3", - "unicode-width", -] - [[package]] name = "consensus-config" version = "0.1.0" @@ -2661,7 +2153,7 @@ version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9b6515d269224923b26b5febea2ed42b2d5f2ce37284a4dd670fedd6cb8347a" dependencies = [ - "encode_unicode 0.3.6", + "encode_unicode", "lazy_static", "libc", "unicode-width", @@ -2711,26 +2203,6 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" -[[package]] -name = "const-random" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11df32a13d7892ec42d51d3d175faba5211ffe13ed25d4fb348ac9e9ce835593" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.9", - "once_cell", - "tiny-keccak", -] - [[package]] name = "const-str" version = "0.5.6" @@ -2743,30 +2215,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" -[[package]] -name = "containers-api" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56082e32f18a6d60f06c736b49e234deffb93b13cb87091a39e0dec053d03819" -dependencies = [ - "chrono", - "flate2", - "futures-util", - "http", - "hyper", - "hyperlocal", - "log", - "mime", - "paste", - "pin-project", - "serde", - "serde_json", - "tar", - "thiserror", - "tokio", - "url", -] - [[package]] name = "convert_case" version = "0.4.0" @@ -2901,30 +2349,6 @@ dependencies = [ "itertools 0.10.5", ] -[[package]] -name = "cron" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8c3e73077b4b4a6ab1ea5047c37c57aee77657bc8ecd6f29b0af082d0b0c07" -dependencies = [ - "chrono", - "nom", - "once_cell", -] - -[[package]] -name = "crossbeam" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] - [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -2953,15 +2377,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -3034,16 +2449,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-mac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "csv" version = "1.2.1" @@ -3097,14 +2502,13 @@ dependencies = [ "fiat-crypto", "rustc_version", "subtle", - "zeroize", ] [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2 1.0.78", "quote 1.0.35", @@ -3168,16 +2572,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - [[package]] name = "darling" version = "0.14.2" @@ -3190,26 +2584,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.3", - "darling_macro 0.20.3", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2 1.0.78", - "quote 1.0.35", - "strsim 0.10.0", - "syn 1.0.107", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -3228,29 +2608,18 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2 1.0.78", "quote 1.0.35", - "strsim 0.10.0", + "strsim 0.11.1", "syn 2.0.48", ] -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote 1.0.35", - "syn 1.0.107", -] - [[package]] name = "darling_macro" version = "0.14.2" @@ -3264,11 +2633,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.3", + "darling_core 0.20.10", "quote 1.0.35", "syn 2.0.48", ] @@ -3322,12 +2691,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "debug-ignore" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe7ed1d93f4553003e20b629abe9085e1e81b1429520f897f8f8860bc6dfc21" - [[package]] name = "debugid" version = "0.8.0" @@ -3461,27 +2824,10 @@ dependencies = [ ] [[package]] -name = "determinator" -version = "0.10.0" +name = "diesel" +version = "2.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c644b91adb5bcc66d3533607b6d3ee5c1c2d858d2d95e41dd6aae673e29e0509" -dependencies = [ - "camino", - "globset", - "guppy", - "guppy-workspace-hack", - "once_cell", - "petgraph 0.6.2", - "rayon", - "serde", - "toml 0.5.10", -] - -[[package]] -name = "diesel" -version = "2.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62c6fcf842f17f8c78ecf7c81d75c5ce84436b41ee07e03f490fbb5f5a8731d8" +checksum = "62c6fcf842f17f8c78ecf7c81d75c5ce84436b41ee07e03f490fbb5f5a8731d8" dependencies = [ "bitflags 2.4.1", "byteorder", @@ -3558,15 +2904,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" -[[package]] -name = "diffus" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0ff24a73b51d9009c40897faf87d31b77345c90ffbf4dc3a1d2957032c5653" -dependencies = [ - "itertools 0.10.5", -] - [[package]] name = "diffy" version = "0.3.0" @@ -3603,16 +2940,7 @@ version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] @@ -3636,18 +2964,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -3682,43 +2998,6 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" -[[package]] -name = "docker-api" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "522a3ae33cf4fc165de192eb9c563b755bc43cda9bd6f442b2d511b84514b917" -dependencies = [ - "asynchronous-codec", - "base64 0.13.1", - "byteorder", - "bytes", - "chrono", - "containers-api", - "docker-api-stubs", - "futures-util", - "http", - "hyper", - "log", - "paste", - "serde", - "serde_json", - "tar", - "thiserror", - "url", -] - -[[package]] -name = "docker-api-stubs" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5872f5e057625a972acce1a51b461284eab32b7e594e18f8fc2f63724075da47" -dependencies = [ - "chrono", - "serde", - "serde_json", - "serde_with 2.1.0", -] - [[package]] name = "dotenvy" version = "0.15.7" @@ -3743,20 +3022,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" -[[package]] -name = "duration-str" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f94be4825ff6a563f1bfbdb786ae10c687333c7524fade954e2271170e7f7e6d" -dependencies = [ - "chrono", - "nom", - "rust_decimal", - "serde", - "thiserror", - "time", -] - [[package]] name = "dyn-clone" version = "1.0.16" @@ -3801,11 +3066,10 @@ dependencies = [ [[package]] name = "ed25519" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "pkcs8 0.10.2", "signature 2.0.0", ] @@ -3826,16 +3090,15 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", - "ed25519 2.2.2", - "rand_core 0.6.4", - "serde", + "ed25519 2.2.3", "sha2 0.10.6", - "zeroize", + "signature 2.0.0", + "subtle", ] [[package]] @@ -3892,12 +3155,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" -[[package]] -name = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - [[package]] name = "encoding_rs" version = "0.8.31" @@ -3907,12 +3164,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "endian-type" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" - [[package]] name = "enr" version = "0.8.1" @@ -3935,7 +3186,7 @@ dependencies = [ name = "enum-compat-util" version = "0.1.0" dependencies = [ - "serde_yaml 0.8.26", + "serde_yaml", ] [[package]] @@ -3950,29 +3201,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "env_filter" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "env_logger" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "humantime", - "log", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -3989,17 +3217,6 @@ dependencies = [ "scopeguard", ] -[[package]] -name = "errno" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi", -] - [[package]] name = "errno" version = "0.3.8" @@ -4010,16 +3227,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "error-chain" version = "0.12.4" @@ -4029,16 +3236,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "error-code" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" -dependencies = [ - "libc", - "str-buf", -] - [[package]] name = "eth-keystore" version = "0.5.0" @@ -4049,7 +3246,7 @@ dependencies = [ "ctr", "digest 0.10.7", "hex", - "hmac 0.12.1", + "hmac", "pbkdf2 0.11.0", "rand 0.8.5", "scrypt", @@ -4202,7 +3399,7 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40bf114f1017ace0f622f1652f59c2c5e1abfe7d88891cca0c43da979b351de0" dependencies = [ - "arrayvec 0.7.2", + "arrayvec", "bytes", "cargo_metadata 0.15.4", "chrono", @@ -4370,15 +3567,6 @@ dependencies = [ "rand 0.7.3", ] -[[package]] -name = "fast_chemail" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "495a39d30d624c2caabe6312bfead73e7717692b44e0b32df168c275a2e8e9e4" -dependencies = [ - "ascii_utils", -] - [[package]] name = "fastcrypto" version = "0.1.8" @@ -4417,7 +3605,7 @@ dependencies = [ "rand 0.8.5", "readonly", "rfc6979 0.4.0", - "rsa 0.8.2", + "rsa", "schemars", "secp256k1", "serde", @@ -4525,17 +3713,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" -[[package]] -name = "fd-lock" -version = "3.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb21c69b9fea5e15dbc1049e4b77145dd0ba1c84019c488102de0dc4ea4b0a27" -dependencies = [ - "cfg-if", - "rustix 0.36.6", - "windows-sys 0.42.0", -] - [[package]] name = "fdlimit" version = "0.2.1" @@ -4586,21 +3763,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" - -[[package]] -name = "field_names" -version = "0.2.0" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca4fdab1b9b7e274e7de51202e37f9cfa542b28c77f8d09b817d77a726b4807" -dependencies = [ - "darling 0.13.4", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.107", -] +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" @@ -4662,16 +3827,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flatbuffers" -version = "23.5.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640" -dependencies = [ - "bitflags 1.3.2", - "rustc_version", -] - [[package]] name = "flate2" version = "1.0.28" @@ -4872,29 +4027,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "gcp-bigquery-client" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0ce6fcbdaca0a4521a734f2bc7f2f6bd872fe40576e24f8bd0b05732c19a74f" -dependencies = [ - "async-stream", - "async-trait", - "dyn-clone", - "hyper", - "hyper-rustls 0.24.0", - "log", - "reqwest", - "serde", - "serde_json", - "thiserror", - "time", - "tokio", - "tokio-stream", - "url", - "yup-oauth2", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -5042,56 +4174,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "guppy" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f822a2716041492e071691606474f5a7e4fa7c2acbfd7da7b29884fb448291c7" -dependencies = [ - "camino", - "cargo_metadata 0.15.4", - "cfg-if", - "debug-ignore", - "fixedbitset 0.4.2", - "guppy-summaries", - "guppy-workspace-hack", - "indexmap 1.9.3", - "itertools 0.10.5", - "nested", - "once_cell", - "pathdiff", - "petgraph 0.6.2", - "rayon", - "semver 1.0.16", - "serde", - "serde_json", - "smallvec", - "static_assertions", - "target-spec", - "toml 0.5.10", -] - -[[package]] -name = "guppy-summaries" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd039b8f587513b48754811cfa37c2ba079df537b490b602fa641ce18f6e72a" -dependencies = [ - "camino", - "cfg-if", - "diffus", - "guppy-workspace-hack", - "semver 1.0.16", - "serde", - "toml 0.5.10", -] - -[[package]] -name = "guppy-workspace-hack" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92620684d99f750bae383ecb3be3748142d6095760afd5cbcf2261e9a279d780" - [[package]] name = "h2" version = "0.3.26" @@ -5111,65 +4193,12 @@ dependencies = [ "tracing", ] -[[package]] -name = "hakari" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2c76369039f6ac178748e96def487662aebbeb26d43070d01a0eadd53964994" -dependencies = [ - "atomicwrites", - "bimap", - "camino", - "cfg-if", - "debug-ignore", - "diffy", - "guppy", - "guppy-workspace-hack", - "include_dir", - "indenter", - "itertools 0.10.5", - "owo-colors 3.5.0", - "pathdiff", - "rayon", - "serde", - "tabular", - "target-spec", - "toml 0.5.10", - "toml_edit 0.15.0", - "twox-hash", -] - [[package]] name = "half" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" -[[package]] -name = "half" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" -dependencies = [ - "cfg-if", - "crunchy", - "num-traits", -] - -[[package]] -name = "handlebars" -version = "4.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d" -dependencies = [ - "log", - "pest", - "pest_derive", - "serde", - "serde_json", - "thiserror", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -5300,22 +4329,12 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" dependencies = [ - "hmac 0.12.1", + "hmac", ] [[package]] name = "hmac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" -dependencies = [ - "crypto-mac", - "digest 0.9.0", -] - -[[package]] -name = "hmac" -version = "0.12.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ @@ -5417,7 +4436,7 @@ dependencies = [ "hyper", "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", @@ -5433,7 +4452,7 @@ dependencies = [ "hyper", "log", "rustls 0.21.12", - "rustls-native-certs", + "rustls-native-certs 0.6.2", "tokio", "tokio-rustls 0.24.0", "webpki-roots 0.23.1", @@ -5451,19 +4470,6 @@ dependencies = [ "tokio-io-timeout", ] -[[package]] -name = "hyperlocal" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fafdf7b2b2de7c9784f76e02c0935e65a8117ec3b768644379983ab333ac98c" -dependencies = [ - "futures-util", - "hex", - "hyper", - "pin-project", - "tokio", -] - [[package]] name = "iana-time-zone" version = "0.1.53" @@ -5590,26 +4596,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "include_dir" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" -dependencies = [ - "glob", - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", -] - [[package]] name = "indenter" version = "0.3.3" @@ -5646,7 +4632,7 @@ checksum = "4295cbb7573c16d310e99e713cf9e75101eb190ab31fccd35f2d2691b4352b19" dependencies = [ "console", "number_prefix", - "portable-atomic", + "portable-atomic 0.3.19", "unicode-width", ] @@ -5680,22 +4666,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "inquire" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c33e7c1ddeb15c9abcbfef6029d8e29f69b52b6d6c891031b88ed91b5065803b" -dependencies = [ - "bitflags 1.3.2", - "crossterm", - "dyn-clone", - "lazy_static", - "newline-converter", - "thiserror", - "unicode-segmentation", - "unicode-width", -] - [[package]] name = "insta" version = "1.26.0" @@ -5719,9 +4689,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", ] [[package]] @@ -5746,15 +4713,6 @@ version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" -[[package]] -name = "ipnetwork" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" -dependencies = [ - "serde", -] - [[package]] name = "iri-string" version = "0.4.1" @@ -5764,15 +4722,6 @@ dependencies = [ "nom", ] -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - [[package]] name = "is-terminal" version = "0.4.7" @@ -5785,22 +4734,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - -[[package]] -name = "is_ci" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" - [[package]] name = "itertools" version = "0.10.5" @@ -5874,12 +4807,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "json_comments" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbbfed4e59ba9750e15ba154fdfd9329cee16ff3df539c2666b70f58cc32105" - [[package]] name = "json_to_table" version = "0.6.0" @@ -5889,17 +4816,6 @@ dependencies = [ "tabled", ] -[[package]] -name = "jsonpath_lib" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaa63191d68230cccb81c5aa23abd53ed64d83337cacbb25a7b8c7979523774f" -dependencies = [ - "log", - "serde", - "serde_json", -] - [[package]] name = "jsonrpsee" version = "0.16.2" @@ -5924,7 +4840,7 @@ dependencies = [ "jsonrpsee-core", "jsonrpsee-types", "pin-project", - "rustls-native-certs", + "rustls-native-certs 0.6.2", "soketto", "thiserror", "tokio", @@ -5940,7 +4856,7 @@ version = "0.16.2" source = "git+https://github.com/wlmyng/jsonrpsee.git?rev=b1b300784795f6a64d0fcdf8f03081a9bc38bde8#b1b300784795f6a64d0fcdf8f03081a9bc38bde8" dependencies = [ "anyhow", - "arrayvec 0.7.2", + "arrayvec", "async-lock", "async-trait", "beef", @@ -6036,20 +4952,6 @@ dependencies = [ "jsonrpsee-types", ] -[[package]] -name = "jsonwebtoken" -version = "8.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" -dependencies = [ - "base64 0.21.2", - "pem", - "ring 0.16.20", - "serde", - "serde_json", - "simple_asn1", -] - [[package]] name = "k256" version = "0.11.6" @@ -6127,70 +5029,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" -[[package]] -name = "lexical-core" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" -dependencies = [ - "lexical-parse-float", - "lexical-parse-integer", - "lexical-util", - "lexical-write-float", - "lexical-write-integer", -] - -[[package]] -name = "lexical-parse-float" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" -dependencies = [ - "lexical-parse-integer", - "lexical-util", - "static_assertions", -] - -[[package]] -name = "lexical-parse-integer" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" -dependencies = [ - "lexical-util", - "static_assertions", -] - -[[package]] -name = "lexical-util" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" -dependencies = [ - "static_assertions", -] - -[[package]] -name = "lexical-write-float" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" -dependencies = [ - "lexical-util", - "lexical-write-integer", - "static_assertions", -] - -[[package]] -name = "lexical-write-integer" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" -dependencies = [ - "lexical-util", - "static_assertions", -] - [[package]] name = "libc" version = "0.2.152" @@ -6266,12 +5104,6 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - [[package]] name = "linux-raw-sys" version = "0.3.1" @@ -6303,15 +5135,6 @@ dependencies = [ "serde", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown 0.12.3", -] - [[package]] name = "lru" version = "0.10.0" @@ -6330,18 +5153,6 @@ dependencies = [ "hashbrown 0.14.1", ] -[[package]] -name = "lsp-server" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248f65b78f6db5d8e1b1604b4098a28b43d21a8eb1deeca22b1c421b276c7095" -dependencies = [ - "crossbeam-channel", - "log", - "serde", - "serde_json", -] - [[package]] name = "lsp-types" version = "0.95.1" @@ -6365,15 +5176,6 @@ dependencies = [ "libc", ] -[[package]] -name = "lz4_flex" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "912b45c753ff5f7f5208307e8ace7d2a2e30d024e26d3509f3dce546c044ce15" -dependencies = [ - "twox-hash", -] - [[package]] name = "mach2" version = "0.4.1" @@ -6389,12 +5191,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" -[[package]] -name = "markdown-gen" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034621d7f1258317ca1dfb9205e3925d27ee4aa2a46620a09c567daf0310562" - [[package]] name = "match_opt" version = "0.1.2" @@ -6407,7 +5203,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] @@ -6422,17 +5218,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" -[[package]] -name = "md-5" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "opaque-debug", -] - [[package]] name = "md-5" version = "0.10.5" @@ -6442,12 +5227,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "md5" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" - [[package]] name = "memchr" version = "2.5.0" @@ -6463,45 +5242,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "miette" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98a72adfa0c7ae88ba0abcbd00047a476616c66b831d628b8ac7f1e9de0cfd67" -dependencies = [ - "backtrace", - "backtrace-ext", - "miette-derive", - "owo-colors 4.0.0", - "supports-color", - "supports-hyperlinks", - "supports-unicode", - "terminal_size", - "textwrap", - "thiserror", - "unicode-width", -] - -[[package]] -name = "miette-derive" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279def6bf114a34b3cf887489eb440d4dfcf709ab3ce9955e4a6f957ce5cce77" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", -] - [[package]] name = "migrations_internals" version = "2.1.0" @@ -6638,34 +5378,6 @@ dependencies = [ name = "move-abstract-stack" version = "0.0.1" -[[package]] -name = "move-analyzer" -version = "1.0.0" -dependencies = [ - "anyhow", - "clap", - "codespan-reporting", - "crossbeam", - "derivative", - "dunce", - "im", - "itertools 0.10.5", - "json_comments", - "lsp-server", - "lsp-types", - "move-command-line-common", - "move-compiler", - "move-ir-types", - "move-package", - "move-symbol-pool", - "serde", - "serde_json", - "sha2 0.9.9", - "tempfile", - "url", - "vfs", -] - [[package]] name = "move-binary-format" version = "0.0.3" @@ -6817,7 +5529,7 @@ dependencies = [ "move-vm-runtime", "move-vm-test-utils", "move-vm-types", - "serde_yaml 0.8.26", + "serde_yaml", "tempfile", "toml_edit 0.14.4", "walkdir", @@ -6954,23 +5666,6 @@ dependencies = [ "serde", ] -[[package]] -name = "move-ir-compiler" -version = "0.1.0" -dependencies = [ - "anyhow", - "bcs", - "clap", - "move-abstract-interpreter", - "move-binary-format", - "move-bytecode-source-map", - "move-bytecode-verifier", - "move-command-line-common", - "move-core-types", - "move-ir-to-bytecode", - "serde_json", -] - [[package]] name = "move-ir-to-bytecode" version = "0.1.0" @@ -7057,7 +5752,7 @@ dependencies = [ "petgraph 0.5.1", "regex", "serde", - "serde_yaml 0.8.26", + "serde_yaml", "sha2 0.9.9", "tempfile", "toml 0.5.10", @@ -7201,42 +5896,12 @@ dependencies = [ ] [[package]] -name = "move-transactional-test-runner" +name = "move-unit-test" version = "0.1.0" dependencies = [ "anyhow", - "async-trait", - "clap", - "move-binary-format", - "move-bytecode-source-map", - "move-cli", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-disassembler", - "move-ir-compiler", - "move-ir-types", - "move-stdlib", - "move-stdlib-natives", - "move-symbol-pool", - "move-vm-config", - "move-vm-runtime", - "move-vm-test-utils", - "move-vm-types", - "once_cell", - "rayon", - "regex", - "tempfile", - "tokio", -] - -[[package]] -name = "move-unit-test" -version = "0.1.0" -dependencies = [ - "anyhow", - "bcs", - "better_any", + "bcs", + "better_any", "clap", "codespan-reporting", "colored", @@ -7417,24 +6082,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "multer" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" -dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http", - "httparse", - "log", - "memchr", - "mime", - "spin 0.9.8", - "version_check", -] - [[package]] name = "multiaddr" version = "0.17.0" @@ -7556,22 +6203,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "mysten-service" -version = "0.0.1" -dependencies = [ - "anyhow", - "axum", - "mysten-metrics", - "prometheus", - "serde", - "serde_json", - "telemetry-subscribers", - "tokio", - "tower", - "tracing", -] - [[package]] name = "mysten-util-mem" version = "0.11.0" @@ -7748,7 +6379,7 @@ dependencies = [ "rand 0.8.5", "reqwest", "serde-reflection", - "serde_yaml 0.8.26", + "serde_yaml", "sui-keys", "sui-protocol-config", "sui-types", @@ -7975,83 +6606,30 @@ dependencies = [ "trait-set", ] -[[package]] -name = "nested" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b420f638f07fe83056b55ea190bb815f609ec5a35e7017884a10f78839c9e" - -[[package]] -name = "newline-converter" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f71d09d5c87634207f894c6b31b6a2b2c64ea3bdcf71bd5599fdbbe1600c00f" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "nexlint" -version = "0.1.0" -source = "git+https://github.com/nextest-rs/nexlint.git?rev=94da5c787636dad779c340affa65219134d127f5#94da5c787636dad779c340affa65219134d127f5" -dependencies = [ - "camino", - "debug-ignore", - "determinator", - "guppy", - "hakari", - "hex", - "once_cell", - "serde", -] - -[[package]] -name = "nexlint-lints" -version = "0.1.0" -source = "git+https://github.com/nextest-rs/nexlint.git?rev=94da5c787636dad779c340affa65219134d127f5#94da5c787636dad779c340affa65219134d127f5" -dependencies = [ - "anyhow", - "camino", - "colored-diff", - "globset", - "guppy", - "nexlint", - "regex", - "serde", - "toml 0.5.10", -] - -[[package]] -name = "nibble_vec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" -dependencies = [ - "smallvec", -] - [[package]] name = "nix" -version = "0.23.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ "bitflags 1.3.2", - "cc", "cfg-if", "libc", - "memoffset", ] [[package]] -name = "nix" -version = "0.24.3" +name = "nkeys" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +checksum = "2de02c883c178998da8d0c9816a88ef7ef5c58314dd1585c97a4a5679f3ab337" dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", + "data-encoding", + "ed25519 2.2.3", + "ed25519-dalek", + "getrandom 0.2.9", + "log", + "rand 0.8.5", + "signatory", ] [[package]] @@ -8107,15 +6685,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "ntapi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc51db7b362b205941f71232e56c625156eb9a929f8cf74a428fd5bc094a4afc" -dependencies = [ - "winapi", -] - [[package]] name = "ntest" version = "0.9.0" @@ -8159,6 +6728,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "nuid" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc895af95856f929163a0aa20c26a78d26bfdc839f51b9d5aa7a5b79e52b7e83" +dependencies = [ + "rand 0.8.5", +] + [[package]] name = "num" version = "0.4.1" @@ -8222,17 +6800,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.107", -] - [[package]] name = "num-integer" version = "0.1.45" @@ -8355,15 +6922,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "num_threads" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" -dependencies = [ - "libc", -] - [[package]] name = "number_prefix" version = "0.4.0" @@ -8395,11 +6953,11 @@ dependencies = [ "itertools 0.10.5", "parking_lot 0.12.1", "percent-encoding", - "quick-xml 0.28.2", + "quick-xml", "rand 0.8.5", "reqwest", "ring 0.16.20", - "rustls-pemfile", + "rustls-pemfile 1.0.2", "serde", "serde_json", "snafu", @@ -8410,32 +6968,20 @@ dependencies = [ ] [[package]] -name = "object_store" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d139f545f64630e2e3688fd9f81c470888ab01edeb72d13b4e86c566f1130000" +name = "odin" +version = "0.1.0" +source = "git+ssh://git@github.com/nightly-labs/alexandria.git?rev=ce64446#ce64446d5ebe07fa36ab586ab169f50d65f607d1" dependencies = [ - "async-trait", - "base64 0.21.2", - "bytes", - "chrono", + "async-nats", + "bitcode", "futures", - "humantime", - "hyper", - "itertools 0.12.0", - "parking_lot 0.12.1", - "percent-encoding", - "quick-xml 0.31.0", - "rand 0.8.5", - "reqwest", - "ring 0.17.3", "serde", "serde_json", - "snafu", + "serde_with 3.8.1", + "structs", "tokio", "tracing", - "url", - "walkdir", + "typeshare", ] [[package]] @@ -8465,24 +7011,13 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" -[[package]] -name = "open" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "449f0ff855d85ddbf1edd5b646d65249ead3f5e422aaa86b7d2d0b049b103e32" -dependencies = [ - "is-wsl", - "libc", - "pathdiff", -] - [[package]] name = "open-fastrlp" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" dependencies = [ - "arrayvec 0.7.2", + "arrayvec", "auto_impl", "bytes", "ethereum-types", @@ -8518,24 +7053,14 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "opentelemetry" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4b8347cc26099d3aeee044065ecc3ae11469796b4d65d065a23a584ed92a6f" -dependencies = [ - "opentelemetry_api 0.19.0", - "opentelemetry_sdk 0.19.0", -] - [[package]] name = "opentelemetry" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9591d937bc0e6d2feb6f71a559540ab300ea49955229c347a517a28d27784c54" dependencies = [ - "opentelemetry_api 0.20.0", - "opentelemetry_sdk 0.20.0", + "opentelemetry_api", + "opentelemetry_sdk", ] [[package]] @@ -8549,8 +7074,8 @@ dependencies = [ "http", "opentelemetry-proto", "opentelemetry-semantic-conventions", - "opentelemetry_api 0.20.0", - "opentelemetry_sdk 0.20.0", + "opentelemetry_api", + "opentelemetry_sdk", "prost 0.11.9", "thiserror", "tokio", @@ -8563,8 +7088,8 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1e3f814aa9f8c905d0ee4bde026afd3b2577a97c10e1699912e3e44f0c4cbeb" dependencies = [ - "opentelemetry_api 0.20.0", - "opentelemetry_sdk 0.20.0", + "opentelemetry_api", + "opentelemetry_sdk", "prost 0.11.9", "tonic 0.9.2", ] @@ -8575,22 +7100,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73c9f9340ad135068800e7f1b24e9e09ed9e7143f5bf8518ded3d3ec69789269" dependencies = [ - "opentelemetry 0.20.0", -] - -[[package]] -name = "opentelemetry_api" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed41783a5bf567688eb38372f2b7a8530f5a607a4b49d38dd7573236c23ca7e2" -dependencies = [ - "futures-channel", - "futures-util", - "indexmap 1.9.3", - "once_cell", - "pin-project-lite", - "thiserror", - "urlencoding", + "opentelemetry", ] [[package]] @@ -8609,24 +7119,6 @@ dependencies = [ "urlencoding", ] -[[package]] -name = "opentelemetry_sdk" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b3a2a91fdbfdd4d212c0dcc2ab540de2c2bcbbd90be17de7a7daf8822d010c1" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "once_cell", - "opentelemetry_api 0.19.0", - "percent-encoding", - "rand 0.8.5", - "thiserror", -] - [[package]] name = "opentelemetry_sdk" version = "0.20.0" @@ -8639,8 +7131,8 @@ dependencies = [ "futures-executor", "futures-util", "once_cell", - "opentelemetry_api 0.20.0", - "ordered-float 3.9.1", + "opentelemetry_api", + "ordered-float", "percent-encoding", "rand 0.8.5", "regex", @@ -8650,21 +7142,6 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - [[package]] name = "ordered-float" version = "3.9.1" @@ -8719,18 +7196,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - -[[package]] -name = "owo-colors" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" - [[package]] name = "p256" version = "0.13.2" @@ -8769,7 +7234,7 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ - "arrayvec 0.7.2", + "arrayvec", "bitvec 0.20.4", "byte-slice-cast", "impl-trait-for-tuples", @@ -8783,7 +7248,7 @@ version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" dependencies = [ - "arrayvec 0.7.2", + "arrayvec", "bitvec 1.0.1", "byte-slice-cast", "impl-trait-for-tuples", @@ -8869,38 +7334,6 @@ dependencies = [ "windows-targets 0.48.0", ] -[[package]] -name = "parquet" -version = "50.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "547b92ebf0c1177e3892f44c8f79757ee62e678d564a9834189725f2c5b7a750" -dependencies = [ - "ahash 0.8.2", - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-ipc", - "arrow-schema", - "arrow-select", - "base64 0.21.2", - "brotli", - "bytes", - "chrono", - "flate2", - "half 2.3.1", - "hashbrown 0.14.1", - "lz4_flex", - "num", - "num-bigint 0.4.4", - "paste", - "seq-macro", - "snap", - "thrift", - "twox-hash", - "zstd 0.13.0", -] - [[package]] name = "passkey-authenticator" version = "0.2.0" @@ -8952,17 +7385,6 @@ dependencies = [ "typeshare", ] -[[package]] -name = "password-hash" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" -dependencies = [ - "base64ct", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "pasta_curves" version = "0.5.1" @@ -8987,24 +7409,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] -name = "pathdiff" -version = "0.2.1" +name = "pbkdf2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" -dependencies = [ - "camino", -] - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", - "password-hash", - "sha2 0.10.6", ] [[package]] @@ -9014,7 +7424,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0ca0b5a68607598bf3bad68f32227a8164f6254833f84eafaac409cd6746c31" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", + "hmac", ] [[package]] @@ -9216,17 +7626,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der 0.7.5", - "pkcs8 0.10.2", - "spki 0.7.1", -] - [[package]] name = "pkcs8" version = "0.9.0" @@ -9281,17 +7680,6 @@ dependencies = [ "plotters-backend", ] -[[package]] -name = "poly1305" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" -dependencies = [ - "cpufeatures", - "opaque-debug", - "universal-hash", -] - [[package]] name = "polyval" version = "0.6.0" @@ -9310,6 +7698,12 @@ version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26f6a7b87c2e435a3241addceeeff740ff8b7e76b74c13bf9acb17fa454ea00b" +[[package]] +name = "portable-atomic" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" + [[package]] name = "powerfmt" version = "0.2.0" @@ -9327,7 +7721,7 @@ dependencies = [ "findshlibs", "libc", "log", - "nix 0.24.3", + "nix", "once_cell", "parking_lot 0.12.1", "smallvec", @@ -9413,20 +7807,6 @@ dependencies = [ "syn 2.0.48", ] -[[package]] -name = "prettytable-rs" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eea25e07510aa6ab6547308ebe3c036016d162b8da920dbb079e3ba8acf3d95a" -dependencies = [ - "csv", - "encode_unicode 1.0.0", - "is-terminal", - "lazy_static", - "term", - "unicode-width", -] - [[package]] name = "primeorder" version = "0.13.0" @@ -9544,30 +7924,6 @@ dependencies = [ "protobuf", ] -[[package]] -name = "prometheus-http-query" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7970fd6e91b5cb87e9a093657572a896d133879ced7752d2c7635beae29eaba0" -dependencies = [ - "reqwest", - "serde", - "serde_json", - "time", - "url", -] - -[[package]] -name = "prometheus-parse" -version = "0.2.3" -source = "git+https://github.com/asonnino/prometheus-parser.git?rev=75334db#75334dbe2d286edf6d4424abba92a74643333096" -dependencies = [ - "chrono", - "itertools 0.10.5", - "lazy_static", - "regex", -] - [[package]] name = "proptest" version = "1.1.0" @@ -9759,16 +8115,6 @@ dependencies = [ "serde", ] -[[package]] -name = "quick-xml" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "quinn" version = "0.10.1" @@ -9858,16 +8204,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "radix_trie" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" -dependencies = [ - "endian-type", - "nibble_vec", -] - [[package]] name = "rand" version = "0.7.3" @@ -9968,9 +8304,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.6.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -9978,14 +8314,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.1" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -10089,13 +8423,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.8.4" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29" dependencies = [ "aho-corasick 1.0.2", "memchr", - "regex-syntax 0.7.2", + "regex-automata 0.3.7", + "regex-syntax 0.7.5", ] [[package]] @@ -10108,22 +8443,27 @@ dependencies = [ ] [[package]] -name = "regex-syntax" -version = "0.6.28" +name = "regex-automata" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629" +dependencies = [ + "aho-corasick 1.0.2", + "memchr", + "regex-syntax 0.7.5", +] [[package]] name = "regex-syntax" -version = "0.7.2" +version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "reqwest" @@ -10131,7 +8471,6 @@ 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", @@ -10146,13 +8485,11 @@ dependencies = [ "js-sys", "log", "mime", - "mime_guess", "once_cell", "percent-encoding", "pin-project-lite", "rustls 0.21.12", - "rustls-native-certs", - "rustls-pemfile", + "rustls-pemfile 1.0.2", "serde", "serde_json", "serde_urlencoded", @@ -10169,55 +8506,6 @@ dependencies = [ "winreg", ] -[[package]] -name = "reqwest-middleware" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a3e86aa6053e59030e7ce2d2a3b258dd08fc2d337d52f73f6cb480f5858690" -dependencies = [ - "anyhow", - "async-trait", - "http", - "reqwest", - "serde", - "task-local-extensions", - "thiserror", -] - -[[package]] -name = "reqwest-retry" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9af20b65c2ee9746cc575acb6bd28a05ffc0d15e25c992a8f4462d8686aacb4f" -dependencies = [ - "anyhow", - "async-trait", - "chrono", - "futures", - "getrandom 0.2.9", - "http", - "hyper", - "parking_lot 0.11.2", - "reqwest", - "reqwest-middleware", - "retry-policies", - "task-local-extensions", - "tokio", - "tracing", - "wasm-timer", -] - -[[package]] -name = "retry-policies" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17dd00bff1d737c40dbcd47d4375281bf4c17933f9eef0a185fc7bacca23ecbd" -dependencies = [ - "anyhow", - "chrono", - "rand 0.8.5", -] - [[package]] name = "rfc6979" version = "0.3.1" @@ -10225,7 +8513,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint 0.4.9", - "hmac 0.12.1", + "hmac", "zeroize", ] @@ -10235,7 +8523,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac 0.12.1", + "hmac", "subtle", ] @@ -10319,17 +8607,6 @@ dependencies = [ "librocksdb-sys", ] -[[package]] -name = "ron" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff" -dependencies = [ - "base64 0.13.1", - "bitflags 1.3.2", - "serde", -] - [[package]] name = "rsa" version = "0.8.2" @@ -10342,7 +8619,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "pkcs1 0.4.1", + "pkcs1", "pkcs8 0.9.0", "rand_core 0.6.4", "sha2 0.10.6", @@ -10351,27 +8628,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rsa" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f1471dbb4be5de45050e8ef7040625298ccb9efe941419ac2697088715925f" -dependencies = [ - "byteorder", - "const-oid", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-iter", - "num-traits", - "pkcs1 0.7.5", - "pkcs8 0.10.2", - "rand_core 0.6.4", - "signature 2.0.0", - "subtle", - "zeroize", -] - [[package]] name = "rstest" version = "0.16.0" @@ -10399,261 +8655,73 @@ dependencies = [ ] [[package]] -name = "rusoto_core" -version = "0.48.0" +name = "rustc-demangle" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hex" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db30db44ea73551326269adcf7a2169428a054f14faf9e1768f2163494f2fa2" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "async-trait", - "base64 0.13.1", - "bytes", - "crc32fast", - "futures", - "http", - "hyper", - "hyper-rustls 0.23.2", - "lazy_static", - "log", - "rusoto_credential", - "rusoto_signature", - "rustc_version", - "serde", - "serde_json", - "tokio", - "xml-rs", + "semver 1.0.16", ] [[package]] -name = "rusoto_credential" -version = "0.48.0" +name = "rusticata-macros" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee0a6c13db5aad6047b6a44ef023dbbc21a056b6dab5be3b79ce4283d5c02d05" +checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "async-trait", - "chrono", - "dirs-next", - "futures", - "hyper", - "serde", - "serde_json", - "shlex", - "tokio", - "zeroize", + "nom", ] [[package]] -name = "rusoto_kms" -version = "0.48.0" +name = "rustix" +version = "0.37.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e1fc19cfcfd9f6b2f96e36d5b0dddda9004d2cbfc2d17543e3b9f10cc38fce8" +checksum = "2aae838e49b3d63e9274e1c01833cc8139d3fec468c3b84688c628f44b1ae11d" dependencies = [ - "async-trait", - "bytes", - "futures", - "rusoto_core", - "serde", - "serde_json", + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.1", + "windows-sys 0.45.0", ] [[package]] -name = "rusoto_signature" -version = "0.48.0" +name = "rustix" +version = "0.38.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ae95491c8b4847931e291b151127eccd6ff8ca13f33603eb3d0035ecb05272" +checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" dependencies = [ - "base64 0.13.1", - "bytes", - "chrono", - "digest 0.9.0", - "futures", - "hex", - "hmac 0.11.0", - "http", - "hyper", - "log", - "md-5 0.9.1", - "percent-encoding", - "pin-project-lite", - "rusoto_credential", - "rustc_version", - "serde", - "sha2 0.9.9", - "tokio", + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys 0.4.12", + "windows-sys 0.52.0", ] [[package]] -name = "russh" -version = "0.38.0" +name = "rustls" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0efcc0f4cd6c062c07e572ce4b806e3967fa029fcbfcc0aa98fb5910a37925" -dependencies = [ - "aes", - "aes-gcm", - "async-trait", - "bitflags 2.4.1", - "byteorder", - "chacha20", - "ctr", - "curve25519-dalek", - "digest 0.10.7", - "flate2", - "futures", - "generic-array", - "hex-literal 0.4.1", - "hmac 0.12.1", - "log", - "num-bigint 0.4.4", - "once_cell", - "poly1305", - "rand 0.8.5", - "russh-cryptovec", - "russh-keys", - "sha1", - "sha2 0.10.6", - "subtle", - "thiserror", - "tokio", - "tokio-util 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "russh-cryptovec" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fdf036c2216b554053d19d4af45c1722d13b00ac494ea19825daf4beac034e" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "russh-keys" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557ab9190022dff78116ebed5e391abbd3f424b06cd643dfe262346ab91ed8c9" -dependencies = [ - "aes", - "async-trait", - "bcrypt-pbkdf", - "bit-vec", - "block-padding 0.3.2", - "byteorder", - "cbc", - "ctr", - "data-encoding", - "dirs 5.0.1", - "ed25519-dalek", - "futures", - "hmac 0.12.1", - "inout", - "log", - "md5", - "num-bigint 0.4.4", - "num-integer", - "pbkdf2 0.11.0", - "rand 0.7.3", - "rand_core 0.6.4", - "russh-cryptovec", - "serde", - "sha2 0.10.6", - "thiserror", - "tokio", - "tokio-stream", - "yasna", -] - -[[package]] -name = "rust_decimal" -version = "1.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c321ee4e17d2b7abe12b5d20c1231db708dd36185c8a21e9de5fed6da4dbe9" -dependencies = [ - "arrayvec 0.7.2", - "num-traits", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver 1.0.16", -] - -[[package]] -name = "rusticata-macros" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" -dependencies = [ - "nom", -] - -[[package]] -name = "rustix" -version = "0.36.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" -dependencies = [ - "bitflags 1.3.2", - "errno 0.2.8", - "io-lifetimes", - "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.42.0", -] - -[[package]] -name = "rustix" -version = "0.37.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aae838e49b3d63e9274e1c01833cc8139d3fec468c3b84688c628f44b1ae11d" -dependencies = [ - "bitflags 1.3.2", - "errno 0.3.8", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.1", - "windows-sys 0.45.0", -] - -[[package]] -name = "rustix" -version = "0.38.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" -dependencies = [ - "bitflags 2.4.1", - "errno 0.3.8", - "libc", - "linux-raw-sys 0.4.12", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.20.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" +checksum = "539a2bfe908f471bfa933876bd1eb6a19cf2176d375f82ef7f99530a40e48c2c" dependencies = [ "log", "ring 0.16.20", @@ -10673,6 +8741,20 @@ dependencies = [ "sct", ] +[[package]] +name = "rustls" +version = "0.23.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +dependencies = [ + "once_cell", + "ring 0.17.3", + "rustls-pki-types", + "rustls-webpki 0.102.6", + "subtle", + "zeroize", +] + [[package]] name = "rustls-native-certs" version = "0.6.2" @@ -10680,7 +8762,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pemfile 1.0.2", + "schannel", + "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.2", + "rustls-pki-types", "schannel", "security-framework", ] @@ -10694,6 +8789,22 @@ dependencies = [ "base64 0.21.2", ] +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + [[package]] name = "rustls-webpki" version = "0.100.3" @@ -10714,6 +8825,17 @@ dependencies = [ "untrusted 0.9.0", ] +[[package]] +name = "rustls-webpki" +version = "0.102.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +dependencies = [ + "ring 0.17.3", + "rustls-pki-types", + "untrusted 0.9.0", +] + [[package]] name = "rustversion" version = "1.0.11" @@ -10732,41 +8854,6 @@ dependencies = [ "wait-timeout", ] -[[package]] -name = "rustyline" -version = "9.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "clipboard-win", - "dirs-next", - "fd-lock", - "libc", - "log", - "memchr", - "nix 0.23.2", - "radix_trie", - "scopeguard", - "smallvec", - "unicode-segmentation", - "unicode-width", - "utf8parse", - "winapi", -] - -[[package]] -name = "rustyline-derive" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "107c3d5d7f370ac09efa62a78375f94d94b8a33c61d8c278b96683fb4dbf2d8d" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.107", -] - [[package]] name = "ryu" version = "1.0.12" @@ -10876,7 +8963,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" dependencies = [ - "hmac 0.12.1", + "hmac", "pbkdf2 0.11.0", "salsa20", "sha2 0.10.6", @@ -10892,12 +8979,6 @@ dependencies = [ "untrusted 0.7.1", ] -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "sec1" version = "0.3.0" @@ -11017,12 +9098,6 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" -[[package]] -name = "seq-macro" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" - [[package]] name = "serde" version = "1.0.202" @@ -11096,6 +9171,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_nanos" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a93142f0367a4cc53ae0fead1bcda39e85beccfad3dcd717656cacab94b12985" +dependencies = [ + "serde", +] + [[package]] name = "serde_path_to_error" version = "0.1.9" @@ -11107,13 +9191,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.10" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2 1.0.78", "quote 1.0.35", - "syn 1.0.107", + "syn 2.0.48", ] [[package]] @@ -11158,7 +9242,7 @@ dependencies = [ "indexmap 1.9.3", "serde", "serde_json", - "serde_with_macros", + "serde_with_macros 2.1.0", "time", ] @@ -11171,9 +9255,12 @@ dependencies = [ "base64 0.22.1", "chrono", "hex", + "indexmap 1.9.3", + "indexmap 2.2.6", "serde", "serde_derive", "serde_json", + "serde_with_macros 3.8.1", "time", ] @@ -11190,28 +9277,27 @@ dependencies = [ ] [[package]] -name = "serde_yaml" -version = "0.8.26" +name = "serde_with_macros" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" +checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" dependencies = [ - "indexmap 1.9.3", - "ryu", - "serde", - "yaml-rust", + "darling 0.20.10", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "serde_yaml" -version = "0.9.21" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d684e3ec7de3bf5466b32bd75303ac16f0736426e5a4e0d6e489559ce1249c" +checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b" dependencies = [ "indexmap 1.9.3", - "itoa", "ryu", "serde", - "unsafe-libyaml", + "yaml-rust", ] [[package]] @@ -11225,41 +9311,16 @@ dependencies = [ ] [[package]] -name = "serial_test" -version = "2.0.0" +name = "sha-1" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "dashmap", - "futures", - "lazy_static", - "log", - "parking_lot 0.12.1", - "serial_test_derive", -] - -[[package]] -name = "serial_test_derive" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", -] - -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", ] [[package]] @@ -11350,21 +9411,6 @@ dependencies = [ "serde_repr", ] -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - -[[package]] -name = "shellexpand" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs 5.0.1", -] - [[package]] name = "shlex" version = "1.3.0" @@ -11401,6 +9447,18 @@ dependencies = [ "libc", ] +[[package]] +name = "signatory" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e303f8205714074f6068773f0e29527e0453937fe837c9717d066635b65f31" +dependencies = [ + "pkcs8 0.10.2", + "rand_core 0.6.4", + "signature 2.0.0", + "zeroize", +] + [[package]] name = "signature" version = "1.6.4" @@ -11427,18 +9485,6 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21" -[[package]] -name = "simple_asn1" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -dependencies = [ - "num-bigint 0.4.4", - "num-traits", - "thiserror", - "time", -] - [[package]] name = "simplelog" version = "0.9.0" @@ -11535,12 +9581,6 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -[[package]] -name = "smawk" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" - [[package]] name = "snafu" version = "0.7.4" @@ -11569,46 +9609,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" -[[package]] -name = "snowflake-api" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e20db2ea77690628e34db7a6f63f539557195afbbc3cd349a8cbe293e1fffc" -dependencies = [ - "arrow", - "async-trait", - "base64 0.21.2", - "bytes", - "futures", - "log", - "object_store 0.9.0", - "regex", - "reqwest", - "reqwest-middleware", - "reqwest-retry", - "serde", - "serde_json", - "snowflake-jwt", - "thiserror", - "url", - "uuid 1.2.2", -] - -[[package]] -name = "snowflake-jwt" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13a6dfdd7c433e0f4bb96d777c88d900c5abe3dc4d2f26d2340fd6c7caadcc6c" -dependencies = [ - "base64 0.21.2", - "jsonwebtoken", - "rsa 0.9.1", - "serde", - "sha2 0.10.6", - "thiserror", - "time", -] - [[package]] name = "socket2" version = "0.4.9" @@ -11657,17 +9657,6 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -[[package]] -name = "spinners" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ef947f358b9c238923f764c72a4a9d42f2d637c46e059dbd319d6e7cfb4f82" -dependencies = [ - "lazy_static", - "maplit", - "strum 0.24.1", -] - [[package]] name = "spki" version = "0.6.0" @@ -11713,21 +9702,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "str-buf" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" - -[[package]] -name = "strip-ansi-escapes" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8" -dependencies = [ - "vte", -] - [[package]] name = "strsim" version = "0.10.0" @@ -11736,9 +9710,24 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "structs" +version = "0.1.0" +source = "git+ssh://git@github.com/nightly-labs/alexandria.git?rev=ce64446#ce64446d5ebe07fa36ab586ab169f50d65f607d1" +dependencies = [ + "bitcode", + "dotenvy", + "once_cell", + "rayon", + "serde", + "serde_json", + "serde_with 3.8.1", + "typeshare", +] [[package]] name = "strum" @@ -11806,103 +9795,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" -[[package]] -name = "sui" -version = "1.29.2" -dependencies = [ - "anemo", - "anyhow", - "assert_cmd", - "async-recursion", - "async-trait", - "axum", - "bcs", - "bin-version", - "bip32", - "camino", - "clap", - "colored", - "csv", - "datatest-stable", - "diesel", - "expect-test", - "fastcrypto", - "fastcrypto-zkp", - "fs_extra", - "futures", - "http", - "im", - "inquire", - "insta", - "jemalloc-ctl", - "json_to_table", - "miette", - "move-analyzer", - "move-binary-format", - "move-bytecode-verifier-meter", - "move-command-line-common", - "move-core-types", - "move-package", - "move-vm-config", - "move-vm-profiler", - "msim", - "num-bigint 0.4.4", - "prometheus", - "rand 0.8.5", - "regex", - "reqwest", - "rusoto_core", - "rusoto_kms", - "rustyline", - "rustyline-derive", - "serde", - "serde_json", - "serde_yaml 0.8.26", - "shared-crypto", - "shell-words", - "shlex", - "signature 1.6.4", - "sui-bridge", - "sui-cluster-test", - "sui-config", - "sui-execution", - "sui-faucet", - "sui-genesis-builder", - "sui-graphql-rpc", - "sui-indexer", - "sui-json", - "sui-json-rpc-types", - "sui-keys", - "sui-macros", - "sui-move", - "sui-move-build", - "sui-package-management", - "sui-protocol-config", - "sui-replay", - "sui-sdk 1.29.2", - "sui-simulator", - "sui-source-validation", - "sui-swarm", - "sui-swarm-config", - "sui-test-transaction-builder", - "sui-transaction-builder", - "sui-types", - "tabled", - "tap", - "telemetry-subscribers", - "tempfile", - "test-cluster", - "thiserror", - "tokio", - "toml 0.7.4", - "tower", - "tower-http", - "tracing", - "unescape", - "url", - "uuid 1.2.2", -] - [[package]] name = "sui-adapter-latest" version = "0.1.0" @@ -11931,14 +9823,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-adapter-transactional-tests" -version = "0.1.0" -dependencies = [ - "datatest-stable", - "sui-transactional-test-runner", -] - [[package]] name = "sui-adapter-v0" version = "0.1.0" @@ -12021,69 +9905,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-analytics-indexer" -version = "1.29.2" -dependencies = [ - "anyhow", - "arrow", - "arrow-array", - "async-trait", - "axum", - "bcs", - "byteorder", - "bytes", - "chrono", - "clap", - "csv", - "eyre", - "fastcrypto", - "gcp-bigquery-client", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "mysten-metrics", - "num_enum 0.6.1", - "object_store 0.7.0", - "parquet", - "prometheus", - "rocksdb", - "serde", - "serde_json", - "simulacrum", - "snowflake-api", - "strum 0.24.1", - "strum_macros 0.24.3", - "sui-analytics-indexer-derive", - "sui-config", - "sui-data-ingestion-core", - "sui-indexer", - "sui-json-rpc-types", - "sui-package-resolver", - "sui-rest-api", - "sui-storage", - "sui-types", - "tap", - "telemetry-subscribers", - "tempfile", - "thiserror", - "tokio", - "tokio-stream", - "tracing", - "typed-store", - "typed-store-derive", - "url", -] - -[[package]] -name = "sui-analytics-indexer-derive" -version = "1.29.2" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 1.0.107", -] - [[package]] name = "sui-archival" version = "1.29.2" @@ -12100,7 +9921,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", @@ -12128,88 +9949,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-aws-orchestrator" -version = "0.0.1" -dependencies = [ - "async-trait", - "aws-config", - "aws-sdk-ec2", - "aws-smithy-http", - "aws-smithy-runtime-api", - "clap", - "color-eyre", - "crossterm", - "eyre", - "futures", - "mysten-metrics", - "narwhal-config", - "prettytable-rs", - "prometheus-parse", - "reqwest", - "russh", - "russh-keys", - "serde", - "serde_json", - "sui-config", - "sui-swarm-config", - "sui-types", - "tempfile", - "thiserror", - "tokio", -] - -[[package]] -name = "sui-benchmark" -version = "0.0.0" -dependencies = [ - "anyhow", - "async-trait", - "bcs", - "clap", - "comfy-table", - "duration-str", - "fastcrypto-zkp", - "futures", - "hdrhistogram", - "indicatif", - "itertools 0.10.5", - "move-core-types", - "mysten-metrics", - "narwhal-node", - "prometheus", - "rand 0.8.5", - "regex", - "roaring", - "serde", - "serde_json", - "strum 0.24.1", - "strum_macros 0.24.3", - "sui-config", - "sui-core", - "sui-framework", - "sui-framework-snapshot", - "sui-json-rpc-types", - "sui-keys", - "sui-macros", - "sui-network", - "sui-protocol-config", - "sui-sdk 1.29.2", - "sui-simulator", - "sui-storage", - "sui-surfer", - "sui-swarm-config", - "sui-test-transaction-builder", - "sui-types", - "sysinfo", - "telemetry-subscribers", - "test-cluster", - "tokio", - "tokio-util 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing", - "typed-store", -] - [[package]] name = "sui-bridge" version = "1.29.2" @@ -12261,103 +10000,6 @@ dependencies = [ "url", ] -[[package]] -name = "sui-bridge-cli" -version = "1.29.2" -dependencies = [ - "anyhow", - "clap", - "ethers", - "fastcrypto", - "futures", - "move-core-types", - "reqwest", - "serde", - "serde_json", - "serde_with 2.1.0", - "shared-crypto", - "sui-bridge", - "sui-config", - "sui-json-rpc-types", - "sui-keys", - "sui-sdk 1.29.2", - "sui-types", - "telemetry-subscribers", - "tokio", - "tracing", -] - -[[package]] -name = "sui-bridge-indexer" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "backoff", - "bcs", - "bin-version", - "clap", - "diesel", - "ethers", - "futures", - "hex-literal 0.3.4", - "mysten-metrics", - "prometheus", - "serde", - "serde_yaml 0.8.26", - "sui-bridge", - "sui-config", - "sui-data-ingestion-core", - "sui-json-rpc-types", - "sui-sdk 1.29.2", - "sui-test-transaction-builder", - "sui-types", - "tap", - "telemetry-subscribers", - "test-cluster", - "tokio", - "tracing", -] - -[[package]] -name = "sui-cluster-test" -version = "1.29.2" -dependencies = [ - "anyhow", - "async-trait", - "clap", - "derivative", - "diesel", - "fastcrypto", - "futures", - "jsonrpsee", - "move-core-types", - "prometheus", - "regex", - "reqwest", - "serde_json", - "shared-crypto", - "sui-config", - "sui-core", - "sui-faucet", - "sui-graphql-rpc", - "sui-indexer", - "sui-json", - "sui-json-rpc-types", - "sui-keys", - "sui-sdk 1.29.2", - "sui-swarm", - "sui-swarm-config", - "sui-test-transaction-builder", - "sui-types", - "telemetry-subscribers", - "tempfile", - "test-cluster", - "tokio", - "tracing", - "uuid 1.2.2", -] - [[package]] name = "sui-common" version = "0.1.0" @@ -12378,18 +10020,18 @@ dependencies = [ "bcs", "clap", "csv", - "dirs 4.0.0", + "dirs", "fastcrypto", "insta", "narwhal-config", - "object_store 0.7.0", + "object_store", "once_cell", "prometheus", "rand 0.8.5", "reqwest", "serde", "serde_with 2.1.0", - "serde_yaml 0.8.26", + "serde_yaml", "sui-keys", "sui-protocol-config", "sui-types", @@ -12452,7 +10094,7 @@ dependencies = [ "nonempty", "num-bigint 0.4.4", "num_cpus", - "object_store 0.7.0", + "object_store", "once_cell", "parking_lot 0.12.1", "pprof", @@ -12469,7 +10111,7 @@ dependencies = [ "serde-reflection", "serde_json", "serde_with 2.1.0", - "serde_yaml 0.8.26", + "serde_yaml", "shared-crypto", "signature 1.6.4", "static_assertions", @@ -12507,28 +10149,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "sui-cost" -version = "0.1.0" -dependencies = [ - "anyhow", - "bcs", - "insta", - "move-cli", - "move-disassembler", - "serde", - "strum 0.24.1", - "strum_macros 0.24.3", - "sui-config", - "sui-json-rpc-types", - "sui-move-build", - "sui-swarm-config", - "sui-test-transaction-builder", - "sui-types", - "test-cluster", - "tokio", -] - [[package]] name = "sui-data-ingestion" version = "1.29.2" @@ -12546,12 +10166,12 @@ dependencies = [ "futures", "mysten-metrics", "notify", - "object_store 0.7.0", + "object_store", "prometheus", "rand 0.8.5", "serde", "serde_json", - "serde_yaml 0.8.26", + "serde_yaml", "sui-archival", "sui-data-ingestion-core", "sui-storage", @@ -12574,7 +10194,8 @@ dependencies = [ "futures", "mysten-metrics", "notify", - "object_store 0.7.0", + "object_store", + "odin", "prometheus", "rand 0.8.5", "serde", @@ -12591,73 +10212,11 @@ dependencies = [ "url", ] -[[package]] -name = "sui-e2e-tests" -version = "1.29.2" -dependencies = [ - "anyhow", - "assert_cmd", - "async-trait", - "bcs", - "clap", - "coset", - "expect-test", - "fastcrypto", - "fastcrypto-zkp", - "fs_extra", - "futures", - "indexmap 2.2.6", - "insta", - "jsonrpsee", - "move-binary-format", - "move-core-types", - "move-package", - "mysten-metrics", - "p256", - "passkey-authenticator", - "passkey-client", - "passkey-types", - "prometheus", - "rand 0.8.5", - "serde", - "serde_json", - "shared-crypto", - "sui", - "sui-bridge", - "sui-config", - "sui-core", - "sui-framework", - "sui-json-rpc", - "sui-json-rpc-api", - "sui-json-rpc-types", - "sui-keys", - "sui-macros", - "sui-move-build", - "sui-network", - "sui-node", - "sui-protocol-config", - "sui-rest-api", - "sui-sdk 1.29.2", - "sui-simulator", - "sui-storage", - "sui-swarm", - "sui-swarm-config", - "sui-test-transaction-builder", - "sui-tool", - "sui-types", - "telemetry-subscribers", - "tempfile", - "test-cluster", - "tokio", - "tracing", - "url", -] - [[package]] name = "sui-enum-compat-util" version = "0.1.0" dependencies = [ - "serde_yaml 0.8.26", + "serde_yaml", ] [[package]] @@ -12696,72 +10255,20 @@ dependencies = [ ] [[package]] -name = "sui-execution-cut" +name = "sui-framework" version = "0.1.0" dependencies = [ "anyhow", - "clap", - "expect-test", - "tempfile", - "thiserror", - "toml 0.7.4", - "toml_edit 0.19.10", -] - -[[package]] -name = "sui-faucet" -version = "1.29.2" -dependencies = [ - "anyhow", - "async-recursion", - "async-trait", - "axum", - "clap", - "eyre", - "futures", - "http", - "mysten-metrics", - "parking_lot 0.12.1", - "prometheus", - "rocksdb", - "scopeguard", - "serde", - "shared-crypto", - "sui-config", - "sui-json-rpc-types", - "sui-keys", - "sui-sdk 1.29.2", - "sui-types", - "tap", - "telemetry-subscribers", - "tempfile", - "test-cluster", - "thiserror", - "tokio", - "tower", - "tower-http", - "tracing", - "ttl_cache", - "typed-store", - "typed-store-derive", - "uuid 1.2.2", -] - -[[package]] -name = "sui-framework" -version = "0.1.0" -dependencies = [ - "anyhow", - "bcs", - "move-binary-format", - "move-compiler", - "move-core-types", - "move-package", - "once_cell", - "regex", - "serde", - "sui-move-build", - "sui-types", + "bcs", + "move-binary-format", + "move-compiler", + "move-core-types", + "move-package", + "once_cell", + "regex", + "serde", + "sui-move-build", + "sui-types", "tempfile", "tracing", ] @@ -12781,25 +10288,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "sui-framework-tests" -version = "0.1.0" -dependencies = [ - "move-bytecode-verifier", - "move-bytecode-verifier-meter", - "move-cli", - "move-package", - "move-unit-test", - "prometheus", - "sui-adapter-latest", - "sui-framework", - "sui-move", - "sui-move-build", - "sui-protocol-config", - "sui-types", - "sui-verifier-latest", -] - [[package]] name = "sui-genesis-builder" version = "0.0.0" @@ -12815,7 +10303,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_with 2.1.0", - "serde_yaml 0.8.26", + "serde_yaml", "shared-crypto", "sui-config", "sui-execution", @@ -12828,123 +10316,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-graphql-config" -version = "1.29.2" -dependencies = [ - "quote 1.0.35", - "syn 1.0.107", -] - -[[package]] -name = "sui-graphql-e2e-tests" -version = "0.1.0" -dependencies = [ - "datatest-stable", - "msim", - "sui-graphql-rpc", - "sui-transactional-test-runner", - "tokio", -] - -[[package]] -name = "sui-graphql-rpc" -version = "2024.7.0" -dependencies = [ - "anyhow", - "async-graphql", - "async-graphql-axum", - "async-graphql-value", - "async-trait", - "axum", - "bcs", - "bin-version", - "chrono", - "clap", - "const-str", - "diesel", - "downcast", - "either", - "expect-test", - "fastcrypto", - "fastcrypto-zkp", - "futures", - "hex", - "http", - "hyper", - "im", - "insta", - "itertools 0.10.5", - "lru 0.10.0", - "markdown-gen", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "move-disassembler", - "move-ir-types", - "mysten-metrics", - "mysten-network", - "once_cell", - "prometheus", - "rand 0.8.5", - "regex", - "reqwest", - "serde", - "serde_json", - "serde_with 2.1.0", - "serde_yaml 0.8.26", - "serial_test", - "shared-crypto", - "similar", - "simulacrum", - "sui-framework", - "sui-graphql-config", - "sui-graphql-rpc-client", - "sui-graphql-rpc-headers", - "sui-indexer", - "sui-json-rpc", - "sui-json-rpc-types", - "sui-package-resolver", - "sui-protocol-config", - "sui-rest-api", - "sui-sdk 1.29.2", - "sui-swarm-config", - "sui-test-transaction-builder", - "sui-types", - "tap", - "telemetry-subscribers", - "tempfile", - "test-cluster", - "thiserror", - "tokio", - "tokio-util 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", - "toml 0.7.4", - "tower", - "tower-http", - "tracing", - "uuid 1.2.2", -] - -[[package]] -name = "sui-graphql-rpc-client" -version = "0.1.0" -dependencies = [ - "async-graphql", - "axum", - "hyper", - "reqwest", - "serde_json", - "sui-graphql-rpc-headers", - "thiserror", -] - -[[package]] -name = "sui-graphql-rpc-headers" -version = "0.1.0" -dependencies = [ - "axum", -] - [[package]] name = "sui-indexer" version = "1.29.2" @@ -12971,6 +10342,7 @@ dependencies = [ "move-core-types", "mysten-metrics", "ntest", + "odin", "prometheus", "rayon", "regex", @@ -13049,6 +10421,7 @@ dependencies = [ "move-core-types", "move-package", "mysten-metrics", + "odin", "once_cell", "prometheus", "serde", @@ -13097,43 +10470,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-json-rpc-tests" -version = "0.0.0" -dependencies = [ - "anyhow", - "async-trait", - "bcs", - "hyper", - "jsonrpsee", - "move-core-types", - "move-package", - "prometheus", - "rand 0.8.5", - "reqwest", - "sui-config", - "sui-core", - "sui-json", - "sui-json-rpc", - "sui-json-rpc-api", - "sui-json-rpc-types", - "sui-keys", - "sui-macros", - "sui-move-build", - "sui-open-rpc", - "sui-open-rpc-macros", - "sui-protocol-config", - "sui-sdk 1.29.2", - "sui-simulator", - "sui-swarm-config", - "sui-test-transaction-builder", - "sui-types", - "telemetry-subscribers", - "test-cluster", - "tokio", - "tracing", -] - [[package]] name = "sui-json-rpc-types" version = "0.0.0" @@ -13182,30 +10518,6 @@ dependencies = [ "tiny-bip39", ] -[[package]] -name = "sui-light-client" -version = "1.29.2" -dependencies = [ - "anyhow", - "async-trait", - "bcs", - "bytes", - "clap", - "move-binary-format", - "move-core-types", - "serde", - "serde_json", - "serde_yaml 0.8.26", - "sui-config", - "sui-json", - "sui-json-rpc-types", - "sui-package-resolver", - "sui-rest-api", - "sui-sdk 1.29.2", - "sui-types", - "tokio", -] - [[package]] name = "sui-macros" version = "0.7.0" @@ -13216,27 +10528,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-metric-checker" -version = "1.29.2" -dependencies = [ - "anyhow", - "backoff", - "base64 0.21.2", - "chrono", - "clap", - "humantime", - "once_cell", - "prometheus-http-query", - "reqwest", - "serde", - "serde_yaml 0.9.21", - "strum_macros 0.24.3", - "telemetry-subscribers", - "tokio", - "tracing", -] - [[package]] name = "sui-move" version = "1.29.2" @@ -13264,7 +10555,7 @@ dependencies = [ "prometheus", "rand 0.8.5", "serde_json", - "serde_yaml 0.8.26", + "serde_yaml", "sui-core", "sui-macros", "sui-move-build", @@ -13303,16 +10594,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "sui-move-lsp" -version = "1.29.2" -dependencies = [ - "bin-version", - "clap", - "move-analyzer", - "tokio", -] - [[package]] name = "sui-move-natives-latest" version = "0.1.0" @@ -13519,37 +10800,7 @@ dependencies = [ ] [[package]] -name = "sui-oracle" -version = "1.29.2" -dependencies = [ - "anyhow", - "bcs", - "chrono", - "clap", - "dirs 4.0.0", - "jsonpath_lib", - "mysten-metrics", - "once_cell", - "prometheus", - "rand 0.8.5", - "reqwest", - "serde", - "serde_json", - "shared-crypto", - "sui-config", - "sui-json-rpc-types", - "sui-keys", - "sui-move-build", - "sui-sdk 1.29.2", - "sui-types", - "tap", - "telemetry-subscribers", - "tokio", - "tracing", -] - -[[package]] -name = "sui-package-management" +name = "sui-package-management" version = "1.29.2" dependencies = [ "anyhow", @@ -13620,96 +10871,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "sui-proxy" -version = "0.0.2" -dependencies = [ - "anyhow", - "axum", - "axum-server", - "bin-version", - "bytes", - "clap", - "const-str", - "fastcrypto", - "hex", - "http-body", - "hyper", - "ipnetwork", - "itertools 0.10.5", - "mime", - "multiaddr", - "mysten-metrics", - "once_cell", - "prometheus", - "prost 0.12.3", - "prost-build", - "protobuf", - "rand 0.8.5", - "reqwest", - "rustls 0.21.12", - "rustls-pemfile", - "serde", - "serde_json", - "serde_with 2.1.0", - "serde_yaml 0.8.26", - "snap", - "sui-tls", - "sui-types", - "telemetry-subscribers", - "tokio", - "tower", - "tower-http", - "tracing", -] - -[[package]] -name = "sui-replay" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-recursion", - "async-trait", - "bcs", - "clap", - "futures", - "http", - "jsonrpsee", - "lru 0.10.0", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "move-vm-config", - "parking_lot 0.12.1", - "prometheus", - "rand 0.8.5", - "serde", - "serde_json", - "serde_with 2.1.0", - "serde_yaml 0.8.26", - "shared-crypto", - "shellexpand", - "similar", - "sui-config", - "sui-core", - "sui-execution", - "sui-framework", - "sui-json-rpc", - "sui-json-rpc-api", - "sui-json-rpc-types", - "sui-protocol-config", - "sui-sdk 1.29.2", - "sui-storage", - "sui-transaction-checks", - "sui-types", - "tabled", - "tempfile", - "thiserror", - "tokio", - "tokio-util 0.7.10 (registry+https://github.com/rust-lang/crates.io-index)", - "tracing", -] - [[package]] name = "sui-rest-api" version = "0.1.0" @@ -13731,7 +10892,7 @@ dependencies = [ "serde", "serde_json", "serde_with 2.1.0", - "serde_yaml 0.8.26", + "serde_yaml", "sui-protocol-config", "sui-sdk 0.0.0", "sui-types", @@ -13740,77 +10901,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "sui-rosetta" -version = "1.29.2" -dependencies = [ - "anyhow", - "async-trait", - "axum", - "axum-extra", - "bcs", - "clap", - "eyre", - "fastcrypto", - "futures", - "hyper", - "move-core-types", - "mysten-metrics", - "once_cell", - "rand 0.8.5", - "reqwest", - "serde", - "serde_json", - "shared-crypto", - "signature 1.6.4", - "strum 0.24.1", - "strum_macros 0.24.3", - "sui-config", - "sui-json-rpc-types", - "sui-keys", - "sui-move-build", - "sui-node", - "sui-sdk 1.29.2", - "sui-swarm-config", - "sui-types", - "telemetry-subscribers", - "tempfile", - "test-cluster", - "thiserror", - "tokio", - "tracing", - "typed-store", -] - -[[package]] -name = "sui-rpc-loadgen" -version = "1.29.2" -dependencies = [ - "anyhow", - "async-trait", - "clap", - "dashmap", - "dirs 4.0.0", - "futures", - "itertools 0.10.5", - "serde", - "serde_json", - "shared-crypto", - "shellexpand", - "strum 0.24.1", - "strum_macros 0.24.3", - "sui-json-rpc", - "sui-json-rpc-types", - "sui-keys", - "sui-sdk 1.29.2", - "sui-types", - "telemetry-subscribers", - "test-cluster", - "tokio", - "tonic 0.11.0", - "tracing", -] - [[package]] name = "sui-sdk" version = "0.0.0" @@ -13841,7 +10931,7 @@ dependencies = [ "bcs", "clap", "colored", - "dirs 4.0.0", + "dirs", "fastcrypto", "futures", "futures-core", @@ -13866,30 +10956,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-security-watchdog" -version = "1.29.2" -dependencies = [ - "anyhow", - "arrow-array", - "async-trait", - "chrono", - "clap", - "env_logger", - "lexical-util", - "mysten-metrics", - "prometheus", - "reqwest", - "serde", - "serde_json", - "snowflake-api", - "telemetry-subscribers", - "tokio", - "tokio-cron-scheduler", - "tracing", - "uuid 1.2.2", -] - [[package]] name = "sui-simulator" version = "0.7.0" @@ -13909,138 +10975,36 @@ dependencies = [ "sui-types", "telemetry-subscribers", "tempfile", - "tower", - "tracing", -] - -[[package]] -name = "sui-single-node-benchmark" -version = "1.29.2" -dependencies = [ - "async-trait", - "bcs", - "clap", - "fs_extra", - "futures", - "move-binary-format", - "move-bytecode-utils", - "move-core-types", - "move-package", - "once_cell", - "prometheus", - "serde", - "serde_json", - "strum 0.24.1", - "strum_macros 0.24.3", - "sui-config", - "sui-core", - "sui-macros", - "sui-move-build", - "sui-protocol-config", - "sui-simulator", - "sui-storage", - "sui-test-transaction-builder", - "sui-transaction-checks", - "sui-types", - "telemetry-subscribers", - "tokio", - "tracing", -] - -[[package]] -name = "sui-snapshot" -version = "0.1.0" -dependencies = [ - "anyhow", - "bcs", - "byteorder", - "bytes", - "fastcrypto", - "futures", - "indicatif", - "integer-encoding", - "num_enum 0.6.1", - "object_store 0.7.0", - "prometheus", - "serde", - "serde_json", - "sui-config", - "sui-core", - "sui-protocol-config", - "sui-storage", - "sui-types", - "tempfile", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "sui-source-validation" -version = "1.29.2" -dependencies = [ - "anyhow", - "colored", - "expect-test", - "flate2", - "futures", - "move-binary-format", - "move-bytecode-source-map", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-package", - "move-symbol-pool", - "rand 0.8.5", - "sui-json-rpc-types", - "sui-move-build", - "sui-sdk 1.29.2", - "sui-test-transaction-builder", - "sui-types", - "tar", - "tempfile", - "test-cluster", - "thiserror", - "tokio", + "tower", "tracing", - "ureq", ] [[package]] -name = "sui-source-validation-service" +name = "sui-snapshot" version = "0.1.0" dependencies = [ "anyhow", - "axum", - "bin-version", - "clap", - "expect-test", - "fs_extra", - "hyper", - "jsonrpsee", - "move-compiler", - "move-core-types", - "move-package", - "move-symbol-pool", - "mysten-metrics", + "bcs", + "byteorder", + "bytes", + "fastcrypto", + "futures", + "indicatif", + "integer-encoding", + "num_enum 0.6.1", + "object_store", "prometheus", - "reqwest", "serde", - "sui", - "sui-json-rpc-types", - "sui-move", - "sui-move-build", - "sui-sdk 1.29.2", - "sui-source-validation", - "telemetry-subscribers", + "serde_json", + "sui-config", + "sui-core", + "sui-protocol-config", + "sui-storage", + "sui-types", "tempfile", - "test-cluster", "tokio", - "toml 0.7.4", - "tower", - "tower-http", + "tokio-stream", "tracing", - "url", ] [[package]] @@ -14072,7 +11036,7 @@ 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", @@ -14097,35 +11061,7 @@ dependencies = [ "typed-store", "typed-store-derive", "url", - "zstd 0.12.3+zstd.1.5.2", -] - -[[package]] -name = "sui-surfer" -version = "1.29.2" -dependencies = [ - "async-trait", - "bcs", - "clap", - "futures", - "indexmap 2.2.6", - "move-binary-format", - "move-core-types", - "move-package", - "prometheus", - "rand 0.8.5", - "sui-core", - "sui-json-rpc-types", - "sui-macros", - "sui-move-build", - "sui-protocol-config", - "sui-simulator", - "sui-swarm-config", - "sui-types", - "telemetry-subscribers", - "test-cluster", - "tokio", - "tracing", + "zstd", ] [[package]] @@ -14168,7 +11104,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_with 2.1.0", - "serde_yaml 0.8.26", + "serde_yaml", "shared-crypto", "sui-config", "sui-execution", @@ -14204,10 +11140,6 @@ dependencies = [ "sui-types", ] -[[package]] -name = "sui-test-validator" -version = "1.29.2" - [[package]] name = "sui-tls" version = "0.0.0" @@ -14229,55 +11161,6 @@ dependencies = [ "x509-parser", ] -[[package]] -name = "sui-tool" -version = "1.29.2" -dependencies = [ - "anemo", - "anemo-cli", - "anyhow", - "bcs", - "bin-version", - "clap", - "colored", - "comfy-table", - "diesel", - "eyre", - "fastcrypto", - "futures", - "hex", - "indicatif", - "itertools 0.10.5", - "move-core-types", - "narwhal-storage", - "narwhal-types", - "num_cpus", - "object_store 0.7.0", - "prometheus", - "rocksdb", - "ron", - "serde", - "serde_json", - "strum 0.24.1", - "strum_macros 0.24.3", - "sui-archival", - "sui-config", - "sui-core", - "sui-indexer", - "sui-network", - "sui-protocol-config", - "sui-replay", - "sui-sdk 1.29.2", - "sui-snapshot", - "sui-storage", - "sui-types", - "telemetry-subscribers", - "tempfile", - "tokio", - "tracing", - "typed-store", -] - [[package]] name = "sui-transaction-builder" version = "0.0.0" @@ -14308,55 +11191,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "sui-transactional-test-runner" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "bcs", - "bimap", - "clap", - "criterion", - "eyre", - "fastcrypto", - "futures", - "move-binary-format", - "move-bytecode-utils", - "move-command-line-common", - "move-compiler", - "move-core-types", - "move-stdlib", - "move-symbol-pool", - "move-transactional-test-runner", - "move-vm-runtime", - "msim", - "once_cell", - "rand 0.8.5", - "regex", - "rocksdb", - "serde_json", - "simulacrum", - "sui-config", - "sui-core", - "sui-framework", - "sui-framework-snapshot", - "sui-graphql-rpc", - "sui-json-rpc", - "sui-json-rpc-api", - "sui-json-rpc-types", - "sui-protocol-config", - "sui-rest-api", - "sui-storage", - "sui-swarm-config", - "sui-types", - "telemetry-subscribers", - "tempfile", - "tokio", - "typed-store", - "typed-store-derive", -] - [[package]] name = "sui-types" version = "0.1.0" @@ -14402,6 +11236,7 @@ dependencies = [ "num-bigint 0.4.4", "num-traits", "num_enum 0.6.1", + "odin", "once_cell", "p256", "parking_lot 0.12.1", @@ -14418,7 +11253,7 @@ dependencies = [ "serde-name", "serde_json", "serde_with 2.1.0", - "serde_yaml 0.8.26", + "serde_yaml", "shared-crypto", "signature 1.6.4", "static_assertions", @@ -14437,20 +11272,6 @@ dependencies = [ "url", ] -[[package]] -name = "sui-upgrade-compatibility-transactional-tests" -version = "0.1.0" -dependencies = [ - "anyhow", - "datatest-stable", - "insta", - "move-binary-format", - "move-command-line-common", - "move-compiler", - "move-package", - "sui-move-build", -] - [[package]] name = "sui-verifier-latest" version = "0.1.0" @@ -14467,14 +11288,6 @@ dependencies = [ "sui-types", ] -[[package]] -name = "sui-verifier-transactional-tests" -version = "0.1.0" -dependencies = [ - "datatest-stable", - "sui-transactional-test-runner", -] - [[package]] name = "sui-verifier-v0" version = "0.1.0" @@ -14501,113 +11314,23 @@ dependencies = [ "move-bytecode-verifier-v1", "move-core-types", "move-vm-config", - "sui-types", -] - -[[package]] -name = "sui-verifier-v2" -version = "0.1.0" -dependencies = [ - "move-abstract-stack", - "move-binary-format", - "move-bytecode-utils", - "move-bytecode-verifier-meter", - "move-bytecode-verifier-v2", - "move-core-types", - "move-vm-config", - "sui-protocol-config", - "sui-types", -] - -[[package]] -name = "suins-indexer" -version = "1.29.2" -dependencies = [ - "anyhow", - "async-trait", - "backoff", - "base64-url", - "bcs", - "bytes", - "diesel", - "dotenvy", - "futures", - "move-core-types", - "mysten-metrics", - "mysten-service", - "notify", - "object_store 0.7.0", - "prometheus", - "rand 0.8.5", - "serde", - "serde_json", - "serde_yaml 0.8.26", - "sui-data-ingestion-core", - "sui-json-rpc", - "sui-storage", - "sui-types", - "telemetry-subscribers", - "tempfile", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "suiop-cli" -version = "0.2.5" -dependencies = [ - "anyhow", - "axum", - "base64 0.21.2", - "chrono", - "clap", - "colored", - "dirs 4.0.0", - "docker-api", - "field_names", - "include_dir", - "inquire", - "open", - "prettytable-rs", - "rand 0.8.5", - "regex", - "reqwest", - "semver 1.0.16", - "serde", - "serde_json", - "serde_yaml 0.8.26", - "sha2 0.10.6", - "spinners", - "strum 0.24.1", - "tabled", - "tempfile", - "tokio", - "toml_edit 0.19.10", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "supports-color" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9829b314621dfc575df4e409e79f9d6a66a3bd707ab73f23cb4aa3a854ac854f" -dependencies = [ - "is_ci", -] - -[[package]] -name = "supports-hyperlinks" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c0a1e5168041f5f3ff68ff7d95dcb9c8749df29f6e7e89ada40dd4c9de404ee" + "sui-types", +] [[package]] -name = "supports-unicode" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2" +name = "sui-verifier-v2" +version = "0.1.0" +dependencies = [ + "move-abstract-stack", + "move-binary-format", + "move-bytecode-utils", + "move-bytecode-verifier-meter", + "move-bytecode-verifier-v2", + "move-core-types", + "move-vm-config", + "sui-protocol-config", + "sui-types", +] [[package]] name = "symbolic-common" @@ -14683,21 +11406,6 @@ dependencies = [ "unicode-xid 0.2.4", ] -[[package]] -name = "sysinfo" -version = "0.27.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "975fe381e0ecba475d4acff52466906d95b153a40324956552e027b2a9eaa89e" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "rayon", - "winapi", -] - [[package]] name = "tabled" version = "0.12.2" @@ -14722,16 +11430,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "tabular" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9a2882c514780a1973df90de9d68adcd8871bacc9a6331c3f28e6d2ff91a3d1" -dependencies = [ - "strip-ansi-escapes", - "unicode-width", -] - [[package]] name = "tagptr" version = "0.2.0" @@ -14744,44 +11442,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "tar" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "target-lexicon" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" - -[[package]] -name = "target-spec" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb0303f2cecb4171c439135b28c33fe9da7b9fd7816fe674761834da70c9778" -dependencies = [ - "cfg-expr", - "guppy-workspace-hack", - "serde", - "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" @@ -14795,10 +11455,10 @@ dependencies = [ "crossterm", "futures", "once_cell", - "opentelemetry 0.20.0", + "opentelemetry", "opentelemetry-otlp", "opentelemetry-proto", - "opentelemetry_api 0.20.0", + "opentelemetry_api", "prometheus", "prost 0.11.9", "tokio", @@ -14822,17 +11482,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - [[package]] name = "termcolor" version = "1.1.3" @@ -14949,17 +11598,6 @@ dependencies = [ "test-fuzz-internal", ] -[[package]] -name = "textwrap" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - [[package]] name = "thiserror" version = "1.0.56" @@ -14998,17 +11636,6 @@ dependencies = [ "num_cpus", ] -[[package]] -name = "thrift" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e54bc85fc7faa8bc175c4bab5b92ba8d9a3ce893d0e9f42cc455c8ab16a9e09" -dependencies = [ - "byteorder", - "integer-encoding", - "ordered-float 2.10.1", -] - [[package]] name = "time" version = "0.3.31" @@ -15017,8 +11644,6 @@ checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ "deranged", "itoa", - "libc", - "num_threads", "powerfmt", "serde", "time-core", @@ -15047,7 +11672,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" dependencies = [ "anyhow", - "hmac 0.12.1", + "hmac", "once_cell", "pbkdf2 0.11.0", "rand 0.8.5", @@ -15113,21 +11738,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "tokio-cron-scheduler" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1215c91d6f74868e18a65bda99853e012cfb2a0e42f3438382e318277da76a0" -dependencies = [ - "chrono", - "cron", - "num-derive", - "num-traits", - "tokio", - "tracing", - "uuid 1.2.2", -] - [[package]] name = "tokio-io-timeout" version = "1.2.0" @@ -15191,6 +11801,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.12", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.14" @@ -15255,7 +11876,6 @@ version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" dependencies = [ - "indexmap 1.9.3", "serde", ] @@ -15265,19 +11885,12 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" dependencies = [ - "indexmap 1.9.3", "serde", "serde_spanned", - "toml_datetime 0.6.2", + "toml_datetime", "toml_edit 0.19.10", ] -[[package]] -name = "toml_datetime" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" - [[package]] name = "toml_datetime" version = "0.6.2" @@ -15299,18 +11912,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1541ba70885967e662f69d31ab3aeca7b1aaecfcd58679590b893e9239c3646" -dependencies = [ - "combine", - "indexmap 1.9.3", - "itertools 0.10.5", - "toml_datetime 0.5.1", -] - [[package]] name = "toml_edit" version = "0.19.10" @@ -15320,7 +11921,7 @@ dependencies = [ "indexmap 1.9.3", "serde", "serde_spanned", - "toml_datetime 0.6.2", + "toml_datetime", "winnow 0.4.6", ] @@ -15472,7 +12073,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" dependencies = [ - "async-compression 0.3.15", + "async-compression", "base64 0.13.1", "bitflags 1.3.2", "bytes", @@ -15552,24 +12153,12 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-error" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" -dependencies = [ - "tracing", - "tracing-subscriber", -] - [[package]] name = "tracing-futures" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "futures", - "futures-task", "pin-project", "tracing", ] @@ -15592,8 +12181,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75327c6b667828ddc28f5e3f169036cb793c3f588d83bf0f262a7f062ffed3c8" dependencies = [ "once_cell", - "opentelemetry 0.20.0", - "opentelemetry_sdk 0.20.0", + "opentelemetry", + "opentelemetry_sdk", "smallvec", "tracing", "tracing-core", @@ -15644,23 +12233,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "transaction-fuzzer" -version = "0.1.0" -dependencies = [ - "move-core-types", - "once_cell", - "proptest", - "proptest-derive", - "rand 0.8.5", - "sui-core", - "sui-move-build", - "sui-protocol-config", - "sui-types", - "tokio", - "tracing", -] - [[package]] name = "treeline" version = "0.1.0" @@ -15680,12 +12252,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] -name = "ttl_cache" +name = "tryhard" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4189890526f0168710b6ee65ceaedf1460c48a14318ceec933cb26baa492096a" +checksum = "9c9f0a709784e86923586cff0d872dba54cd2d2e116b3bc57587d15737cfce9d" dependencies = [ - "linked-hash-map", + "futures", + "pin-project-lite", + "tokio", ] [[package]] @@ -15727,7 +12301,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "rand 0.8.5", + "rand 0.7.3", "static_assertions", ] @@ -15867,12 +12441,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - [[package]] name = "unicode-normalization" version = "0.1.22" @@ -15916,12 +12484,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "unsafe-libyaml" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6" - [[package]] name = "unsigned-varint" version = "0.7.1" @@ -15951,22 +12513,6 @@ dependencies = [ "syn 1.0.107", ] -[[package]] -name = "ureq" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" -dependencies = [ - "base64 0.21.2", - "flate2", - "log", - "once_cell", - "rustls 0.21.12", - "rustls-webpki 0.101.7", - "url", - "webpki-roots 0.25.2", -] - [[package]] name = "url" version = "2.3.1" @@ -16067,27 +12613,6 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" -[[package]] -name = "vte" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983" -dependencies = [ - "arrayvec 0.5.2", - "utf8parse", - "vte_generate_state_changes", -] - -[[package]] -name = "vte_generate_state_changes" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff" -dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", -] - [[package]] name = "wait-timeout" version = "0.2.0" @@ -16221,21 +12746,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasm-timer" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" -dependencies = [ - "futures", - "js-sys", - "parking_lot 0.11.2", - "pin-utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "web-sys" version = "0.3.60" @@ -16614,17 +13124,6 @@ dependencies = [ "tap", ] -[[package]] -name = "x" -version = "1.29.2" -dependencies = [ - "anyhow", - "camino", - "clap", - "nexlint", - "nexlint-lints", -] - [[package]] name = "x509-parser" version = "0.14.0" @@ -16643,23 +13142,6 @@ dependencies = [ "time", ] -[[package]] -name = "xattr" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914566e6413e7fa959cc394fb30e563ba80f3541fbd40816d4c05a0fc3f2a0f1" -dependencies = [ - "libc", - "linux-raw-sys 0.4.12", - "rustix 0.38.28", -] - -[[package]] -name = "xml-rs" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "699d0104bcdd7e7af6d093d6c6e2d0c479b8a129ee0d1023b31d2e0c71bfdda2" - [[package]] name = "xmlparser" version = "0.13.5" @@ -16687,36 +13169,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" dependencies = [ - "bit-vec", - "num-bigint 0.4.4", - "time", -] - -[[package]] -name = "yup-oauth2" -version = "8.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24bea7df5a9a74a9a0de92f22e5ab3fb9505dd960c7f1f00de5b7231d9d97206" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.13.1", - "futures", - "http", - "hyper", - "hyper-rustls 0.24.0", - "itertools 0.10.5", - "log", - "percent-encoding", - "rustls 0.21.12", - "rustls-pemfile", - "seahash", - "serde", - "serde_json", "time", - "tokio", - "tower-service", - "url", ] [[package]] @@ -16746,16 +13199,7 @@ version = "0.12.3+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806" dependencies = [ - "zstd-safe 6.0.5+zstd.1.5.4", -] - -[[package]] -name = "zstd" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" -dependencies = [ - "zstd-safe 7.0.0", + "zstd-safe", ] [[package]] @@ -16768,15 +13212,6 @@ dependencies = [ "zstd-sys", ] -[[package]] -name = "zstd-safe" -version = "7.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" -dependencies = [ - "zstd-sys", -] - [[package]] name = "zstd-sys" version = "2.0.8+zstd.1.5.5" diff --git a/Cargo.toml b/Cargo.toml index 70724e6aa829d..7c7614af05af3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,16 +2,15 @@ resolver = "2" exclude = [ - "examples/tic-tac-toe/cli", - "external-crates/move/crates/bytecode-interpreter-crypto", - "external-crates/move/crates/bytecode-verifier-libfuzzer", - "external-crates/move/crates/bytecode-verifier-tests", - "external-crates/move/crates/bytecode-verifier-prop-tests", - "external-crates/move/crates/bytecode-verifier-transactional-tests", - "external-crates/move/crates/enum-compat-util", - "external-crates/move/crates/invalid-mutations", - "external-crates/move/crates/language-benchmarks", - "external-crates/move/crates/module-generation", + # "external-crates/move/crates/bytecode-interpreter-crypto", + # "external-crates/move/crates/bytecode-verifier-libfuzzer", + # "external-crates/move/crates/bytecode-verifier-tests", + # "external-crates/move/crates/bytecode-verifier-prop-tests", + # "external-crates/move/crates/bytecode-verifier-transactional-tests", + # "external-crates/move/crates/enum-compat-util", + # "external-crates/move/crates/invalid-mutations", + # "external-crates/move/crates/language-benchmarks", + # "external-crates/move/crates/module-generation", "external-crates/move/crates/move-abstract-interpreter", "external-crates/move/crates/move-abstract-stack", "external-crates/move/crates/move-analyzer", @@ -21,25 +20,25 @@ exclude = [ "external-crates/move/crates/move-bytecode-utils", "external-crates/move/crates/move-bytecode-verifier", "external-crates/move/crates/move-bytecode-verifier-meter", - "external-crates/move/crates/move-bytecode-viewer", + # "external-crates/move/crates/move-bytecode-viewer", "external-crates/move/crates/move-cli", "external-crates/move/crates/move-command-line-common", "external-crates/move/crates/move-compiler", - "external-crates/move/crates/move-compiler-transactional-tests", + # "external-crates/move/crates/move-compiler-transactional-tests", "external-crates/move/crates/move-core-types", - "external-crates/move/crates/move-coverage", + # "external-crates/move/crates/move-coverage", "external-crates/move/crates/move-disassembler", - "external-crates/move/crates/move-docgen", - "external-crates/move/crates/move-ir-compiler", - "external-crates/move/crates/move-ir-compiler-transactional-tests", - "external-crates/move/crates/move-ir-to-bytecode", - "external-crates/move/crates/move-ir-to-bytecode-syntax", + # "external-crates/move/crates/move-docgen", + # "external-crates/move/crates/move-ir-compiler", + # "external-crates/move/crates/move-ir-compiler-transactional-tests", + # "external-crates/move/crates/move-ir-to-bytecode", + # "external-crates/move/crates/move-ir-to-bytecode-syntax", "external-crates/move/crates/move-ir-types", "external-crates/move/crates/move-model", "external-crates/move/crates/move-package", - "external-crates/move/crates/move-proc-macros", + # "external-crates/move/crates/move-proc-macros", "external-crates/move/crates/move-prover", - "external-crates/move/crates/move-prover-test-utils", + # "external-crates/move/crates/move-prover-test-utils", "external-crates/move/crates/move-stackless-bytecode", "external-crates/move/crates/move-stdlib", "external-crates/move/crates/move-stdlib-natives", @@ -47,14 +46,14 @@ exclude = [ "external-crates/move/crates/move-transactional-test-runner", "external-crates/move/crates/move-unit-test", "external-crates/move/crates/move-vm-config", - "external-crates/move/crates/move-vm-integration-tests", + # "external-crates/move/crates/move-vm-integration-tests", "external-crates/move/crates/move-vm-profiler", "external-crates/move/crates/move-vm-runtime", "external-crates/move/crates/move-vm-test-utils", - "external-crates/move/crates/move-vm-transactional-tests", + # "external-crates/move/crates/move-vm-transactional-tests", "external-crates/move/crates/move-vm-types", - "external-crates/move/crates/serializer-tests", - "external-crates/move/crates/test-generation", + # "external-crates/move/crates/serializer-tests", + # "external-crates/move/crates/test-generation", "external-crates/move/move-execution/v0/crates/move-bytecode-verifier", "external-crates/move/move-execution/v0/crates/move-stdlib-natives", "external-crates/move/move-execution/v0/crates/move-vm-runtime", @@ -65,136 +64,136 @@ exclude = [ "external-crates/move/move-execution/v2/crates/move-bytecode-verifier", "external-crates/move/move-execution/v2/crates/move-stdlib-natives", "external-crates/move/move-execution/v2/crates/move-vm-runtime", - "sdk/move-bytecode-template", + # "sdk/move-bytecode-template", ] members = [ - "consensus/config", - "consensus/core", - "crates/anemo-benchmark", + # "consensus/config", + # "consensus/core", + # "crates/anemo-benchmark", "crates/bin-version", "crates/mysten-common", "crates/mysten-metrics", "crates/mysten-network", - "crates/mysten-service", + # "crates/mysten-service", "crates/mysten-util-mem", "crates/mysten-util-mem-derive", "crates/prometheus-closure-metric", "crates/shared-crypto", "crates/simulacrum", - "crates/sui", - "crates/sui-adapter-transactional-tests", - "crates/sui-analytics-indexer", - "crates/sui-analytics-indexer-derive", + # "crates/sui", + # "crates/sui-adapter-transactional-tests", + # "crates/sui-analytics-indexer", + # "crates/sui-analytics-indexer-derive", "crates/sui-archival", "crates/sui-authority-aggregation", - "crates/sui-aws-orchestrator", - "crates/sui-benchmark", + # "crates/sui-aws-orchestrator", + # "crates/sui-benchmark", "crates/sui-bridge", - "crates/sui-bridge-cli", - "crates/sui-bridge-indexer", - "crates/sui-cluster-test", + # "crates/sui-bridge-cli", + # "crates/sui-bridge-indexer", + # "crates/sui-cluster-test", "crates/sui-common", "crates/sui-config", "crates/sui-core", - "crates/sui-cost", + # "crates/sui-cost", "crates/sui-data-ingestion", "crates/sui-data-ingestion-core", - "crates/sui-e2e-tests", + # "crates/sui-e2e-tests", "crates/sui-enum-compat-util", - "crates/sui-faucet", + # "crates/sui-faucet", "crates/sui-framework", "crates/sui-framework-snapshot", - "crates/sui-framework-tests", + # "crates/sui-framework-tests", "crates/sui-genesis-builder", - "crates/sui-graphql-config", - "crates/sui-graphql-e2e-tests", - "crates/sui-graphql-rpc", - "crates/sui-graphql-rpc-client", - "crates/sui-graphql-rpc-headers", + # "crates/sui-graphql-config",sui-indexer + # "crates/sui-graphql-e2e-tests", + # "crates/sui-graphql-rpc", + # "crates/sui-graphql-rpc-client", + # "crates/sui-graphql-rpc-headers", "crates/sui-indexer", "crates/sui-json", - "crates/sui-json-rpc", - "crates/sui-json-rpc-api", - "crates/sui-json-rpc-tests", - "crates/sui-json-rpc-types", + # "crates/sui-json-rpc", + # "crates/sui-json-rpc-api", + # "crates/sui-json-rpc-tests", + # "crates/sui-json-rpc-types", "crates/sui-keys", - "crates/sui-light-client", + # "crates/sui-light-client", "crates/sui-macros", - "crates/sui-metric-checker", + # "crates/sui-metric-checker", "crates/sui-move", "crates/sui-move-build", - "crates/sui-move-lsp", + # "crates/sui-move-lsp", "crates/sui-network", "crates/sui-node", "crates/sui-open-rpc", "crates/sui-open-rpc-macros", - "crates/sui-oracle", - "crates/sui-package-management", + # "crates/sui-oracle", + # "crates/sui-package-management", "crates/sui-package-resolver", "crates/sui-proc-macros", "crates/sui-protocol-config", "crates/sui-protocol-config-macros", - "crates/sui-proxy", - "crates/sui-replay", + # "crates/sui-proxy", + # "crates/sui-replay", "crates/sui-rest-api", - "crates/sui-rosetta", - "crates/sui-rpc-loadgen", + # "crates/sui-rosetta", + # "crates/sui-rpc-loadgen", "crates/sui-sdk", - "crates/sui-security-watchdog", + # "crates/sui-security-watchdog", "crates/sui-simulator", - "crates/sui-single-node-benchmark", + # "crates/sui-single-node-benchmark", "crates/sui-snapshot", - "crates/sui-source-validation", - "crates/sui-source-validation-service", - "crates/sui-storage", - "crates/sui-surfer", + # "crates/sui-source-validation", + # "crates/sui-source-validation-service", + # "crates/sui-storage", + # "crates/sui-surfer", "crates/sui-swarm", "crates/sui-swarm-config", "crates/sui-telemetry", "crates/sui-test-transaction-builder", - "crates/sui-test-validator", + # "crates/sui-test-validator", "crates/sui-tls", - "crates/sui-tool", + # "crates/sui-tool", "crates/sui-transaction-builder", "crates/sui-transaction-checks", - "crates/sui-transactional-test-runner", - "crates/sui-types", - "crates/sui-upgrade-compatibility-transactional-tests", - "crates/sui-verifier-transactional-tests", - "crates/suins-indexer", - "crates/suiop-cli", + # "crates/sui-transactional-test-runner", + # "crates/sui-types", + # "crates/sui-upgrade-compatibility-transactional-tests", + # "crates/sui-verifier-transactional-tests", + # "crates/suins-indexer", + # "crates/suiop-cli", "crates/telemetry-subscribers", - "crates/test-cluster", - "crates/transaction-fuzzer", + # "crates/test-cluster", + # "crates/transaction-fuzzer", "crates/typed-store", "crates/typed-store-derive", "crates/typed-store-error", - "crates/x", - "narwhal/config", - "narwhal/crypto", - "narwhal/executor", - "narwhal/network", - "narwhal/node", - "narwhal/primary", - "narwhal/storage", - "narwhal/test-utils", - "narwhal/types", - "narwhal/worker", + # "crates/x", + # "narwhal/config", + # "narwhal/crypto", + # "narwhal/executor", + # "narwhal/network", + # "narwhal/node", + # "narwhal/primary", + # "narwhal/storage", + # "narwhal/test-utils", + # "narwhal/types", + # "narwhal/worker", "sui-execution", - "sui-execution/cut", - "sui-execution/latest/sui-adapter", - "sui-execution/latest/sui-move-natives", - "sui-execution/latest/sui-verifier", - "sui-execution/v0/sui-adapter", - "sui-execution/v0/sui-move-natives", - "sui-execution/v0/sui-verifier", - "sui-execution/v1/sui-adapter", - "sui-execution/v1/sui-move-natives", - "sui-execution/v1/sui-verifier", - "sui-execution/v2/sui-adapter", - "sui-execution/v2/sui-move-natives", - "sui-execution/v2/sui-verifier", + # "sui-execution/cut", + # "sui-execution/latest/sui-adapter", + # "sui-execution/latest/sui-move-natives", + # "sui-execution/latest/sui-verifier", + # "sui-execution/v0/sui-adapter", + # "sui-execution/v0/sui-move-natives", + # "sui-execution/v0/sui-verifier", + # "sui-execution/v1/sui-adapter", + # "sui-execution/v1/sui-move-natives", + # "sui-execution/v1/sui-verifier", + # "sui-execution/v2/sui-adapter", + # "sui-execution/v2/sui-move-natives", + # "sui-execution/v2/sui-verifier", ] [workspace.package] @@ -340,7 +339,7 @@ hashbrown = "0.12" hdrhistogram = "7.5.1" hex = "0.4.3" hex-literal = "0.3.4" -highlight = "all" +# highlight = "all" http = "0.2.8" http-body = "0.4.5" humantime = "2.1.0" @@ -412,7 +411,7 @@ protobuf-src = "1.1.0" quinn-proto = "^0.10.5" quote = "1.0.23" rand = "0.8.5" -rayon = "1.5.3" +rayon = "1.10.0" rcgen = "0.9.2" regex = "1.7.1" reqwest = { version = "0.11.20", default_features = false, features = [ @@ -538,14 +537,13 @@ webpki = { version = "0.101.0", package = "rustls-webpki", features = [ x509-parser = "0.14.0" zeroize = "1.6.0" zstd = "0.12.3" - # Move dependencies move-abstract-interpreter = { path = "external-crates/move/crates/move-abstract-interpreter" } move-abstract-stack = { path = "external-crates/move/crates/move-abstract-stack" } move-analyzer = { path = "external-crates/move/crates/move-analyzer" } move-binary-format = { path = "external-crates/move/crates/move-binary-format" } -move-bytecode-source-map = { path = "external-crates/move/crates/move-bytecode-source-map" } move-bytecode-utils = { path = "external-crates/move/crates/move-bytecode-utils" } +# move-bytecode-source-map = { path = "external-crates/move/crates/move-bytecode-source-map" } move-bytecode-verifier-meter = { path = "external-crates/move/crates/move-bytecode-verifier-meter" } move-cli = { path = "external-crates/move/crates/move-cli" } move-command-line-common = { path = "external-crates/move/crates/move-command-line-common" } @@ -565,7 +563,9 @@ move-vm-test-utils = { path = "external-crates/move/crates/move-vm-test-utils/", "tiered-gas", ] } move-vm-types = { path = "external-crates/move/crates/move-vm-types" } - +# move-transactional-test-runner = { path = "external-crates/move/crates/move-transactional-test-runner" } +# move-stackless-bytecode = { path = "external-crates/move/crates/move-stackless-bytecode" } +# move-analyzer = { path = "external-crates/move/crates/move-analyzer" } fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "55e7e568842939e01c8545a71d72e2402ad74538" } fastcrypto-tbls = { git = "https://github.com/MystenLabs/fastcrypto", rev = "55e7e568842939e01c8545a71d72e2402ad74538" } fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "55e7e568842939e01c8545a71d72e2402ad74538", package = "fastcrypto-zkp" } @@ -578,10 +578,10 @@ passkey-authenticator = { version = "0.2.0" } coset = "0.3" p256 = { version = "0.13.2", features = ["ecdsa"] } -# anemo dependencies +# # anemo dependencies anemo = { git = "https://github.com/mystenlabs/anemo.git", rev = "26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7" } anemo-build = { git = "https://github.com/mystenlabs/anemo.git", rev = "26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7" } -anemo-cli = { git = "https://github.com/mystenlabs/anemo.git", rev = "26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7" } +# anemo-cli = { git = "https://github.com/mystenlabs/anemo.git", rev = "26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7" } anemo-tower = { git = "https://github.com/mystenlabs/anemo.git", rev = "26d415eb9aa6a2417be3c03c57d6e93c30bd1ad7" } # core-types with json format for REST api @@ -591,42 +591,45 @@ sui-sdk2 = { package = "sui-sdk", git = "https://github.com/mystenlabs/sui-rust- ] } ### Workspace Members ### -anemo-benchmark = { path = "crates/anemo-benchmark" } +# anemo-benchmark = { path = "crates/anemo-benchmark" } bin-version = { path = "crates/bin-version" } mysten-common = { path = "crates/mysten-common" } mysten-metrics = { path = "crates/mysten-metrics" } mysten-network = { path = "crates/mysten-network" } -mysten-service = { path = "crates/mysten-service" } +# mysten-service = { path = "crates/mysten-service" } mysten-util-mem = { path = "crates/mysten-util-mem" } mysten-util-mem-derive = { path = "crates/mysten-util-mem-derive" } prometheus-closure-metric = { path = "crates/prometheus-closure-metric" } shared-crypto = { path = "crates/shared-crypto" } simulacrum = { path = "crates/simulacrum" } -sui = { path = "crates/sui" } -sui-adapter-transactional-tests = { path = "crates/sui-adapter-transactional-tests" } -sui-analytics-indexer = { path = "crates/sui-analytics-indexer" } -sui-analytics-indexer-derive = { path = "crates/sui-analytics-indexer-derive" } +# sui = { path = "crates/sui" } +# sui-adapter-transactional-tests = { path = "crates/sui-adapter-transactional-tests" } +# sui-analytics-indexer = { path = "crates/sui-analytics-indexer" } +# sui-analytics-indexer-derive = { path = "crates/sui-analytics-indexer-derive" } sui-archival = { path = "crates/sui-archival" } sui-authority-aggregation = { path = "crates/sui-authority-aggregation" } -sui-benchmark = { path = "crates/sui-benchmark" } +# sui-benchmark = { path = "crates/sui-benchmark" } sui-bridge = { path = "crates/sui-bridge" } -sui-cluster-test = { path = "crates/sui-cluster-test" } +# sui-cluster-test = { path = "crates/sui-cluster-test" } sui-common = { path = "crates/sui-common" } sui-config = { path = "crates/sui-config" } sui-core = { path = "crates/sui-core" } -sui-cost = { path = "crates/sui-cost" } -sui-data-ingestion = { path = "crates/sui-data-ingestion" } +# sui-cost = { path = "crates/sui-cost" } +# sui-data-ingestion = { path = "crates/sui-data-ingestion" } sui-data-ingestion-core = { path = "crates/sui-data-ingestion-core" } -sui-e2e-tests = { path = "crates/sui-e2e-tests" } sui-enum-compat-util = { path = "crates/sui-enum-compat-util" } -sui-faucet = { path = "crates/sui-faucet" } +# sui-faucet = { path = "crates/sui-faucet" } sui-framework = { path = "crates/sui-framework" } sui-framework-snapshot = { path = "crates/sui-framework-snapshot" } -sui-framework-tests = { path = "crates/sui-framework-tests" } sui-graphql-config = { path = "crates/sui-graphql-config" } sui-graphql-rpc = { path = "crates/sui-graphql-rpc" } sui-graphql-rpc-client = { path = "crates/sui-graphql-rpc-client" } sui-graphql-rpc-headers = { path = "crates/sui-graphql-rpc-headers" } +# sui-framework-tests = { path = "crates/sui-framework-tests" } +# sui-graphql-config = { path = "crates/sui-graphql-config" } +# sui-graphql-rpc = { path = "crates/sui-graphql-rpc" } +# sui-graphql-rpc-client = { path = "crates/sui-graphql-rpc-client" } +# sui-graphql-rpc-headers = { path = "crates/sui-graphql-rpc-headers" } sui-genesis-builder = { path = "crates/sui-genesis-builder" } sui-indexer = { path = "crates/sui-indexer" } sui-json = { path = "crates/sui-json" } @@ -635,10 +638,10 @@ sui-json-rpc-api = { path = "crates/sui-json-rpc-api" } sui-json-rpc-types = { path = "crates/sui-json-rpc-types" } sui-keys = { path = "crates/sui-keys" } sui-macros = { path = "crates/sui-macros" } -sui-metric-checker = { path = "crates/sui-metric-checker" } +# sui-metric-checker = { path = "crates/sui-metric-checker" } sui-move = { path = "crates/sui-move" } sui-move-build = { path = "crates/sui-move-build" } -sui-move-lsp = { path = "crates/sui-move-lsp" } +# sui-move-lsp = { path = "crates/sui-move-lsp" } sui-network = { path = "crates/sui-network" } sui-node = { path = "crates/sui-node" } sui-open-rpc = { path = "crates/sui-open-rpc" } @@ -648,38 +651,38 @@ sui-package-resolver = { path = "crates/sui-package-resolver" } sui-proc-macros = { path = "crates/sui-proc-macros" } sui-protocol-config = { path = "crates/sui-protocol-config" } sui-protocol-config-macros = { path = "crates/sui-protocol-config-macros" } -sui-proxy = { path = "crates/sui-proxy" } -sui-replay = { path = "crates/sui-replay" } -sui-rosetta = { path = "crates/sui-rosetta" } -sui-rpc-loadgen = { path = "crates/sui-rpc-loadgen" } +# sui-proxy = { path = "crates/sui-proxy" } +# sui-replay = { path = "crates/sui-replay" } +# sui-rosetta = { path = "crates/sui-rosetta" } +# sui-rpc-loadgen = { path = "crates/sui-rpc-loadgen" } sui-sdk = { path = "crates/sui-sdk" } sui-simulator = { path = "crates/sui-simulator" } sui-snapshot = { path = "crates/sui-snapshot" } -sui-source-validation = { path = "crates/sui-source-validation" } -sui-source-validation-service = { path = "crates/sui-source-validation-service" } +# sui-source-validation = { path = "crates/sui-source-validation" } +# sui-source-validation-service = { path = "crates/sui-source-validation-service" } sui-storage = { path = "crates/sui-storage" } -sui-surfer = { path = "crates/sui-surfer" } +# sui-surfer = { path = "crates/sui-surfer" } sui-swarm = { path = "crates/sui-swarm" } sui-swarm-config = { path = "crates/sui-swarm-config" } sui-telemetry = { path = "crates/sui-telemetry" } sui-test-transaction-builder = { path = "crates/sui-test-transaction-builder" } -sui-test-validator = { path = "crates/sui-test-validator" } +# sui-test-validator = { path = "crates/sui-test-validator" } sui-tls = { path = "crates/sui-tls" } sui-rest-api = { path = "crates/sui-rest-api" } -sui-tool = { path = "crates/sui-tool" } +# sui-tool = { path = "crates/sui-tool" } sui-transaction-builder = { path = "crates/sui-transaction-builder" } sui-transaction-checks = { path = "crates/sui-transaction-checks" } -sui-transactional-test-runner = { path = "crates/sui-transactional-test-runner" } +# sui-transactional-test-runner = { path = "crates/sui-transactional-test-runner" } sui-types = { path = "crates/sui-types" } -sui-upgrade-compatibility-transactional-tests = { path = "crates/sui-upgrade-compatibility-transactional-tests" } -sui-verifier-transactional-tests = { path = "crates/sui-verifier-transactional-tests" } +# sui-upgrade-compatibility-transactional-tests = { path = "crates/sui-upgrade-compatibility-transactional-tests" } +# sui-verifier-transactional-tests = { path = "crates/sui-verifier-transactional-tests" } telemetry-subscribers = { path = "crates/telemetry-subscribers" } test-cluster = { path = "crates/test-cluster" } -transaction-fuzzer = { path = "crates/transaction-fuzzer" } +# transaction-fuzzer = { path = "crates/transaction-fuzzer" } typed-store = { path = "crates/typed-store" } typed-store-derive = { path = "crates/typed-store-derive" } typed-store-error = { path = "crates/typed-store-error" } -x = { path = "crates/x" } +# x = { path = "crates/x" } consensus-config = { path = "consensus/config" } consensus-core = { path = "consensus/core" } @@ -689,8 +692,8 @@ narwhal-crypto = { path = "narwhal/crypto" } narwhal-executor = { path = "narwhal/executor" } narwhal-network = { path = "narwhal/network" } narwhal-node = { path = "narwhal/node" } -narwhal-primary = { path = "narwhal/primary" } -narwhal-storage = { path = "narwhal/storage" } +# narwhal-primary = { path = "narwhal/primary" } +# narwhal-storage = { path = "narwhal/storage" } narwhal-test-utils = { path = "narwhal/test-utils" } narwhal-types = { path = "narwhal/types" } narwhal-worker = { path = "narwhal/worker" } @@ -703,6 +706,9 @@ sui-execution = { path = "sui-execution" } # move-vm-runtime = { path = "external-crates/move/move-vm/runtime" } # move-bytecode-verifier = { path = "external-crates/move/move-bytecode-verifier" } + +odin = { git = "ssh://git@github.com/nightly-labs/alexandria.git", rev = "ce64446", package = "odin" } + # suiop dependencies docker-api = "0.12.2" field_names = "0.2.0" diff --git a/crates/sui-data-ingestion-core/Cargo.toml b/crates/sui-data-ingestion-core/Cargo.toml index 2c14170d76f4a..6b9aa4474f9af 100644 --- a/crates/sui-data-ingestion-core/Cargo.toml +++ b/crates/sui-data-ingestion-core/Cargo.toml @@ -7,6 +7,8 @@ edition = "2021" version = "0.1.0" [dependencies] +odin = { workspace = true, version = "0.1.0" } + anyhow.workspace = true async-trait.workspace = true backoff.workspace = true diff --git a/crates/sui-data-ingestion-core/src/executor.rs b/crates/sui-data-ingestion-core/src/executor.rs index 92bfda006852a..b27be2c68f10d 100644 --- a/crates/sui-data-ingestion-core/src/executor.rs +++ b/crates/sui-data-ingestion-core/src/executor.rs @@ -16,6 +16,7 @@ use std::path::PathBuf; use std::pin::Pin; use sui_types::full_checkpoint_content::CheckpointData; use sui_types::messages_checkpoint::CheckpointSequenceNumber; +use sui_types::nats_queue::NatsQueueSender; use tokio::sync::mpsc; use tokio::sync::oneshot; diff --git a/crates/sui-indexer/Cargo.toml b/crates/sui-indexer/Cargo.toml index 5bfd59fcbc4de..721e457c6d466 100644 --- a/crates/sui-indexer/Cargo.toml +++ b/crates/sui-indexer/Cargo.toml @@ -7,6 +7,8 @@ publish = false edition = "2021" [dependencies] +odin = { workspace = true, version = "0.1.0" } + anyhow.workspace = true async-trait.workspace = true axum.workspace = true @@ -25,7 +27,7 @@ prometheus.workspace = true serde.workspace = true serde_json.workspace = true rayon.workspace = true -regex.workspace = true +regex = "1.9.1" tempfile.workspace = true thiserror.workspace = true tracing.workspace = true @@ -61,8 +63,16 @@ downcast = "0.11.0" [features] pg_integration = [] default = ["postgres-feature"] -postgres-feature = ["diesel/postgres", "diesel/postgres_backend", "diesel-derive-enum/postgres"] -mysql-feature = ["diesel/mysql", "diesel/mysql_backend", "diesel-derive-enum/mysql"] +postgres-feature = [ + "diesel/postgres", + "diesel/postgres_backend", + "diesel-derive-enum/postgres", +] +mysql-feature = [ + "diesel/mysql", + "diesel/mysql_backend", + "diesel-derive-enum/mysql", +] [dev-dependencies] sui-keys.workspace = true diff --git a/crates/sui-indexer/src/db.rs b/crates/sui-indexer/src/db.rs index 99b6df729463b..4dfc178df8b13 100644 --- a/crates/sui-indexer/src/db.rs +++ b/crates/sui-indexer/src/db.rs @@ -204,6 +204,7 @@ pub mod setup_postgres { use diesel_migrations::{embed_migrations, EmbeddedMigrations, MigrationHarness}; use prometheus::Registry; use secrecy::ExposeSecret; + use sui_types::nats_queue::NatsQueueSender; use tracing::{error, info}; const MIGRATIONS: EmbeddedMigrations = embed_migrations!("migrations/pg"); @@ -257,6 +258,7 @@ pub mod setup_postgres { pub async fn setup( indexer_config: IndexerConfig, registry: Registry, + queue_sender: NatsQueueSender, ) -> Result<(), IndexerError> { let db_url_secret = indexer_config.get_db_url().map_err(|e| { IndexerError::PgPoolConnectionError(format!( @@ -318,6 +320,7 @@ pub mod setup_postgres { &indexer_config, store, indexer_metrics, + queue_sender, ) .await; } else if indexer_config.rpc_server_worker { diff --git a/crates/sui-indexer/src/handlers/checkpoint_handler.rs b/crates/sui-indexer/src/handlers/checkpoint_handler.rs index b3897f2fe8935..98dc4b70d2baa 100644 --- a/crates/sui-indexer/src/handlers/checkpoint_handler.rs +++ b/crates/sui-indexer/src/handlers/checkpoint_handler.rs @@ -3,12 +3,17 @@ use crate::handlers::committer::start_tx_checkpoint_commit_task; use crate::handlers::tx_processor::IndexingPackageBuffer; +use crate::handlers::CustomCheckpointDataToCommit; use crate::models::display::StoredDisplay; use async_trait::async_trait; use itertools::Itertools; use move_core_types::annotated_value::{MoveStructLayout, MoveTypeLayout}; use move_core_types::language_storage::{StructTag, TypeTag}; use mysten_metrics::{get_metrics, spawn_monitored_task}; +use odin::sui_ws::{ + AccountObjectsUpdate, CoinCreated, CoinMutated, CoinObjectUpdateStatus, ObjectChangeUpdate, +}; +use odin::sui_ws::{SuiWsApiMsg, TokenBalanceUpdate, TokenUpdate}; use std::collections::{BTreeMap, HashMap}; use std::sync::{Arc, Mutex}; use sui_package_resolver::{PackageStore, PackageStoreWithLruCache, Resolver}; @@ -20,16 +25,16 @@ use sui_types::dynamic_field::DynamicFieldType; use sui_types::messages_checkpoint::{ CertifiedCheckpointSummary, CheckpointContents, CheckpointSequenceNumber, }; +use sui_types::nats_queue::{NatsQueueSender, WsPayload}; use sui_types::object::Object; -use tokio_util::sync::CancellationToken; - use tokio::sync::watch; +use tokio_util::sync::CancellationToken; use diesel::r2d2::R2D2Connection; use std::collections::hash_map::Entry; use std::collections::HashSet; use sui_data_ingestion_core::Worker; -use sui_json_rpc_types::SuiMoveValue; +use sui_json_rpc_types::{ObjectStatus, SuiMoveValue}; use sui_types::base_types::SequenceNumber; use sui_types::effects::{TransactionEffects, TransactionEffectsAPI}; use sui_types::event::SystemEpochInfoEvent; @@ -49,8 +54,8 @@ use crate::db::ConnectionPool; use crate::store::package_resolver::{IndexerStorePackageResolver, InterimPackageResolver}; use crate::store::{IndexerStore, PgIndexerStore}; use crate::types::{ - IndexedCheckpoint, IndexedDeletedObject, IndexedEpochInfo, IndexedEvent, IndexedObject, - IndexedPackage, IndexedTransaction, IndexerResult, TransactionKind, TxIndex, + CustomIndexedTransaction, IndexedCheckpoint, IndexedDeletedObject, IndexedEpochInfo, + IndexedEvent, IndexedObject, IndexedPackage, IndexerResult, TransactionKind, TxIndex, }; use super::tx_processor::EpochEndIndexingObjectStore; @@ -66,6 +71,7 @@ pub async fn new_handlers( metrics: IndexerMetrics, next_checkpoint_sequence_number: CheckpointSequenceNumber, cancel: CancellationToken, + queue_sender: NatsQueueSender, ) -> Result, IndexerError> where S: IndexerStore + Clone + Sync + Send + 'static, @@ -100,6 +106,7 @@ where metrics, indexed_checkpoint_sender, package_tx, + queue_sender, )) } @@ -111,6 +118,7 @@ pub struct CheckpointHandler { // they will be periodically GCed to avoid OOM. package_buffer: Arc>, package_resolver: Arc>>>, + nats_queue: NatsQueueSender, } #[async_trait] @@ -147,7 +155,15 @@ where self.package_resolver.clone(), ) .await?; - self.indexed_checkpoint_sender.send(checkpoint_data).await?; + + // Send ws updates via nats + let nats_ws_payload = generate_ws_updates_from_checkpoint_data(&checkpoint_data); + self.nats_queue.sender.send(nats_ws_payload).await?; + + // Convert custom checkpoint data into original type + self.indexed_checkpoint_sender + .send(checkpoint_data.into()) + .await?; Ok(()) } @@ -171,6 +187,7 @@ where metrics: IndexerMetrics, indexed_checkpoint_sender: mysten_metrics::metered_channel::Sender, package_tx: watch::Receiver>, + queue_sender: NatsQueueSender, ) -> Self { let package_buffer = IndexingPackageBuffer::start(package_tx); let pg_blocking_cp = Self::pg_blocking_cp(state.clone()).unwrap(); @@ -188,6 +205,7 @@ where indexed_checkpoint_sender, package_buffer, package_resolver, + nats_queue: queue_sender, } } @@ -274,7 +292,7 @@ where metrics: Arc, packages: Vec, package_resolver: Arc>, - ) -> Result { + ) -> Result { let checkpoint_seq = data.checkpoint_summary.sequence_number; info!(checkpoint_seq, "Indexing checkpoint data blob"); @@ -330,7 +348,7 @@ where checkpoint.sequence_number, time_now_ms, checkpoint.timestamp_ms ); - Ok(CheckpointDataToCommit { + Ok(CustomCheckpointDataToCommit { checkpoint, transactions: db_transactions, events: db_events, @@ -349,7 +367,7 @@ where checkpoint_contents: &CheckpointContents, metrics: &IndexerMetrics, ) -> IndexerResult<( - Vec, + Vec, Vec, Vec, BTreeMap, @@ -374,14 +392,14 @@ where let mut db_displays = BTreeMap::new(); let mut db_indices = Vec::new(); - for tx in transactions { + for checkpoint_tx in transactions { let CheckpointTransaction { transaction: sender_signed_data, effects: fx, events, input_objects, output_objects, - } = tx; + } = checkpoint_tx; // Unwrap safe - we checked they have equal length above let (tx_digest, tx_sequence_number) = tx_seq_num_iter.next().unwrap(); if tx_digest != *sender_signed_data.digest() { @@ -425,12 +443,22 @@ where .chain(output_objects.iter()) .collect::>(); - let (balance_change, object_changes) = + // Add out custom maps + let status_map = get_object_status_map(&fx); + + let (balance_change, object_changes, custom_object_changes) = TxChangesProcessor::new(&objects, metrics.clone()) - .get_changes(tx, &fx, &tx_digest) + .custom_get_changes( + tx, + &fx, + &tx_digest, + status_map, + &input_objects, + &output_objects, + ) .await?; - let db_txn = IndexedTransaction { + let db_txn = CustomIndexedTransaction { tx_sequence_number, tx_digest, checkpoint_sequence_number: *checkpoint_summary.sequence_number(), @@ -439,6 +467,7 @@ where effects: fx.clone(), object_changes, balance_change, + custom_object_changes, events, transaction_kind, successful_tx_num: if fx.status().is_ok() { @@ -714,6 +743,54 @@ where } } +pub fn get_object_status_map(effects: &TransactionEffects) -> HashMap { + let mut object_to_status: HashMap = HashMap::new(); + // Fill object_to_status objects + { + // Fill mutated objects + effects + .mutated() + .into_iter() + .map(|((id, _, _), _)| (id, ObjectStatus::Mutated)) + .collect::>() + .iter() + .for_each(|(k, v)| { + object_to_status.insert(*k, v.clone()); + }); + // Fill deleted objects + effects + .all_tombstones() + .into_iter() + .map(|(id, _)| (id, ObjectStatus::Deleted)) + .collect::>() + .iter() + .for_each(|(k, v)| { + object_to_status.insert(*k, v.clone()); + }); + // Fill created objects + effects + .created() + .into_iter() + .map(|((id, _, _), _)| (id, ObjectStatus::Created)) + .collect::>() + .iter() + .for_each(|(k, v)| { + object_to_status.insert(*k, v.clone()); + }); + // Fill created objects + effects + .unwrapped() + .into_iter() + .map(|((id, _, _), _)| (id, ObjectStatus::Created)) + .collect::>() + .iter() + .for_each(|(k, v)| { + object_to_status.insert(*k, v.clone()); + }); + } + object_to_status +} + async fn get_move_struct_layout_map( objects: &[Object], package_resolver: Arc>, @@ -875,3 +952,103 @@ fn try_create_dynamic_field_info( }, })) } + +pub fn generate_ws_updates_from_checkpoint_data( + checkpoint_data: &CustomCheckpointDataToCommit, +) -> WsPayload { + let block_number = checkpoint_data.checkpoint.sequence_number; + + let mut ws_balance_changes: HashMap = HashMap::new(); + let mut account_object_changes: HashMap = HashMap::new(); // account address -> account object changes + let mut objects_changes: Vec = Vec::new(); + + // transaction balance changes + for transaction in checkpoint_data.transactions.iter() { + for change in transaction.balance_change.iter() { + let user_address = match &change.owner.get_owner_address() { + Ok(address) => address.to_string(), + Err(_) => continue, + }; + let coin_type = change.coin_type.to_canonical_string(true); + + // Prepare ws update + let ws_update = ws_balance_changes + .entry(user_address.clone()) + .or_insert(TokenBalanceUpdate { + sui_address: user_address.clone(), + sequence_number: block_number, + changed_balances: HashMap::new(), + timestamp_ms: chrono::Utc::now().timestamp_millis() as u64, + }) + .changed_balances + .entry(coin_type.clone()) + .or_insert(TokenUpdate { + coin_type, + object_changes: HashMap::new(), + }); + match change.status { + // New coin is created + ObjectStatus::Created => { + // Update ws update + ws_update + .object_changes + .entry(change.object_id.clone()) + .or_insert(CoinObjectUpdateStatus::Created(CoinCreated { + amount: change.amount, + })); + } + ObjectStatus::Mutated => { + // Update ws update + ws_update + .object_changes + .entry(change.object_id.clone()) + .or_insert(CoinObjectUpdateStatus::Mutated(CoinMutated { + change: change.amount, + })); + } + ObjectStatus::Deleted => { + // Update ws update + ws_update + .object_changes + .entry(change.object_id.clone()) + .or_insert(CoinObjectUpdateStatus::Deleted); + } + } + } + + for (change_owner, object_change) in transaction.custom_object_changes.iter() { + if let Some(owner) = change_owner { + account_object_changes + .entry(owner.to_string()) + .or_insert(AccountObjectsUpdate { + sui_address: owner.to_string(), + sequence_number: block_number, + object_changes: HashMap::new(), + timestamp_ms: chrono::Utc::now().timestamp_millis() as u64, + }) + .object_changes + .entry(object_change.object_id.clone()) + .or_insert(object_change.clone()); + } + + objects_changes.push(object_change.clone()); + } + } + + let updates: Vec = ws_balance_changes + .into_values() + .map(|v| SuiWsApiMsg::TokenBalanceUpdate(v)) + .chain( + account_object_changes + .into_values() + .map(|v| SuiWsApiMsg::AccountObjectsUpdate(v)), + ) + .chain( + objects_changes + .into_iter() + .map(|v| SuiWsApiMsg::ObjectUpdate(v)), + ) + .collect(); + + return (checkpoint_data.checkpoint.sequence_number, updates); +} diff --git a/crates/sui-indexer/src/handlers/mod.rs b/crates/sui-indexer/src/handlers/mod.rs index 587a13f22bb95..d5b570f813047 100644 --- a/crates/sui-indexer/src/handlers/mod.rs +++ b/crates/sui-indexer/src/handlers/mod.rs @@ -6,8 +6,8 @@ use std::collections::BTreeMap; use crate::{ models::display::StoredDisplay, types::{ - IndexedCheckpoint, IndexedDeletedObject, IndexedEpochInfo, IndexedEvent, IndexedObject, - IndexedPackage, IndexedTransaction, TxIndex, + CustomIndexedTransaction, IndexedCheckpoint, IndexedDeletedObject, IndexedEpochInfo, + IndexedEvent, IndexedObject, IndexedPackage, IndexedTransaction, TxIndex, }, }; @@ -29,6 +29,35 @@ pub struct CheckpointDataToCommit { pub epoch: Option, } +#[derive(Debug)] +pub struct CustomCheckpointDataToCommit { + pub checkpoint: IndexedCheckpoint, + pub transactions: Vec, + pub events: Vec, + pub tx_indices: Vec, + pub display_updates: BTreeMap, + pub object_changes: TransactionObjectChangesToCommit, + pub object_history_changes: TransactionObjectChangesToCommit, + pub packages: Vec, + pub epoch: Option, +} + +impl From for CheckpointDataToCommit { + fn from(data: CustomCheckpointDataToCommit) -> Self { + Self { + checkpoint: data.checkpoint, + transactions: data.transactions.into_iter().map(Into::into).collect(), + events: data.events, + tx_indices: data.tx_indices, + display_updates: data.display_updates, + object_changes: data.object_changes, + object_history_changes: data.object_history_changes, + packages: data.packages, + epoch: data.epoch, + } + } +} + #[derive(Clone, Debug)] pub struct TransactionObjectChangesToCommit { pub changed_objects: Vec, diff --git a/crates/sui-indexer/src/handlers/tx_processor.rs b/crates/sui-indexer/src/handlers/tx_processor.rs index 04d96d6eafd04..8bb36521182f7 100644 --- a/crates/sui-indexer/src/handlers/tx_processor.rs +++ b/crates/sui-indexer/src/handlers/tx_processor.rs @@ -7,7 +7,15 @@ use async_trait::async_trait; use mysten_metrics::monitored_scope; use mysten_metrics::spawn_monitored_task; +use odin::sui_ws::ObjectChangeUpdate; +use sui_json_rpc::custom_get_object_changes; +use sui_json_rpc::get_balance_changes_with_status_from_effect; +use sui_json_rpc_types::ObjectStatus; +use sui_package_resolver::PackageStore; +use sui_package_resolver::Resolver; use sui_rest_api::CheckpointData; +use sui_types::base_types::SuiAddress; +use sui_types::object::Owner; use tokio::sync::watch; use std::collections::HashMap; @@ -211,6 +219,73 @@ impl TxChangesProcessor { .await?; Ok((balance_change, object_change)) } + + pub(crate) async fn custom_get_changes( + &self, + tx: &TransactionData, + effects: &TransactionEffects, + tx_digest: &TransactionDigest, + status_map: HashMap, + input_objects: &Vec, + output_objects: &Vec, + ) -> IndexerResult<( + Vec, + Vec, + Vec<(Option, ObjectChangeUpdate)>, + )> { + let _timer = self + .metrics + .indexing_tx_object_changes_latency + .start_timer(); + let (original_object_change, custom_object_change): (Vec<_>, Vec<_>) = + custom_get_object_changes( + self, + tx.sender(), + effects.modified_at_versions(), + effects.all_changed_objects(), + effects.all_removed_objects(), + &input_objects, + &output_objects, + ) + .await?; + + let indexed_objects_changes = original_object_change + .into_iter() + .map(IndexedObjectChange::from) + .collect::>(); + + ///////////////////////////////////////////////// Moved here from the parent function index_transactions + let input_objects_to_owner = input_objects + .iter() + .map(|input_object| (input_object.id(), input_object.owner().clone())) + .collect::>(); + let output_objects_to_owner = output_objects + .iter() + .map(|output_object| (output_object.id(), output_object.owner().clone())) + .collect::>(); + ///////////////////////////////////////////////// + + let balance_change = get_balance_changes_with_status_from_effect( + self, + effects, + tx.input_objects().unwrap_or_else(|e| { + panic!( + "Checkpointed tx {:?} has inavlid input objects: {e}", + tx_digest, + ) + }), + None, + status_map, + &input_objects_to_owner, + &output_objects_to_owner, + ) + .await?; + Ok(( + balance_change, + indexed_objects_changes, + custom_object_change, + )) + } } #[async_trait] diff --git a/crates/sui-indexer/src/indexer.rs b/crates/sui-indexer/src/indexer.rs index 6fede882c949f..cca450b3ff474 100644 --- a/crates/sui-indexer/src/indexer.rs +++ b/crates/sui-indexer/src/indexer.rs @@ -1,23 +1,16 @@ // Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 -use std::collections::HashMap; -use std::env; - use anyhow::Result; use diesel::r2d2::R2D2Connection; use prometheus::Registry; +use std::collections::HashMap; +use std::env; +use sui_types::nats_queue::NatsQueueSender; use tokio::sync::oneshot; use tokio_util::sync::CancellationToken; use tracing::info; -use async_trait::async_trait; -use mysten_metrics::spawn_monitored_task; -use sui_data_ingestion_core::{ - DataIngestionMetrics, IndexerExecutor, ProgressStore, ReaderOptions, WorkerPool, -}; -use sui_types::messages_checkpoint::CheckpointSequenceNumber; - use crate::build_json_rpc_server; use crate::errors::IndexerError; use crate::handlers::checkpoint_handler::new_handlers; @@ -28,6 +21,12 @@ use crate::indexer_reader::IndexerReader; use crate::metrics::IndexerMetrics; use crate::store::IndexerStore; use crate::IndexerConfig; +use async_trait::async_trait; +use mysten_metrics::spawn_monitored_task; +use sui_data_ingestion_core::{ + DataIngestionMetrics, IndexerExecutor, ProgressStore, ReaderOptions, WorkerPool, +}; +use sui_types::messages_checkpoint::CheckpointSequenceNumber; pub(crate) const DOWNLOAD_QUEUE_SIZE: usize = 200; const INGESTION_READER_TIMEOUT_SECS: u64 = 20; @@ -46,6 +45,7 @@ impl Indexer { config: &IndexerConfig, store: S, metrics: IndexerMetrics, + queue_sender: NatsQueueSender, ) -> Result<(), IndexerError> { let snapshot_config = SnapshotLagConfig::default(); Indexer::start_writer_with_config::( @@ -54,6 +54,7 @@ impl Indexer { metrics, snapshot_config, CancellationToken::new(), + queue_sender, ) .await } @@ -67,6 +68,7 @@ impl Indexer { metrics: IndexerMetrics, snapshot_config: SnapshotLagConfig, cancel: CancellationToken, + mut queue_sender: NatsQueueSender, ) -> Result<(), IndexerError> { info!( "Sui Indexer Writer (version {:?}) started...", @@ -124,8 +126,19 @@ impl Indexer { 1, DataIngestionMetrics::new(&Registry::new()), ); - let worker = - new_handlers::(store, metrics, primary_watermark, cancel.clone()).await?; + + // Set init checkpoint for primary worker to the latest checkpoint sequence number. + queue_sender.init_checkpoint = primary_watermark; + queue_sender.run().await; + + let worker = new_handlers::( + store, + metrics, + primary_watermark, + cancel.clone(), + queue_sender, + ) + .await?; let worker_pool = WorkerPool::new(worker, "primary".to_string(), download_queue_size); executor.register(worker_pool).await?; diff --git a/crates/sui-indexer/src/main.rs b/crates/sui-indexer/src/main.rs index 02a92f7a507b2..1e9c691f8cb71 100644 --- a/crates/sui-indexer/src/main.rs +++ b/crates/sui-indexer/src/main.rs @@ -1,7 +1,11 @@ // Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 +use std::sync::Arc; + use clap::Parser; +use odin::{get_odin, ConnectOptions, Odin}; +use sui_types::nats_queue::nats_queue; use tracing::info; use sui_indexer::errors::IndexerError; @@ -34,8 +38,25 @@ async fn main() -> Result<(), IndexerError> { .unwrap(), indexer_config.rpc_client_url.as_str(), )?; + + // TODO update on launch + let odin = Odin::connect( + Some(vec![ + "nats://localhost:4228".to_string(), + "nats://localhost:4229".to_string(), + ]), + Some(ConnectOptions::with_user_and_password( + "alexandria".to_string(), + "alexandria".to_string(), + )), + ) + .await; + let odin_connection: Arc = Arc::new(odin); + let queue_sender = nats_queue(odin_connection.clone()); + #[cfg(feature = "postgres-feature")] - sui_indexer::db::setup_postgres::setup(indexer_config.clone(), registry.clone()).await?; + sui_indexer::db::setup_postgres::setup(indexer_config.clone(), registry.clone(), queue_sender) + .await?; #[cfg(feature = "mysql-feature")] #[cfg(not(feature = "postgres-feature"))] diff --git a/crates/sui-indexer/src/test_utils.rs b/crates/sui-indexer/src/test_utils.rs index 421039555ca9c..995217d06c616 100644 --- a/crates/sui-indexer/src/test_utils.rs +++ b/crates/sui-indexer/src/test_utils.rs @@ -4,6 +4,7 @@ use diesel::connection::SimpleConnection; use mysten_metrics::init_metrics; use secrecy::ExposeSecret; +use sui_types::nats_queue::NatsQueueSender; use tokio::task::JoinHandle; use tokio_util::sync::CancellationToken; @@ -45,6 +46,7 @@ pub async fn start_test_indexer( rpc_url: String, reader_writer_config: ReaderWriterConfig, data_ingestion_path: PathBuf, + queue_sender: NatsQueueSender, ) -> (PgIndexerStore, JoinHandle>) { start_test_indexer_impl( db_url, @@ -53,6 +55,7 @@ pub async fn start_test_indexer( None, Some(data_ingestion_path), CancellationToken::new(), + queue_sender, ) .await } @@ -64,6 +67,7 @@ pub async fn start_test_indexer_impl( new_database: Option, data_ingestion_path: Option, cancel: CancellationToken, + queue_sender: NatsQueueSender, ) -> (PgIndexerStore, JoinHandle>) { // Reduce the connection pool size to 10 for testing // to prevent maxing out @@ -155,6 +159,7 @@ pub async fn start_test_indexer_impl( indexer_metrics, snapshot_config, cancel, + queue_sender, ) .await }) diff --git a/crates/sui-indexer/src/types.rs b/crates/sui-indexer/src/types.rs index c29bbd6c626b8..7dd8750a2fe91 100644 --- a/crates/sui-indexer/src/types.rs +++ b/crates/sui-indexer/src/types.rs @@ -3,6 +3,7 @@ use crate::errors::IndexerError; use move_core_types::language_storage::StructTag; +use odin::sui_ws::ObjectChangeUpdate; use serde::{Deserialize, Serialize}; use serde_with::serde_as; use sui_json_rpc_types::{ @@ -353,6 +354,40 @@ pub struct IndexedTransaction { pub successful_tx_num: u64, } +#[derive(Debug, Clone)] +pub struct CustomIndexedTransaction { + pub tx_sequence_number: u64, + pub tx_digest: TransactionDigest, + pub sender_signed_data: SenderSignedData, + pub effects: TransactionEffects, + pub checkpoint_sequence_number: u64, + pub timestamp_ms: u64, + pub object_changes: Vec, + pub balance_change: Vec, + pub custom_object_changes: Vec<(Option, ObjectChangeUpdate)>, + pub events: Vec, + pub transaction_kind: TransactionKind, + pub successful_tx_num: u64, +} + +impl From for IndexedTransaction { + fn from(tx: CustomIndexedTransaction) -> Self { + Self { + tx_sequence_number: tx.tx_sequence_number, + tx_digest: tx.tx_digest, + sender_signed_data: tx.sender_signed_data, + effects: tx.effects, + checkpoint_sequence_number: tx.checkpoint_sequence_number, + timestamp_ms: tx.timestamp_ms, + object_changes: tx.object_changes, + balance_change: tx.balance_change.into_iter().map(|bc| bc.into()).collect(), + events: tx.events, + transaction_kind: tx.transaction_kind, + successful_tx_num: tx.successful_tx_num, + } + } +} + #[derive(Debug, Clone)] pub struct TxIndex { pub tx_sequence_number: u64, diff --git a/crates/sui-json-rpc-types/src/balance_changes.rs b/crates/sui-json-rpc-types/src/balance_changes.rs index 83b659f75b0b5..0368ba0170107 100644 --- a/crates/sui-json-rpc-types/src/balance_changes.rs +++ b/crates/sui-json-rpc-types/src/balance_changes.rs @@ -6,6 +6,7 @@ use serde::{Deserialize, Serialize}; use serde_with::serde_as; use serde_with::DisplayFromStr; use std::fmt::{Display, Formatter, Result}; +use sui_types::base_types::ObjectID; use sui_types::object::Owner; use sui_types::sui_serde::SuiTypeTag; @@ -34,3 +35,78 @@ impl Display for BalanceChange { ) } } + +#[serde_as] +#[derive(Debug, Clone, Deserialize, Serialize, JsonSchema, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +pub struct BalanceChangeWithStatus { + /// Owner of the balance change + pub owner: Owner, + #[schemars(with = "String")] + #[serde_as(as = "SuiTypeTag")] + pub coin_type: TypeTag, + /// The amount indicate the balance value changes, + /// negative amount means spending coin value and positive means receiving coin value. + #[schemars(with = "String")] + #[serde_as(as = "DisplayFromStr")] + pub amount: i128, + /// Our additional fields + pub object_id: String, + pub status: ObjectStatus, +} + +impl From for BalanceChange { + fn from(balance_change: BalanceChangeWithStatus) -> Self { + BalanceChange { + owner: balance_change.owner, + coin_type: balance_change.coin_type, + amount: balance_change.amount, + } + } +} + +impl Display for BalanceChangeWithStatus { + fn fmt(&self, f: &mut Formatter<'_>) -> Result { + write!( + f, + " ┌──\n │ Owner: {} \n │ CoinType: {} \n │ Amount: {}\n └──", + self.owner, self.coin_type, self.amount + ) + } +} + +#[derive(Debug, Clone, Deserialize, JsonSchema, Serialize, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +pub enum ObjectStatus { + Created, + Mutated, + Deleted, +} + +#[serde_as] +#[derive(Debug, Clone, Deserialize, Serialize, JsonSchema, PartialEq, Eq)] +#[serde(rename_all = "camelCase")] +pub struct CustomBalanceChange { + /// Owner of the balance change + pub owner: Owner, + #[schemars(with = "String")] + #[serde_as(as = "SuiTypeTag")] + pub coin_type: TypeTag, + /// The amount indicate the balance value changes, + /// negative amount means spending coin value and positive means receiving coin value. + #[schemars(with = "String")] + #[serde_as(as = "DisplayFromStr")] + pub amount: i128, + /// Our additional fields + pub object_id: ObjectID, +} + +impl Display for CustomBalanceChange { + fn fmt(&self, f: &mut Formatter<'_>) -> Result { + write!( + f, + " ┌──\n │ Owner: {} \n │ CoinType: {} \n | ObjectId: {} \n │ Amount: {}\n └──", + self.owner, self.coin_type, self.object_id, self.amount + ) + } +} diff --git a/crates/sui-json-rpc/Cargo.toml b/crates/sui-json-rpc/Cargo.toml index e03790cecfaa4..de2f6f9f9e957 100644 --- a/crates/sui-json-rpc/Cargo.toml +++ b/crates/sui-json-rpc/Cargo.toml @@ -7,6 +7,8 @@ publish = false edition = "2021" [dependencies] +odin = { workspace = true, version = "0.1.0" } + arc-swap.workspace = true chrono.workspace = true fastcrypto.workspace = true diff --git a/crates/sui-json-rpc/src/balance_changes.rs b/crates/sui-json-rpc/src/balance_changes.rs index 91b4b3011edaf..c7abc73a6f40b 100644 --- a/crates/sui-json-rpc/src/balance_changes.rs +++ b/crates/sui-json-rpc/src/balance_changes.rs @@ -8,7 +8,9 @@ use async_trait::async_trait; use move_core_types::language_storage::TypeTag; use tokio::sync::RwLock; -use sui_json_rpc_types::BalanceChange; +use sui_json_rpc_types::{ + BalanceChange, BalanceChangeWithStatus, CustomBalanceChange, ObjectStatus, +}; use sui_types::base_types::{ObjectID, ObjectRef, SequenceNumber}; use sui_types::coin::Coin; use sui_types::digests::ObjectDigest; @@ -152,6 +154,186 @@ async fn fetch_coins, E>( Ok(all_mutated_coins) } +////////////////////////////////////////////////////// Custom Methods ////////////////////////////////////////////////////// +// Out own version as the function is called via different methods in the original code which i don't want to fix +pub async fn get_balance_changes_with_status_from_effect, E>( + object_provider: &P, + effects: &TransactionEffects, + input_objs: Vec, + mocked_coin: Option, + status_map: HashMap, + input_objects_to_owner: &HashMap, + output_objects_to_owner: &HashMap, +) -> Result, E> { + let ((object_id, _, _), gas_owner) = effects.gas_object(); + + // Only charge gas when tx fails, skip all object parsing + if effects.status() != &ExecutionStatus::Success { + return Ok(vec![BalanceChangeWithStatus { + owner: gas_owner, + coin_type: GAS::type_tag(), + amount: effects.gas_cost_summary().net_gas_usage().neg() as i128, + object_id: object_id.to_canonical_string(true), + status: ObjectStatus::Mutated, + }]); + } + + let all_mutated = effects + .all_changed_objects() + .into_iter() + .filter_map(|((id, version, digest), _, _)| { + if matches!(mocked_coin, Some(coin) if id == coin) { + return None; + } + Some((id, version, Some(digest))) + }) + .collect::>(); + + let input_objs_to_digest = input_objs + .iter() + .filter_map(|k| match k { + InputObjectKind::ImmOrOwnedMoveObject(o) => Some((o.0, o.2)), + InputObjectKind::MovePackage(_) | InputObjectKind::SharedMoveObject { .. } => None, + }) + .collect::>(); + let unwrapped_then_deleted = effects + .unwrapped_then_deleted() + .iter() + .map(|e| e.0) + .collect::>(); + let all_balance_changes = custom_get_balance_changes( + object_provider, + &effects + .modified_at_versions() + .into_iter() + .filter_map(|(id, version)| { + if matches!(mocked_coin, Some(coin) if id == coin) { + return None; + } + // We won't be able to get dynamic object from object provider today + if unwrapped_then_deleted.contains(&id) { + return None; + } + Some((id, version, input_objs_to_digest.get(&id).cloned())) + }) + .collect::>(), + &all_mutated, + ) + .await?; + + // merge duplicated balance changes on same object + let mut all_balance_changes_with_status = vec![]; + all_balance_changes.into_iter().for_each(|bc| { + let old_owner = input_objects_to_owner.get(&bc.object_id); + // Check if input owner changed + if old_owner.is_some() && old_owner != Some(&bc.owner) { + all_balance_changes_with_status.push(BalanceChangeWithStatus { + object_id: bc.object_id.to_canonical_string(true), + owner: bc.owner, + coin_type: bc.coin_type, + amount: bc.amount, + status: ObjectStatus::Created, + }); + return; + } + let old_owner = output_objects_to_owner.get(&bc.object_id); + // Check if output owner changed + if old_owner.is_some() && old_owner != Some(&bc.owner) { + all_balance_changes_with_status.push(BalanceChangeWithStatus { + object_id: bc.object_id.to_canonical_string(true), + owner: bc.owner, + coin_type: bc.coin_type, + amount: bc.amount, + status: ObjectStatus::Deleted, + }); + return; + } + all_balance_changes_with_status.push(BalanceChangeWithStatus { + object_id: bc.object_id.to_canonical_string(true), + owner: bc.owner, + coin_type: bc.coin_type, + amount: bc.amount, + status: status_map + .get(&bc.object_id) + .cloned() + .expect("Use of object not in transaction effects"), + }); + }); + + return Ok(all_balance_changes_with_status); +} + +pub async fn custom_get_balance_changes, E>( + object_provider: &P, + modified_at_version: &[(ObjectID, SequenceNumber, Option)], + all_mutated: &[(ObjectID, SequenceNumber, Option)], +) -> Result, E> { + // 1. subtract all input coins + let balances = custom_fetch_coins(object_provider, modified_at_version) + .await? + .into_iter() + .fold( + BTreeMap::<_, i128>::new(), + |mut acc, (owner, type_, object_id, amount)| { + *acc.entry((owner, type_, object_id)).or_default() -= amount as i128; + acc + }, + ); + // 2. add all mutated coins + let balances = custom_fetch_coins(object_provider, all_mutated) + .await? + .into_iter() + .fold(balances, |mut acc, (owner, type_, object_id, amount)| { + *acc.entry((owner, type_, object_id)).or_default() += amount as i128; + acc + }); + + Ok(balances + .into_iter() + .filter_map(|((owner, coin_type, object_id), amount)| { + Some(CustomBalanceChange { + object_id, + owner, + coin_type, + amount, + }) + }) + .collect()) +} + +async fn custom_fetch_coins, E>( + object_provider: &P, + objects: &[(ObjectID, SequenceNumber, Option)], +) -> Result, E> { + let mut all_mutated_coins = vec![]; + for (id, version, digest_opt) in objects { + // TODO: use multi get object + let o = object_provider.get_object(id, version).await?; + if let Some(type_) = o.type_() { + if type_.is_coin() { + if let Some(digest) = digest_opt { + assert_eq!( + *digest, + o.digest(), + "Object digest mismatch--got bad data from object_provider?" + ) + } + let [coin_type]: [TypeTag; 1] = + type_.clone().into_type_params().try_into().unwrap(); + all_mutated_coins.push(( + o.owner, + coin_type, + o.id(), + // // we know this is a coin, safe to unwrap + // HW // NB: THIS IS FUCKING MYSTEN LABS CODE IF THIS CRASHES FUCK EM + Coin::extract_balance_if_coin(&o).unwrap().unwrap(), + )) + } + } + } + Ok(all_mutated_coins) +} + #[async_trait] pub trait ObjectProvider { type Error; diff --git a/crates/sui-json-rpc/src/object_changes.rs b/crates/sui-json-rpc/src/object_changes.rs index c3fbdf26ad67b..8eee707f07dbc 100644 --- a/crates/sui-json-rpc/src/object_changes.rs +++ b/crates/sui-json-rpc/src/object_changes.rs @@ -1,13 +1,15 @@ // Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 -use std::collections::BTreeMap; - +use move_core_types::language_storage::StructTag; +use odin::sui_ws::{ObjectChangeUpdate, ObjectUpdateStatus, Received, Sent}; +use std::collections::{BTreeMap, HashMap}; use sui_json_rpc_types::ObjectChange; use sui_types::base_types::{ObjectID, ObjectRef, SequenceNumber, SuiAddress}; use sui_types::effects::ObjectRemoveKind; -use sui_types::object::Owner; +use sui_types::object::{Object, Owner}; use sui_types::storage::WriteKind; +use tracing::warn; use crate::ObjectProvider; @@ -90,3 +92,327 @@ pub async fn get_object_changes, E>( Ok(object_changes) } + +pub async fn custom_get_object_changes, E>( + object_provider: &P, + sender: SuiAddress, + modified_at_versions: Vec<(ObjectID, SequenceNumber)>, + all_changed_objects: Vec<(ObjectRef, Owner, WriteKind)>, + all_removed_objects: Vec<(ObjectRef, ObjectRemoveKind)>, + input_objects: &Vec, + output_objects: &Vec, +) -> Result<(Vec, Vec<(Option, ObjectChangeUpdate)>), E> { + let mut object_changes = vec![]; + let mut custom_object_changes: Vec<(Option, ObjectChangeUpdate)> = vec![]; + + // Input objects ownership map + let input_ownership_map = input_objects + .iter() + .map(|o| { + ( + o.id().to_string(), + match o.owner.get_owner_address() { + Ok(owner) => Some(owner.to_string()), + Err(_) => None, + }, + ) + }) + .collect::>(); + // Output objects ownership map is needed to check if object ownership changed + let output_ownership_map = output_objects + .iter() + .map(|o| { + ( + o.id().to_string(), + match o.owner.get_owner_address() { + Ok(owner) => Some(owner.to_string()), + Err(_) => None, + }, + ) + }) + .collect::>(); + + let modify_at_version = modified_at_versions.into_iter().collect::>(); + + for ((object_id, version, digest), owner, kind) in all_changed_objects { + let o = object_provider.get_object(&object_id, &version).await?; + if let Some(type_) = o.type_() { + let object_type: StructTag = type_.clone().into(); + + let address_owner = match o.owner.get_owner_address() { + Ok(owner) => Some(owner.to_string()), + Err(_) => None, + }; + + match kind { + WriteKind::Mutate => { + object_changes.push(ObjectChange::Mutated { + sender, + owner, + object_type: object_type.clone(), + object_id, + version, + // modify_at_version should always be available for mutated object + previous_version: modify_at_version + .get(&object_id) + .cloned() + .unwrap_or_default(), + digest, + }); + + // Check if ownership change occurred, object should have existed in transaction input + let object_owner = match input_ownership_map.get(&object_id.to_string()) { + Some(old_owner) => old_owner.clone(), + None => { + // Should never happen + warn!( + "Object ownership change occurred but object not found in input objects, object_id: {}", object_id + ); + continue; + } + }; + + // Check change + match (object_owner, address_owner) { + (Some(old_owner), Some(new_owner)) => { + // Check if owner changed + if old_owner != new_owner { + // Receiver + custom_object_changes.push(( + Some(new_owner.clone()), + ObjectChangeUpdate { + object_id: object_id.to_string(), + object_type_tag: Some( + object_type.to_canonical_string(true), + ), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Received(Received { + sender_address: old_owner.to_string(), + receiver_address: new_owner, + }), + }, + )); + } + } + (Some(_), None) | (None, None) => { + custom_object_changes.push(( + None, + ObjectChangeUpdate { + object_id: object_id.to_string(), + object_type_tag: Some(object_type.to_canonical_string(true)), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Mutated, + }, + )); + } + (None, Some(new_owner)) => { + // Object did not have owner before, now has owner + custom_object_changes.push(( + Some(new_owner), + ObjectChangeUpdate { + object_id: object_id.to_string(), + object_type_tag: Some(object_type.to_canonical_string(true)), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Mutated, + }, + )); + } + } + } + WriteKind::Create => { + object_changes.push(ObjectChange::Created { + sender, + owner, + object_type: object_type.clone(), + object_id, + version, + digest, + }); + + // Check if object had previous owner + let object_existed = input_ownership_map.get(&object_id.to_string()); + + // 1. (Some(), Some()) Object existed and still has owner + // 2. (Some(), None) Object existed but no longer has owner + // 3. (None, Some()) Object did not exist and now does and has an owner + // 4. (None, None) Object did not exist and but now it does and it does not have an owner + match (object_existed, address_owner) { + // (Option, Option) + (Some(old_owner), Some(new_owner)) => { + // Check if object had owner before and now has a different owner + match old_owner { + Some(old_owner) => { + // object existed and had owner before, check if owner changed + if old_owner != &new_owner { + // Receiver + custom_object_changes.push(( + Some(new_owner.clone()), + ObjectChangeUpdate { + object_id: object_id.to_string(), + object_type_tag: Some( + object_type.to_canonical_string(true), + ), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Received(Received { + sender_address: old_owner.to_string(), + receiver_address: new_owner, + }), + }, + )); + } + } + None => { + // Object did not have owner before, now has owner + custom_object_changes.push(( + Some(new_owner), + ObjectChangeUpdate { + object_id: object_id.to_string(), + object_type_tag: Some( + object_type.to_canonical_string(true), + ), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Mutated, + }, + )); + } + } + } + (Some(_), None) | (None, None) => { + custom_object_changes.push(( + None, + ObjectChangeUpdate { + object_id: object_id.to_string(), + object_type_tag: Some(object_type.to_canonical_string(true)), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Created, + }, + )); + } + // Object did not exist before, now it does and has an owner + (None, Some(new_owner)) => { + custom_object_changes.push(( + Some(new_owner), + ObjectChangeUpdate { + object_id: object_id.to_string(), + object_type_tag: Some(object_type.to_canonical_string(true)), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Created, + }, + )); + } + } + } + _ => {} + } + } else if let Some(p) = o.data.try_as_package() { + if kind == WriteKind::Create { + object_changes.push(ObjectChange::Published { + package_id: p.id(), + version: p.version(), + digest, + modules: p.serialized_module_map().keys().cloned().collect(), + }) + } + }; + } + + for ((id, version, _), kind) in all_removed_objects { + let o = object_provider + .find_object_lt_or_eq_version(&id, &version) + .await?; + if let Some(o) = o { + if let Some(type_) = o.type_() { + let object_type: StructTag = type_.clone().into(); + match kind { + ObjectRemoveKind::Delete => object_changes.push(ObjectChange::Deleted { + sender, + object_type: object_type.clone(), + object_id: id, + version, + }), + ObjectRemoveKind::Wrap => object_changes.push(ObjectChange::Wrapped { + sender, + object_type: object_type.clone(), + object_id: id, + version, + }), + } + + let address_owner = match o.owner.get_owner_address() { + Ok(owner) => Some(owner.to_string()), + Err(_) => None, + }; + + // Check if object has changed ownership + match output_ownership_map.get(&id.to_string()) { + // object still exists aka has changed ownership + Some(new_owner) => { + // just in case get old owner from out map + let old_owner = match input_ownership_map.get(&id.to_string()) { + Some(old_owner) => old_owner, + None => { + // Should never happen + warn!( + "Object ownership change occurred but object not found in input objects, object_id: {}", id + ); + continue; + } + }; + + if let Some(new_owner) = new_owner { + // Sender + custom_object_changes.push(( + old_owner.clone(), + ObjectChangeUpdate { + object_id: id.to_string(), + object_type_tag: Some(object_type.to_canonical_string(true)), + object_version: Some(version.into()), + + object_metadata: None, + status: ObjectUpdateStatus::Sent(Sent { + sender_address: new_owner.clone(), + receiver_address: new_owner.clone(), + }), + }, + )); + } else { + // Object was transferred, exists but no longer has owner + custom_object_changes.push(( + old_owner.clone(), + ObjectChangeUpdate { + object_id: id.to_string(), + object_type_tag: Some(object_type.to_canonical_string(true)), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Deleted, + }, + )); + } + } + None => { + // Object was simply deleted + custom_object_changes.push(( + address_owner, + ObjectChangeUpdate { + object_id: id.to_string(), + object_type_tag: Some(object_type.to_canonical_string(true)), + object_version: Some(version.into()), + object_metadata: None, + status: ObjectUpdateStatus::Deleted, + }, + )); + } + } + } + }; + } + + Ok((object_changes, custom_object_changes)) +} diff --git a/crates/sui-types/Cargo.toml b/crates/sui-types/Cargo.toml index 5d2f6876ab28b..cba80cf40ea6c 100644 --- a/crates/sui-types/Cargo.toml +++ b/crates/sui-types/Cargo.toml @@ -7,6 +7,9 @@ publish = false edition = "2021" [dependencies] +odin = { workspace = true, version = "0.1.0" } +tokio.workspace = true + anemo.workspace = true anyhow.workspace = true bincode.workspace = true diff --git a/crates/sui-types/src/lib.rs b/crates/sui-types/src/lib.rs index c5116aebe10ba..ad2c983b47177 100644 --- a/crates/sui-types/src/lib.rs +++ b/crates/sui-types/src/lib.rs @@ -68,6 +68,7 @@ pub mod mock_checkpoint_builder; pub mod move_package; pub mod multisig; pub mod multisig_legacy; +pub mod nats_queue; pub mod object; pub mod passkey_authenticator; pub mod programmable_transaction_builder; diff --git a/crates/sui-types/src/nats_queue.rs b/crates/sui-types/src/nats_queue.rs new file mode 100644 index 0000000000000..4854c08387c5f --- /dev/null +++ b/crates/sui-types/src/nats_queue.rs @@ -0,0 +1,100 @@ +// We want to make sure we send msg about block in correct order +// This task is responsible for gathering all the messages and sending them in correct order +// We will use a priority queue to store the messages and send them in correct order + +use odin::{sui_ws::SuiWsApiMsg, Odin}; +use std::{collections::BTreeMap, sync::Arc}; +use tokio::sync::{ + mpsc::{channel, Receiver, Sender}, + Mutex, +}; +use tracing::info; + +pub type WsPayload = (u64, Vec); + +pub struct NatsQueueSender { + pub init_checkpoint: u64, + pub sender: Arc>, + pub receiver: Arc>>, + odin: Arc, +} + +pub fn nats_queue(odin: Arc) -> NatsQueueSender { + // Create sender and receiver + let (tx, rx) = channel::(10_000); // 10k + + NatsQueueSender { + init_checkpoint: u64::MAX, + sender: Arc::new(tx), + receiver: Arc::new(Mutex::new(rx)), + odin, + } +} + +impl NatsQueueSender { + pub async fn run(&mut self) { + // Spawn task that will order the messages + let odin = self.odin.clone(); + let receiver = self.receiver.clone(); + let init_checkpoint = self.init_checkpoint; + + tokio::spawn(async move { + let mut next_index: u64 = init_checkpoint; // MAX means we have not received any message yet + + let mut receiver_lock = receiver.lock().await; + + // Log init checkpoint + info!("Nats queue init checkpoint: {}", init_checkpoint); + + //Cache if we get a message with a block number that is not in order + let mut bmap_checkpoints: BTreeMap> = BTreeMap::new(); + while let Some((checkpoint_seq_number, ws_updates)) = receiver_lock.recv().await { + // Check if we have not received any message yet + if next_index == u64::MAX { + next_index = checkpoint_seq_number; + } + // Check if correct order + if checkpoint_seq_number == next_index { + // Send message + + info!( + "Sending: {} ws updates with seq number {}", + ws_updates.len(), + checkpoint_seq_number + ); + for ws_update in ws_updates.iter() { + odin.publish_sui_ws_update(&ws_update).await; + } + + // Update next index + next_index = next_index + 1; + // Check if we have any cached messages + while let Some(next_checkpoint) = bmap_checkpoints.remove(&next_index) { + info!( + "Sending: {} cached ws updates with seq number {}", + next_checkpoint.len(), + next_index + ); + + for ws_update in next_checkpoint.iter() { + odin.publish_sui_ws_update(&ws_update).await; + } + + // Update next index + next_index = next_index + 1; + } + } else { + info!( + "Received checkpoint with seq number {} but expected {}", + checkpoint_seq_number, next_index + ); + // Cache message + bmap_checkpoints + .entry(checkpoint_seq_number) + .or_insert(vec![]) + .extend(ws_updates); + } + } + }); + } +} diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 6d833ff50699a..c6e4d7d5031fa 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.75" +channel = "1.79"