diff --git a/Cargo.lock b/Cargo.lock index 40dea80..ca82e25 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,53 +8,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "aead" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array", -] - -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", - "opaque-debug", -] - -[[package]] -name = "aes-gcm-siv" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "polyval", - "subtle", - "zeroize", -] - -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom 0.2.10", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.3" @@ -62,7 +15,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ "cfg-if", - "getrandom 0.2.10", "once_cell", "version_check", ] @@ -120,7 +72,7 @@ dependencies = [ "ark-std", "derivative", "hashbrown 0.13.2", - "itertools", + "itertools 0.10.5", "num-traits", "zeroize", ] @@ -137,8 +89,8 @@ dependencies = [ "ark-std", "derivative", "digest 0.10.7", - "itertools", - "num-bigint 0.4.4", + "itertools 0.10.5", + "num-bigint 0.4.6", "num-traits", "paste", "rustc_version", @@ -161,7 +113,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "num-bigint 0.4.4", + "num-bigint 0.4.6", "num-traits", "proc-macro2", "quote", @@ -190,7 +142,7 @@ dependencies = [ "ark-serialize-derive", "ark-std", "digest 0.10.7", - "num-bigint 0.4.4", + "num-bigint 0.4.6", ] [[package]] @@ -222,9 +174,9 @@ checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "ascii" @@ -232,12 +184,6 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - [[package]] name = "async-compression" version = "0.4.1" @@ -287,6 +233,12 @@ version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "bincode" version = "1.3.3" @@ -304,27 +256,18 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - [[package]] name = "blake3" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ "arrayref", "arrayvec", @@ -340,7 +283,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding", "generic-array", ] @@ -353,22 +295,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "borsh" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" -dependencies = [ - "borsh-derive 0.9.3", - "hashbrown 0.11.2", -] - [[package]] name = "borsh" version = "0.10.3" @@ -380,16 +306,13 @@ dependencies = [ ] [[package]] -name = "borsh-derive" -version = "0.9.3" +name = "borsh" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" dependencies = [ - "borsh-derive-internal 0.9.3", - "borsh-schema-derive-internal 0.9.3", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.105", + "borsh-derive 1.5.1", + "cfg_aliases", ] [[package]] @@ -398,22 +321,25 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" dependencies = [ - "borsh-derive-internal 0.10.3", - "borsh-schema-derive-internal 0.10.3", + "borsh-derive-internal", + "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", "proc-macro2", "syn 1.0.105", ] [[package]] -name = "borsh-derive-internal" -version = "0.9.3" +name = "borsh-derive" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ + "once_cell", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 1.0.105", + "syn 2.0.72", + "syn_derive", ] [[package]] @@ -427,17 +353,6 @@ dependencies = [ "syn 1.0.105", ] -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.105", -] - [[package]] name = "borsh-schema-derive-internal" version = "0.10.3" @@ -472,9 +387,12 @@ dependencies = [ [[package]] name = "bs58" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] [[package]] name = "bumpalo" @@ -494,29 +412,29 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.4.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -530,7 +448,6 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ - "jobserver", "libc", ] @@ -541,21 +458,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "chrono" -version = "0.4.31" +name = "cfg_aliases" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" -dependencies = [ - "num-traits", -] +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] -name = "cipher" -version = "0.3.0" +name = "chrono" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ - "generic-array", + "num-traits", ] [[package]] @@ -609,65 +523,53 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] -name = "cpufeatures" -version = "0.2.5" +name = "core-foundation" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ + "core-foundation-sys", "libc", ] [[package]] -name = "crc32fast" -version = "1.3.2" +name = "core-foundation-sys" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] -name = "crossbeam-channel" -version = "0.5.8" +name = "cpufeatures" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" dependencies = [ - "cfg-if", - "crossbeam-utils", + "libc", ] [[package]] -name = "crossbeam-deque" -version = "0.8.2" +name = "crc32fast" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", ] [[package]] -name = "crossbeam-epoch" -version = "0.9.13" +name = "crossbeam-channel" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.7.1", - "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" -dependencies = [ - "cfg-if", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -695,15 +597,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "ctr" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher", -] - [[package]] name = "curve25519-dalek" version = "3.2.1" @@ -739,7 +632,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] @@ -750,7 +643,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] @@ -828,7 +721,7 @@ dependencies = [ "derivation-path", "ed25519-dalek", "hmac 0.12.1", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] @@ -848,22 +741,22 @@ dependencies = [ [[package]] name = "enum-iterator" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689" +checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" dependencies = [ "enum-iterator-derive", ] [[package]] name = "enum-iterator-derive" -version = "1.2.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" +checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] @@ -879,6 +772,12 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "feature-probe" version = "0.1.1" @@ -1017,17 +916,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "goblin" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" -dependencies = [ - "log", - "plain", - "scroll", -] - [[package]] name = "h2" version = "0.3.15" @@ -1040,7 +928,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 1.9.2", "slab", "tokio", "tokio-util", @@ -1056,15 +944,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.6", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -1077,9 +956,15 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.3", + "ahash", ] +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + [[package]] name = "heck" version = "0.3.3" @@ -1223,29 +1108,23 @@ dependencies = [ ] [[package]] -name = "im" -version = "15.1.0" +name = "indexmap" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "rayon", - "serde", - "sized-chunks", - "typenum", - "version_check", + "autocfg", + "hashbrown 0.12.3", ] [[package]] name = "indexmap" -version = "1.9.2" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ - "autocfg", - "hashbrown 0.12.3", + "equivalent", + "hashbrown 0.14.5", ] [[package]] @@ -1264,49 +1143,49 @@ dependencies = [ ] [[package]] -name = "itoa" -version = "1.0.4" +name = "itertools" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] [[package]] -name = "jobserver" -version = "0.1.25" +name = "itoa" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" -dependencies = [ - "libc", -] +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "keccak" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.148" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libsecp256k1" @@ -1358,12 +1237,13 @@ dependencies = [ [[package]] name = "light-poseidon" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949bdd22e4ed93481d45e9a6badb34b99132bcad0c8a8d4f05c42f7dcc7b90bc" +checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" dependencies = [ "ark-bn254", "ark-ff", + "num-bigint 0.4.6", "thiserror", ] @@ -1379,9 +1259,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "memchr" @@ -1398,15 +1278,6 @@ dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.0" @@ -1416,18 +1287,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "merlin" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.6.4", - "zeroize", -] - [[package]] name = "mime" version = "0.3.16" @@ -1482,11 +1341,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -1503,22 +1361,21 @@ dependencies = [ [[package]] name = "num-derive" -version = "0.3.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 1.0.105", + "syn 2.0.72", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] @@ -1547,42 +1404,32 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_enum" -version = "0.6.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.6.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro-crate 1.2.1", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] @@ -1626,15 +1473,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac", -] - [[package]] name = "pbkdf2" version = "0.11.0" @@ -1671,24 +1509,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "plain" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" - -[[package]] -name = "polyval" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1715,6 +1535,15 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -1741,9 +1570,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -1757,22 +1586,11 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "qualifier_attr" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.28", -] - [[package]] name = "quote" -version = "1.0.32" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1848,38 +1666,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rayon" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b" -dependencies = [ - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -1908,9 +1694,9 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "async-compression", "base64 0.21.4", @@ -1935,6 +1721,8 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", + "system-configuration", "tokio", "tokio-rustls", "tokio-util", @@ -1969,6 +1757,8 @@ dependencies = [ "anyhow", "regex", "solana-bpf-loader-program", + "solana-compute-budget", + "solana-log-collector", "solana-logger", "solana-program-runtime", "solana-sdk", @@ -1982,12 +1772,6 @@ 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_version" version = "0.4.0" @@ -2028,12 +1812,6 @@ dependencies = [ "untrusted", ] -[[package]] -name = "rustversion" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" - [[package]] name = "ryu" version = "1.0.11" @@ -2051,20 +1829,6 @@ name = "scroll" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" -dependencies = [ - "scroll_derive", -] - -[[package]] -name = "scroll_derive" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.105", -] [[package]] name = "sct" @@ -2084,40 +1848,41 @@ checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.12" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -2153,7 +1918,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] @@ -2171,9 +1936,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -2182,21 +1947,9 @@ dependencies = [ [[package]] name = "sha3" -version = "0.9.1" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug", -] - -[[package]] -name = "sha3" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ "digest 0.10.7", "keccak", @@ -2209,14 +1962,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" [[package]] -name = "sized-chunks" -version = "0.6.5" +name = "siphasher" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "slab" @@ -2243,68 +1992,99 @@ dependencies = [ "winapi", ] +[[package]] +name = "solana-atomic-u64" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "solana-bn254" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "bytemuck", + "solana-program", + "thiserror", +] + [[package]] name = "solana-bpf-loader-program" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ "bincode", "byteorder", "libsecp256k1", "log", "scopeguard", + "solana-bn254", + "solana-compute-budget", + "solana-curve25519", + "solana-log-collector", "solana-measure", + "solana-poseidon", + "solana-program-memory", "solana-program-runtime", "solana-sdk", - "solana-zk-token-sdk", + "solana-timings", + "solana-type-overrides", "solana_rbpf", "thiserror", ] [[package]] -name = "solana-frozen-abi" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +name = "solana-compute-budget" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ - "ahash 0.8.3", - "blake3", - "block-buffer 0.10.4", - "bs58", - "bv", - "byteorder", - "cc", - "either", - "generic-array", - "im", - "lazy_static", - "log", - "memmap2", "rustc_version", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "sha2 0.10.7", - "solana-frozen-abi-macro", - "subtle", + "solana-sdk", +] + +[[package]] +name = "solana-curve25519" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "solana-program", "thiserror", ] [[package]] -name = "solana-frozen-abi-macro" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +name = "solana-decode-error" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.28", + "num-traits", +] + +[[package]] +name = "solana-define-syscall" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" + +[[package]] +name = "solana-log-collector" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "log", ] [[package]] name = "solana-logger" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ "env_logger", "lazy_static", @@ -2313,8 +2093,8 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ "log", "solana-sdk", @@ -2322,8 +2102,8 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ "crossbeam-channel", "gethostname", @@ -2335,68 +2115,89 @@ dependencies = [ ] [[package]] -name = "solana-program" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +name = "solana-msg" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "solana-define-syscall", +] + +[[package]] +name = "solana-poseidon" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", - "base64 0.21.4", + "light-poseidon", + "solana-define-syscall", + "thiserror", +] + +[[package]] +name = "solana-program" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "base64 0.22.1", "bincode", - "bitflags 2.4.0", + "bitflags 2.6.0", "blake3", "borsh 0.10.3", - "borsh 0.9.3", + "borsh 1.5.1", "bs58", "bv", "bytemuck", - "cc", + "bytemuck_derive", "console_error_panic_hook", "console_log", "curve25519-dalek", "getrandom 0.2.10", - "itertools", "js-sys", "lazy_static", - "libc", - "libsecp256k1", - "light-poseidon", "log", - "memoffset 0.9.0", - "num-bigint 0.4.4", + "memoffset", + "num-bigint 0.4.6", "num-derive", "num-traits", "parking_lot", "rand 0.8.5", "rustc_version", - "rustversion", "serde", "serde_bytes", "serde_derive", - "serde_json", - "sha2 0.10.7", - "sha3 0.10.6", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "sha2 0.10.8", + "sha3", + "solana-atomic-u64", + "solana-decode-error", + "solana-define-syscall", + "solana-msg", + "solana-program-memory", + "solana-sanitize", "solana-sdk-macro", + "solana-secp256k1-recover", + "solana-short-vec", "thiserror", - "tiny-bip39", "wasm-bindgen", - "zeroize", +] + +[[package]] +name = "solana-program-memory" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "num-traits", + "solana-define-syscall", ] [[package]] name = "solana-program-runtime" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ - "base64 0.21.4", + "base64 0.22.1", "bincode", - "eager", "enum-iterator", - "itertools", + "itertools 0.12.1", "libc", "log", "num-derive", @@ -2405,27 +2206,34 @@ dependencies = [ "rand 0.8.5", "rustc_version", "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "solana-compute-budget", + "solana-log-collector", "solana-measure", "solana-metrics", "solana-sdk", + "solana-timings", + "solana-type-overrides", + "solana-vote", "solana_rbpf", "thiserror", ] +[[package]] +name = "solana-sanitize" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" + [[package]] name = "solana-sdk" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ - "assert_matches", - "base64 0.21.4", "bincode", - "bitflags 2.4.0", - "borsh 0.10.3", + "bitflags 2.6.0", + "borsh 1.5.1", "bs58", "bytemuck", + "bytemuck_derive", "byteorder", "chrono", "derivation-path", @@ -2433,35 +2241,36 @@ dependencies = [ "ed25519-dalek", "ed25519-dalek-bip32", "generic-array", + "getrandom 0.1.16", "hmac 0.12.1", - "itertools", + "itertools 0.12.1", "js-sys", "lazy_static", "libsecp256k1", "log", "memmap2", - "num-derive", - "num-traits", "num_enum", - "pbkdf2 0.11.0", + "pbkdf2", "qstring", - "qualifier_attr", "rand 0.7.3", "rand 0.8.5", "rustc_version", - "rustversion", "serde", "serde_bytes", "serde_derive", "serde_json", "serde_with", - "sha2 0.10.7", - "sha3 0.10.6", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", + "sha2 0.10.8", + "sha3", + "siphasher", + "solana-bn254", + "solana-decode-error", "solana-program", + "solana-program-memory", + "solana-sanitize", "solana-sdk-macro", + "solana-secp256k1-recover", + "solana-short-vec", "thiserror", "uriparse", "wasm-bindgen", @@ -2469,53 +2278,77 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ "bs58", "proc-macro2", "quote", - "rustversion", - "syn 2.0.28", + "syn 2.0.72", ] [[package]] -name = "solana-zk-token-sdk" -version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" +name = "solana-secp256k1-recover" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "borsh 1.5.1", + "libsecp256k1", + "rustc_version", + "solana-define-syscall", + "thiserror", +] + +[[package]] +name = "solana-short-vec" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "rustc_version", + "serde", +] + +[[package]] +name = "solana-timings" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "eager", + "enum-iterator", + "solana-sdk", +] + +[[package]] +name = "solana-type-overrides" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" dependencies = [ - "aes-gcm-siv", - "base64 0.21.4", - "bincode", - "bytemuck", - "byteorder", - "curve25519-dalek", - "getrandom 0.1.16", - "itertools", "lazy_static", - "merlin", - "num-derive", - "num-traits", - "rand 0.7.3", + "rand 0.8.5", +] + +[[package]] +name = "solana-vote" +version = "2.1.0" +source = "git+https://github.com/anza-xyz/agave.git?rev=784352c3765792105764c875c1a619e6f71ded55#784352c3765792105764c875c1a619e6f71ded55" +dependencies = [ + "itertools 0.12.1", + "log", + "rustc_version", "serde", - "serde_json", - "sha3 0.9.1", - "solana-program", + "serde_derive", "solana-sdk", - "subtle", "thiserror", - "zeroize", ] [[package]] name = "solana_rbpf" -version = "0.7.2" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "103318aa365ff7caa8cf534f2246b5eb7e5b34668736d52b1266b143f7a21196" +checksum = "381f595f78accb55aeea018a90e3acf6048f960d932002737d249e3294bd58fe" dependencies = [ "byteorder", "combine", - "goblin", "hash32", "libc", "log", @@ -2581,15 +2414,33 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.28" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "synstructure" version = "0.12.6" @@ -2602,6 +2453,27 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "termcolor" version = "1.1.3" @@ -2622,41 +2494,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.48" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.48" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", -] - -[[package]] -name = "tiny-bip39" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", + "syn 2.0.72", ] [[package]] @@ -2685,7 +2538,6 @@ dependencies = [ "libc", "memchr", "mio", - "num_cpus", "pin-project-lite", "socket2", "windows-sys 0.42.0", @@ -2724,6 +2576,23 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.3.0", + "toml_datetime", + "winnow", +] + [[package]] name = "tower-service" version = "0.3.2" @@ -2801,16 +2670,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" -[[package]] -name = "universal-hash" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "unreachable" version = "1.0.0" @@ -2883,9 +2742,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2893,16 +2752,16 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.72", "wasm-bindgen-shared", ] @@ -2920,9 +2779,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2930,22 +2789,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" @@ -3117,6 +2976,15 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.50.0" diff --git a/Cargo.toml b/Cargo.toml index f9c0f30..e3981dc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,14 +12,16 @@ edition = "2018" publish = false [dependencies] +anyhow = "1.0" regex = "1.4.5" +solana-bpf-loader-program = { git = "https://github.com/anza-xyz/agave.git", rev = "784352c3765792105764c875c1a619e6f71ded55" } +solana-compute-budget = { git = "https://github.com/anza-xyz/agave.git", rev = "784352c3765792105764c875c1a619e6f71ded55" } +solana-log-collector = { git = "https://github.com/anza-xyz/agave.git", rev = "784352c3765792105764c875c1a619e6f71ded55" } +solana-logger = { git = "https://github.com/anza-xyz/agave.git", rev = "784352c3765792105764c875c1a619e6f71ded55" } +solana-program-runtime = { git = "https://github.com/anza-xyz/agave.git", rev = "784352c3765792105764c875c1a619e6f71ded55" } +solana-sdk = { git = "https://github.com/anza-xyz/agave.git", rev = "784352c3765792105764c875c1a619e6f71ded55" } +solana_rbpf = "=0.8.2" structopt = { version = "0.3", default-features = false } -anyhow = "1.0" -solana-bpf-loader-program = { git = "https://github.com/solana-labs/solana", rev = "ddd029774afcdf695ebf44494a04942ba3570075" } -solana-logger = { git = "https://github.com/solana-labs/solana", rev = "ddd029774afcdf695ebf44494a04942ba3570075" } -solana-program-runtime = { git = "https://github.com/solana-labs/solana", rev = "ddd029774afcdf695ebf44494a04942ba3570075" } -solana-sdk = { git = "https://github.com/solana-labs/solana", rev = "ddd029774afcdf695ebf44494a04942ba3570075" } -solana_rbpf = "=0.7.2" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..f01c9ab --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,3 @@ +# Imports +imports_granularity = "One" +group_imports = "One" diff --git a/src/main.rs b/src/main.rs index 58c563c..9a48ab7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,26 +2,29 @@ use { anyhow::{anyhow, Context}, regex::Regex, solana_bpf_loader_program::{ - create_vm, load_program_from_bytes, serialization::serialize_parameters, - syscalls::create_program_runtime_environment_v1, + calculate_heap_cost, create_vm, load_program_from_bytes, + serialization::serialize_parameters, syscalls::create_program_runtime_environment_v1, }, + solana_compute_budget::compute_budget::ComputeBudget, + solana_log_collector::LogCollector, solana_program_runtime::{ - compute_budget::ComputeBudget, invoke_context::InvokeContext, - loaded_programs::{LoadedProgramsForTxBatch, LoadProgramMetrics, LoadedProgramType}, - log_collector::LogCollector, sysvar_cache::SysvarCache, - }, - solana_rbpf::{ - elf::Executable, - static_analysis::Analysis, - vm::StableResult, + invoke_context::{EnvironmentConfig, InvokeContext}, + loaded_programs::{LoadProgramMetrics, ProgramCacheEntryType, ProgramCacheForTxBatch}, + sysvar_cache::SysvarCache, }, + solana_rbpf::{elf::Executable, error::ProgramResult, static_analysis::Analysis}, solana_sdk::{ - account::{AccountSharedData, ReadableAccount}, bpf_loader_upgradeable, - entrypoint::SUCCESS, feature_set::{self, FeatureSet}, hash::Hash, pubkey::Pubkey, - sysvar::rent::Rent, slot_history::Slot, transaction_context::TransactionContext, + account::{AccountSharedData, ReadableAccount}, + bpf_loader_upgradeable, + entrypoint::SUCCESS, + feature_set::FeatureSet, + hash::Hash, + pubkey::Pubkey, + slot_history::Slot, + sysvar::rent::Rent, + transaction_context::TransactionContext, }, std::{ - convert::TryFrom, env, ffi::OsStr, fs::File, @@ -149,9 +152,9 @@ fn load_program<'a>( }; let account_size = contents.len(); let program_runtime_environment = create_program_runtime_environment_v1( - &invoke_context.feature_set, + invoke_context.get_feature_set(), invoke_context.get_compute_budget(), - false, /* deployment */ + false, /* deployment */ output_trace, /* debugging_features */ ) .unwrap(); @@ -159,10 +162,7 @@ fn load_program<'a>( #[allow(unused_mut)] let mut verified_executable = { let result = load_program_from_bytes( - invoke_context - .feature_set - .is_active(&feature_set::delay_visibility_of_program_deployment::id()), - log_collector, + log_collector.clone(), &mut load_program_metrics, &contents, &loader_key, @@ -173,7 +173,7 @@ fn load_program<'a>( ); match result { Ok(loaded_program) => match loaded_program.program { - LoadedProgramType::LegacyV1(program) => Ok(program), + ProgramCacheEntryType::Loaded(program) => Ok(program), _ => unreachable!(), }, Err(err) => Err(format!("Loading executable failed: {err:?}")), @@ -215,13 +215,9 @@ fn run_tests(opt: Opt) -> Result<(), anyhow::Error> { ]; let instruction_accounts = Vec::new(); let program_indices = [0, 1]; - let logs = LogCollector::new_ref_with_limit(None); - let mut transaction_context = TransactionContext::new( - transaction_accounts, - Some(Rent::default()), - 1, - 1, - ); + let logs = LogCollector::new_ref(); + let mut transaction_context = + TransactionContext::new(transaction_accounts, Rent::default(), 1, 1); let mut sysvar_cache = SysvarCache::default(); sysvar_cache.fill_missing_entries(|pubkey, callback| { for index in 0..transaction_context.get_number_of_accounts() { @@ -241,37 +237,33 @@ fn run_tests(opt: Opt) -> Result<(), anyhow::Error> { } }); let result = { - let programs_loaded_for_tx_batch = LoadedProgramsForTxBatch::default(); - let mut programs_modified_by_tx = LoadedProgramsForTxBatch::default(); - let mut programs_updated_only_for_global_cache = LoadedProgramsForTxBatch::default(); + let mut program_cache_for_tx_batch = ProgramCacheForTxBatch::default(); + let env_config = EnvironmentConfig::new( + Hash::new_unique(), + None, + None, + Arc::new(FeatureSet::all_enabled()), + 0, + &sysvar_cache, + ); + let mut invoke_context = InvokeContext::new( &mut transaction_context, - Rent::default(), - &sysvar_cache, - Some(Rc::clone(&logs)), + &mut program_cache_for_tx_batch, + env_config, + Some(logs.clone()), ComputeBudget { compute_unit_limit: i64::MAX as u64, heap_size: opt.heap_size.unwrap(), ..ComputeBudget::default() }, - &programs_loaded_for_tx_batch, - &mut programs_modified_by_tx, - &mut programs_updated_only_for_global_cache, - Arc::new(FeatureSet::all_enabled()), - Hash::default(), - 0, - 0, ); let instruction_data = vec![]; invoke_context .transaction_context .get_next_instruction_context() .unwrap() - .configure( - &program_indices, - &instruction_accounts, - &instruction_data, - ); + .configure(&program_indices, &instruction_accounts, &instruction_data); invoke_context.push().unwrap(); let (_parameter_bytes, regions, account_lengths) = serialize_parameters( invoke_context.transaction_context, @@ -279,20 +271,34 @@ fn run_tests(opt: Opt) -> Result<(), anyhow::Error> { .transaction_context .get_current_instruction_context() .unwrap(), - true, // should_cap_ix_accounts true, // copy_account_data ) .unwrap(); - let verified_executable = load_program(path.as_path(), program_id, &invoke_context, opt.trace); - create_vm!( - vm, + let verified_executable = + load_program(path.as_path(), program_id, &invoke_context, opt.trace); + let stack_size = verified_executable.get_config().stack_size(); + let heap_size = invoke_context.get_compute_budget().heap_size; + invoke_context + .consume_checked(calculate_heap_cost( + heap_size, + invoke_context.get_compute_budget().heap_cost, + )) + .unwrap(); + + let mut stack = vec![0u8; stack_size]; + let mut heap = vec![0u8; heap_size as usize]; + + let mut vm = create_vm( &verified_executable, regions, account_lengths, - &mut invoke_context - ); - let mut vm = vm.unwrap(); + &mut invoke_context, + stack.as_mut_slice(), + heap.as_mut_slice(), + ) + .unwrap(); + let start_time = Instant::now(); let (instruction_count, result) = vm.execute_program(&verified_executable, false); println!( @@ -322,14 +328,14 @@ fn run_tests(opt: Opt) -> Result<(), anyhow::Error> { } match result { - StableResult::Ok(exit_code) => { + ProgramResult::Ok(exit_code) => { if exit_code == SUCCESS { Ok(()) } else { Err(anyhow!("exit code: {}", exit_code)) } } - StableResult::Err(e) => { + ProgramResult::Err(e) => { // if false { // let trace = File::create("trace.out").unwrap(); // let mut trace = BufWriter::new(trace);