diff --git a/Cargo.lock b/Cargo.lock index 964bcc2857d203..5a0fe2cb3cc49a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -270,9 +270,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "autotools" @@ -625,9 +625,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "bytesize" @@ -1117,6 +1117,17 @@ dependencies = [ "rayon", ] +[[package]] +name = "dashmap" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8858831f7781322e539ea39e72449c46b059638250c14344fec8d0aa6e539c" +dependencies = [ + "cfg-if 1.0.0", + "num_cpus", + "parking_lot 0.12.1", +] + [[package]] name = "data-encoding" version = "2.3.2" @@ -1595,9 +1606,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" +checksum = "ab30e97ab6aacfe635fad58f22c2bb06c8b685f7421eb1e064a729e2a5f481fa" dependencies = [ "futures-channel", "futures-core", @@ -1610,9 +1621,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +checksum = "2bfc52cbddcfd745bf1740338492bb0bd83d76c67b445f91c5fb29fae29ecaa1" dependencies = [ "futures-core", "futures-sink", @@ -1620,15 +1631,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" +checksum = "d2acedae88d38235936c3922476b10fced7b2b68136f5e3c03c2d5be348a1115" [[package]] name = "futures-executor" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" +checksum = "1d11aa21b5b587a64682c0094c2bdd4df0076c5324961a40cc3abd7f37930528" dependencies = [ "futures-core", "futures-task", @@ -1638,15 +1649,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" +checksum = "93a66fc6d035a26a3ae255a6d2bca35eda63ae4c5512bef54449113f7a1228e5" [[package]] name = "futures-macro" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" +checksum = "0db9cce532b0eae2ccf2766ab246f114b56b9cf6d445e00c2549fbc100ca045d" dependencies = [ "proc-macro2 1.0.41", "quote 1.0.18", @@ -1655,21 +1666,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" +checksum = "ca0bae1fe9752cf7fd9b0064c674ae63f97b37bc714d745cbde0afb7ec4e6765" [[package]] name = "futures-task" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" +checksum = "842fc63b931f4056a24d59de13fb1272134ce261816e063e634ad0c15cdc5306" [[package]] name = "futures-util" -version = "0.3.21" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +checksum = "f0828a5471e340229c11c77ca80017937ce3c58cb788a17e5f1c2d5c485a9577" dependencies = [ "futures 0.1.31", "futures-channel", @@ -1800,7 +1811,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8af59a261bcf42f45d1b261232847b9b850ba0a1419d6100698246fb66e9240" dependencies = [ "arc-swap", - "futures 0.3.21", + "futures 0.3.23", "log", "reqwest", "serde", @@ -2048,7 +2059,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc" dependencies = [ "bytes", - "futures 0.3.21", + "futures 0.3.23", "headers", "http", "hyper", @@ -2269,7 +2280,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a" dependencies = [ "derive_more", - "futures 0.3.21", + "futures 0.3.23", "jsonrpc-core", "jsonrpc-pubsub", "jsonrpc-server-utils", @@ -2287,7 +2298,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.21", + "futures 0.3.23", "futures-executor", "futures-util", "log", @@ -2302,7 +2313,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0" dependencies = [ - "futures 0.3.21", + "futures 0.3.23", "jsonrpc-client-transports", ] @@ -2324,7 +2335,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff" dependencies = [ - "futures 0.3.21", + "futures 0.3.23", "hyper", "jsonrpc-core", "jsonrpc-server-utils", @@ -2340,7 +2351,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "382bb0206323ca7cda3dcd7e245cea86d37d02457a02a975e3378fb149a48845" dependencies = [ - "futures 0.3.21", + "futures 0.3.23", "jsonrpc-core", "jsonrpc-server-utils", "log", @@ -2355,7 +2366,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011" dependencies = [ - "futures 0.3.21", + "futures 0.3.23", "jsonrpc-core", "lazy_static", "log", @@ -2371,7 +2382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa4fdea130485b572c39a460d50888beb00afb3e35de23ccd7fad8ff19f0e0d4" dependencies = [ "bytes", - "futures 0.3.21", + "futures 0.3.23", "globset", "jsonrpc-core", "lazy_static", @@ -2412,9 +2423,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.129" +version = "0.2.131" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64de3cc433455c14174d42e554d4027ee631c4d046d43e3ecc6efc4636cdc7a7" +checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40" [[package]] name = "libloading" @@ -3046,7 +3057,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6" dependencies = [ - "futures 0.3.21", + "futures 0.3.23", "libc", "log", "rand 0.7.3", @@ -3111,15 +3122,6 @@ dependencies = [ "crypto-mac", ] -[[package]] -name = "pbkdf2" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7" -dependencies = [ - "digest 0.10.3", -] - [[package]] name = "pbkdf2" version = "0.11.0" @@ -3567,15 +3569,14 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quinn" version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7542006acd6e057ff632307d219954c44048f818898da03113d6c0086bfddd9" +source = "git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd#37c19743cc881cf71369946d572849d5d2ffc3fd" dependencies = [ "bytes", "futures-channel", "futures-util", "fxhash", - "quinn-proto 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", - "quinn-udp 0.1.0", + "quinn-proto 0.8.3", + "quinn-udp 0.1.3", "rustls 0.20.6", "thiserror", "tokio", @@ -3585,15 +3586,16 @@ dependencies = [ [[package]] name = "quinn" -version = "0.8.3" -source = "git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd#37c19743cc881cf71369946d572849d5d2ffc3fd" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21afdc492bf2a8688cb386be6605d1163b6ace89afa5e3b529037d2b4334b860" dependencies = [ "bytes", "futures-channel", "futures-util", "fxhash", - "quinn-proto 0.8.3 (git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd)", - "quinn-udp 0.1.3", + "quinn-proto 0.8.4", + "quinn-udp 0.1.0", "rustls 0.20.6", "thiserror", "tokio", @@ -3604,8 +3606,7 @@ dependencies = [ [[package]] name = "quinn-proto" version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a13a5c0a674c1ce7150c9df7bc4a1e46c2fbbe7c710f56c0dc78b1a810e779e" +source = "git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd#37c19743cc881cf71369946d572849d5d2ffc3fd" dependencies = [ "bytes", "fxhash", @@ -3623,8 +3624,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.8.3" -source = "git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd#37c19743cc881cf71369946d572849d5d2ffc3fd" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce546b9688f767a57530652488420d419a8b1f44a478b451c3d1ab6d992a55" dependencies = [ "bytes", "fxhash", @@ -3649,7 +3651,7 @@ dependencies = [ "futures-util", "libc", "mio", - "quinn-proto 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "quinn-proto 0.8.4", "socket2", "tokio", "tracing", @@ -3662,7 +3664,7 @@ source = "git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d dependencies = [ "futures-util", "libc", - "quinn-proto 0.8.3 (git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd)", + "quinn-proto 0.8.3", "socket2", "tokio", "tracing", @@ -4331,11 +4333,25 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7eec42e7232e5ca56aa59d63af3c7f991fe71ee6a3ddd2d3480834cf3902b007" dependencies = [ - "futures 0.3.21", + "futures 0.3.23", + "lazy_static", + "log", + "parking_lot 0.12.1", + "serial_test_derive 0.8.0", +] + +[[package]] +name = "serial_test" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92761393ee4dc3ff8f4af487bd58f4307c9329bbedea02cac0089ad9c411e153" +dependencies = [ + "dashmap 5.2.0", + "futures 0.3.23", "lazy_static", "log", "parking_lot 0.12.1", - "serial_test_derive", + "serial_test_derive 0.9.0", ] [[package]] @@ -4351,6 +4367,18 @@ dependencies = [ "syn 1.0.98", ] +[[package]] +name = "serial_test_derive" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6f5d1c3087fb119617cff2966fe3808a80e5eb59a8c1601d5994d66f4346a5" +dependencies = [ + "proc-macro-error", + "proc-macro2 1.0.41", + "quote 1.0.18", + "syn 1.0.98", +] + [[package]] name = "sha-1" version = "0.8.2" @@ -4535,7 +4563,7 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.0", "bytes", - "futures 0.3.21", + "futures 0.3.23", "httparse", "log", "rand 0.8.5", @@ -4664,7 +4692,7 @@ name = "solana-banks-client" version = "1.12.0" dependencies = [ "borsh", - "futures 0.3.21", + "futures 0.3.23", "solana-banks-interface", "solana-banks-server", "solana-program 1.12.0", @@ -4691,7 +4719,7 @@ version = "1.12.0" dependencies = [ "bincode", "crossbeam-channel", - "futures 0.3.21", + "futures 0.3.23", "solana-banks-interface", "solana-client", "solana-runtime", @@ -4725,7 +4753,7 @@ dependencies = [ "rayon", "serde_json", "serde_yaml", - "serial_test", + "serial_test 0.8.0", "solana-clap-utils", "solana-cli-config", "solana-client", @@ -4830,7 +4858,7 @@ dependencies = [ "log", "predicates", "regex", - "serial_test", + "serial_test 0.9.0", "solana-download-utils", "solana-logger 1.12.0", "solana-sdk 1.12.0", @@ -4988,7 +5016,7 @@ dependencies = [ "clap 2.33.3", "crossbeam-channel", "enum_dispatch", - "futures 0.3.21", + "futures 0.3.23", "futures-util", "indexmap", "indicatif", @@ -4997,8 +5025,8 @@ dependencies = [ "jsonrpc-http-server", "lazy_static", "log", - "quinn 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", - "quinn-proto 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "quinn 0.8.4", + "quinn-proto 0.8.4", "rand 0.7.3", "rand_chacha 0.2.2", "rayon", @@ -5036,7 +5064,7 @@ version = "1.12.0" dependencies = [ "futures-util", "serde_json", - "serial_test", + "serial_test 0.8.0", "solana-client", "solana-ledger", "solana-logger 1.12.0", @@ -5087,7 +5115,7 @@ dependencies = [ "bs58", "chrono", "crossbeam-channel", - "dashmap", + "dashmap 4.0.2", "eager", "etcd-client", "fs_extra", @@ -5106,7 +5134,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "serial_test", + "serial_test 0.8.0", "solana-address-lookup-table-program", "solana-bloom", "solana-client", @@ -5155,7 +5183,7 @@ dependencies = [ "log", "rand 0.7.3", "serde", - "serial_test", + "serial_test 0.8.0", "solana-bench-tps", "solana-client", "solana-core", @@ -5242,23 +5270,35 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.10.33" +version = "1.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a5d3280421bb53fc12bdba1eaa505153fb4f99a06b5609dae22192652ead3b" +checksum = "28e4e35bc58c465f161bde764ebce41fdfcb503583cf3a77e0211274cc12b22d" dependencies = [ + "ahash", + "blake3", + "block-buffer 0.9.0", "bs58", "bv", + "byteorder", + "cc", + "either", "generic-array 0.14.5", + "getrandom 0.1.16", + "hashbrown 0.12.3", "im", "lazy_static", "log", "memmap2", + "once_cell", + "rand_core 0.6.3", "rustc_version 0.4.0", "serde", "serde_bytes", "serde_derive", + "serde_json", "sha2 0.10.2", - "solana-frozen-abi-macro 1.10.33", + "solana-frozen-abi-macro 1.11.5", + "subtle", "thiserror", ] @@ -5297,9 +5337,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.10.33" +version = "1.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "635c60ac96b1347af272c625465068b908aff919d19f29b5795a44310310494d" +checksum = "708f837d748e574b1e53b250ab1f4a69ba330bbc10d041d02381165f0f36291a" dependencies = [ "proc-macro2 1.0.41", "quote 1.0.18", @@ -5402,7 +5442,7 @@ dependencies = [ "serde", "serde_bytes", "serde_derive", - "serial_test", + "serial_test 0.8.0", "solana-bloom", "solana-clap-utils", "solana-client", @@ -5485,9 +5525,9 @@ dependencies = [ "chrono", "chrono-humanize", "crossbeam-channel", - "dashmap", + "dashmap 4.0.2", "fs_extra", - "futures 0.3.21", + "futures 0.3.23", "itertools", "lazy_static", "libc", @@ -5545,7 +5585,7 @@ dependencies = [ "clap 2.33.3", "crossbeam-channel", "csv", - "dashmap", + "dashmap 4.0.2", "histogram", "itertools", "log", @@ -5584,7 +5624,7 @@ dependencies = [ "log", "rand 0.7.3", "rayon", - "serial_test", + "serial_test 0.8.0", "solana-client", "solana-config-program", "solana-core", @@ -5615,9 +5655,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.10.33" +version = "1.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b12cb6e6f1f9c9876d356c928b8c2ac532f6715e7cd2a1b4343d747bee3eca73" +checksum = "e7ea6fc68d63d33d862d919d4c8ad7f613ec243ccf6762d595c660020b289b57" dependencies = [ "env_logger", "lazy_static", @@ -5675,7 +5715,7 @@ dependencies = [ "log", "rand 0.7.3", "reqwest", - "serial_test", + "serial_test 0.8.0", "solana-sdk 1.12.0", ] @@ -5786,9 +5826,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.10.33" +version = "1.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeecf504cee2821b006871f70e7a1f54db15f914cedf259eaf5976fe606470f0" +checksum = "bdd314d85b171bb20ccdcaf07346a9d52a012b10d84f4706f0628813d002fef8" dependencies = [ "base64 0.13.0", "bincode", @@ -5799,31 +5839,38 @@ dependencies = [ "bs58", "bv", "bytemuck", + "cc", "console_error_panic_hook", "console_log", "curve25519-dalek", - "getrandom 0.1.16", + "getrandom 0.2.3", "itertools", "js-sys", "lazy_static", + "libc", "libsecp256k1", "log", + "memoffset", "num-derive", "num-traits", "parking_lot 0.12.1", "rand 0.7.3", + "rand_chacha 0.2.2", "rustc_version 0.4.0", "rustversion", "serde", "serde_bytes", "serde_derive", + "serde_json", "sha2 0.10.2", "sha3 0.10.2", - "solana-frozen-abi 1.10.33", - "solana-frozen-abi-macro 1.10.33", - "solana-sdk-macro 1.10.33", + "solana-frozen-abi 1.11.5", + "solana-frozen-abi-macro 1.11.5", + "solana-sdk-macro 1.11.5", "thiserror", + "tiny-bip39", "wasm-bindgen", + "zeroize", ] [[package]] @@ -5959,7 +6006,7 @@ dependencies = [ "bincode", "bs58", "crossbeam-channel", - "dashmap", + "dashmap 4.0.2", "itertools", "jsonrpc-core", "jsonrpc-core-client", @@ -5973,7 +6020,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "serial_test", + "serial_test 0.8.0", "soketto", "solana-account-decoder", "solana-address-lookup-table-program", @@ -6042,7 +6089,7 @@ dependencies = [ "byteorder", "bzip2", "crossbeam-channel", - "dashmap", + "dashmap 4.0.2", "dir-diff", "ed25519-dalek", "flate2", @@ -6094,9 +6141,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.10.33" +version = "1.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "636f6c615aca6f75e22b6baceaf0ffed9d74367f9320b07ed57cd9b5ce2e4ff9" +checksum = "ad7d954df63b267857e26670e3aacfd8e2943ca703653b0418e5afc85046c2f3" dependencies = [ "assert_matches", "base64 0.13.0", @@ -6121,7 +6168,7 @@ dependencies = [ "memmap2", "num-derive", "num-traits", - "pbkdf2 0.10.1", + "pbkdf2 0.11.0", "qstring", "rand 0.7.3", "rand_chacha 0.2.2", @@ -6133,11 +6180,11 @@ dependencies = [ "serde_json", "sha2 0.10.2", "sha3 0.10.2", - "solana-frozen-abi 1.10.33", - "solana-frozen-abi-macro 1.10.33", - "solana-logger 1.10.33", - "solana-program 1.10.33", - "solana-sdk-macro 1.10.33", + "solana-frozen-abi 1.11.5", + "solana-frozen-abi-macro 1.11.5", + "solana-logger 1.11.5", + "solana-program 1.11.5", + "solana-sdk-macro 1.11.5", "thiserror", "uriparse", "wasm-bindgen", @@ -6199,9 +6246,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.10.33" +version = "1.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b8bcac4394644f21dc013e932a7df9f536fcecef3e5df43fe362b4ec532ce30" +checksum = "d0d9e81bc46edcc517b2df504856d57a5101c7586ec63f3143ae11fbe2eba613" dependencies = [ "bs58", "proc-macro2 1.0.41", @@ -6284,7 +6331,7 @@ dependencies = [ "bzip2", "enum-iterator", "flate2", - "futures 0.3.21", + "futures 0.3.23", "goauth", "http", "hyper", @@ -6349,8 +6396,8 @@ dependencies = [ "pem", "percentage", "pkcs8", - "quinn 0.8.3 (git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd)", - "quinn-proto 0.8.3 (git+https://github.com/quinn-rs/quinn.git?rev=37c19743cc881cf71369946d572849d5d2ffc3fd)", + "quinn 0.8.3", + "quinn-proto 0.8.3", "rand 0.7.3", "rcgen", "rustls 0.20.6", @@ -6614,9 +6661,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.10.33" +version = "1.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "410ee53a26ac91098c289c983863535d4fbb6604b229ae1159503f48fa4fc90f" +checksum = "62415c05a9ebfffaf8befaa61b24492ebf88269cf84cbeba714bac4125ec4ea3" dependencies = [ "aes-gcm-siv", "arrayref", @@ -6635,8 +6682,8 @@ dependencies = [ "serde", "serde_json", "sha3 0.9.1", - "solana-program 1.10.33", - "solana-sdk 1.10.33", + "solana-program 1.11.5", + "solana-sdk 1.11.5", "subtle", "thiserror", "zeroize", @@ -6720,7 +6767,7 @@ dependencies = [ "borsh", "num-derive", "num-traits", - "solana-program 1.10.33", + "solana-program 1.11.5", "spl-token", "spl-token-2022", "thiserror", @@ -6732,7 +6779,7 @@ version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" dependencies = [ - "solana-program 1.10.33", + "solana-program 1.11.5", ] [[package]] @@ -6746,7 +6793,7 @@ dependencies = [ "num-derive", "num-traits", "num_enum", - "solana-program 1.10.33", + "solana-program 1.11.5", "thiserror", ] @@ -6761,8 +6808,8 @@ dependencies = [ "num-derive", "num-traits", "num_enum", - "solana-program 1.10.33", - "solana-zk-token-sdk 1.10.33", + "solana-program 1.11.5", + "solana-zk-token-sdk 1.11.5", "spl-memo", "spl-token", "thiserror", @@ -6933,7 +6980,7 @@ checksum = "1c38a012bed6fb9681d3bf71ffaa4f88f3b4b9ed3198cda6e4c8462d24d4bb80" dependencies = [ "anyhow", "fnv", - "futures 0.3.21", + "futures 0.3.23", "humantime", "opentelemetry", "pin-project", diff --git a/runtime/src/accounts_db.rs b/runtime/src/accounts_db.rs index 4d28a7a5ba629e..43d0d9426b8b1d 100644 --- a/runtime/src/accounts_db.rs +++ b/runtime/src/accounts_db.rs @@ -2431,6 +2431,7 @@ impl AccountsDb { fn construct_candidate_clean_keys( &self, max_clean_root: Option, + is_startup: bool, last_full_snapshot_slot: Option, timings: &mut CleanKeyTimings, ) -> Vec { @@ -2447,11 +2448,33 @@ impl AccountsDb { }); let dirty_stores_len = dirty_stores.len(); let pubkeys = DashSet::new(); - timings.oldest_dirty_slot = max_slot.saturating_add(1); - for (slot, store) in dirty_stores { - timings.oldest_dirty_slot = std::cmp::min(timings.oldest_dirty_slot, slot); - store.accounts.account_iter().for_each(|account| { - pubkeys.insert(account.meta.pubkey); + let mut dirty_store_routine = || { + let chunk_size = 1.max(dirty_stores_len.saturating_div(rayon::current_num_threads())); + let oldest_dirty_slots: Vec = dirty_stores + .par_chunks(chunk_size) + .map(|dirty_store_chunk| { + let mut oldest_dirty_slot = max_slot.saturating_add(1); + dirty_store_chunk.iter().for_each(|(slot, store)| { + oldest_dirty_slot = oldest_dirty_slot.min(*slot); + store.accounts.account_iter().for_each(|account| { + pubkeys.insert(account.meta.pubkey); + }); + }); + oldest_dirty_slot + }) + .collect(); + timings.oldest_dirty_slot = *oldest_dirty_slots + .iter() + .min() + .unwrap_or(&max_slot.saturating_add(1)); + }; + + if is_startup { + // Free to consume all the cores during startup + dirty_store_routine(); + } else { + self.thread_pool_clean.install(|| { + dirty_store_routine(); }); } trace!( @@ -2533,6 +2556,7 @@ impl AccountsDb { let mut key_timings = CleanKeyTimings::default(); let mut pubkeys = self.construct_candidate_clean_keys( max_clean_root, + is_startup, last_full_snapshot_slot, &mut key_timings, );