diff --git a/Cargo.lock b/Cargo.lock index c75a4c5..40dea80 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -44,6 +44,17 @@ dependencies = [ "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" @@ -51,7 +62,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ "cfg-if", - "getrandom 0.2.8", + "getrandom 0.2.10", "once_cell", "version_check", ] @@ -80,12 +91,6 @@ dependencies = [ "alloc-no-stdlib", ] -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "anyhow" version = "1.0.66" @@ -133,7 +138,7 @@ dependencies = [ "derivative", "digest 0.10.7", "itertools", - "num-bigint 0.4.3", + "num-bigint 0.4.4", "num-traits", "paste", "rustc_version", @@ -156,7 +161,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "num-bigint 0.4.3", + "num-bigint 0.4.4", "num-traits", "proc-macro2", "quote", @@ -185,7 +190,7 @@ dependencies = [ "ark-serialize-derive", "ark-std", "digest 0.10.7", - "num-bigint 0.4.3", + "num-bigint 0.4.4", ] [[package]] @@ -209,12 +214,6 @@ dependencies = [ "rand 0.8.5", ] -[[package]] -name = "array-bytes" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ad284aeb45c13f2fb4f084de4a420ebf447423bdf9386c0540ce33cb3ef4b8c" - [[package]] name = "arrayref" version = "0.3.7" @@ -284,9 +283,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "bincode" @@ -303,6 +302,15 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +dependencies = [ + "serde", +] + [[package]] name = "bitmaps" version = "2.1.0" @@ -351,29 +359,63 @@ 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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ - "borsh-derive", + "borsh-derive 0.10.3", "hashbrown 0.13.2", ] +[[package]] +name = "borsh-derive" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +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", +] + [[package]] name = "borsh-derive" version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", + "borsh-derive-internal 0.10.3", + "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", "proc-macro2", "syn 1.0.105", ] +[[package]] +name = "borsh-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.105", +] + [[package]] name = "borsh-derive-internal" version = "0.10.3" @@ -385,6 +427,17 @@ 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" @@ -441,9 +494,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" dependencies = [ "bytemuck_derive", ] @@ -473,9 +526,9 @@ checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" [[package]] name = "cc" -version = "1.0.82" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "jobserver", "libc", @@ -489,11 +542,10 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ - "android-tzdata", "num-traits", ] @@ -512,7 +564,7 @@ version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ - "bitflags", + "bitflags 1.3.2", "textwrap", "unicode-width", ] @@ -954,9 +1006,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "js-sys", @@ -1004,6 +1056,15 @@ 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" @@ -1016,7 +1077,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.3", ] [[package]] @@ -1243,9 +1304,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "libsecp256k1" @@ -1295,6 +1356,17 @@ dependencies = [ "libsecp256k1-core", ] +[[package]] +name = "light-poseidon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "949bdd22e4ed93481d45e9a6badb34b99132bcad0c8a8d4f05c42f7dcc7b90bc" +dependencies = [ + "ark-bn254", + "ark-ff", + "thiserror", +] + [[package]] name = "lock_api" version = "0.4.9" @@ -1380,7 +1452,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1410,9 +1482,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -1475,9 +1547,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -1545,7 +1617,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -1669,9 +1741,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] @@ -1685,6 +1757,17 @@ 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" @@ -1753,7 +1836,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", ] [[package]] @@ -1803,7 +1886,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -1825,12 +1908,12 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" dependencies = [ "async-compression", - "base64 0.21.2", + "base64 0.21.4", "bytes", "encoding_rs", "futures-core", @@ -1959,9 +2042,9 @@ checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll" @@ -2001,9 +2084,9 @@ checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" [[package]] name = "serde" -version = "1.0.183" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" dependencies = [ "serde_derive", ] @@ -2019,9 +2102,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.183" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", @@ -2030,9 +2113,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" dependencies = [ "itoa", "ryu", @@ -2163,13 +2246,13 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "bincode", "byteorder", "libsecp256k1", "log", - "rand 0.7.3", + "scopeguard", "solana-measure", "solana-program-runtime", "solana-sdk", @@ -2181,9 +2264,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ - "ahash", + "ahash 0.8.3", "blake3", "block-buffer 0.10.4", "bs58", @@ -2192,13 +2275,10 @@ dependencies = [ "cc", "either", "generic-array", - "getrandom 0.1.16", "im", "lazy_static", "log", "memmap2", - "once_cell", - "rand_core 0.6.4", "rustc_version", "serde", "serde_bytes", @@ -2213,7 +2293,7 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "proc-macro2", "quote", @@ -2224,7 +2304,7 @@ dependencies = [ [[package]] name = "solana-logger" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "env_logger", "lazy_static", @@ -2234,7 +2314,7 @@ dependencies = [ [[package]] name = "solana-measure" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "log", "solana-sdk", @@ -2243,7 +2323,7 @@ dependencies = [ [[package]] name = "solana-metrics" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "crossbeam-channel", "gethostname", @@ -2251,23 +2331,24 @@ dependencies = [ "log", "reqwest", "solana-sdk", + "thiserror", ] [[package]] name = "solana-program" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "ark-bn254", "ark-ec", "ark-ff", "ark-serialize", - "array-bytes", - "base64 0.21.2", + "base64 0.21.4", "bincode", - "bitflags", + "bitflags 2.4.0", "blake3", - "borsh", + "borsh 0.10.3", + "borsh 0.9.3", "bs58", "bv", "bytemuck", @@ -2275,20 +2356,20 @@ dependencies = [ "console_error_panic_hook", "console_log", "curve25519-dalek", - "getrandom 0.2.8", + "getrandom 0.2.10", "itertools", "js-sys", "lazy_static", "libc", "libsecp256k1", + "light-poseidon", "log", "memoffset 0.9.0", - "num-bigint 0.4.3", + "num-bigint 0.4.4", "num-derive", "num-traits", "parking_lot", - "rand 0.7.3", - "rand_chacha 0.2.2", + "rand 0.8.5", "rustc_version", "rustversion", "serde", @@ -2309,9 +2390,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", "bincode", "eager", "enum-iterator", @@ -2321,7 +2402,7 @@ dependencies = [ "num-derive", "num-traits", "percentage", - "rand 0.7.3", + "rand 0.8.5", "rustc_version", "serde", "solana-frozen-abi", @@ -2336,13 +2417,13 @@ dependencies = [ [[package]] name = "solana-sdk" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "assert_matches", - "base64 0.21.2", + "base64 0.21.4", "bincode", - "bitflags", - "borsh", + "bitflags 2.4.0", + "borsh 0.10.3", "bs58", "bytemuck", "byteorder", @@ -2364,8 +2445,9 @@ dependencies = [ "num_enum", "pbkdf2 0.11.0", "qstring", + "qualifier_attr", "rand 0.7.3", - "rand_chacha 0.2.2", + "rand 0.8.5", "rustc_version", "rustversion", "serde", @@ -2388,7 +2470,7 @@ dependencies = [ [[package]] name = "solana-sdk-macro" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "bs58", "proc-macro2", @@ -2400,10 +2482,10 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" version = "1.17.0" -source = "git+https://github.com/solana-labs/solana?rev=9731331be4dd4bfccf85b0443e3d652aec30a1f8#9731331be4dd4bfccf85b0443e3d652aec30a1f8" +source = "git+https://github.com/solana-labs/solana?rev=ddd029774afcdf695ebf44494a04942ba3570075#ddd029774afcdf695ebf44494a04942ba3570075" dependencies = [ "aes-gcm-siv", - "base64 0.21.2", + "base64 0.21.4", "bincode", "bytemuck", "byteorder", @@ -2427,9 +2509,9 @@ dependencies = [ [[package]] name = "solana_rbpf" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3082ec3a1d4ef7879eb5b84916d5acde057abd59733eec3647e0ab8885283ef" +checksum = "103318aa365ff7caa8cf534f2246b5eb7e5b34668736d52b1266b143f7a21196" dependencies = [ "byteorder", "combine", @@ -2540,18 +2622,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.46" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9207952ae1a003f42d3d5e892dac3c6ba42aa6ac0c79a6a91a2b5cb4253e75c" +checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.46" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1728216d3244de4f14f14f8c15c79be1a7c67867d28d69b719690e2a19fb445" +checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" dependencies = [ "proc-macro2", "quote", @@ -2606,7 +2688,7 @@ dependencies = [ "num_cpus", "pin-project-lite", "socket2", - "windows-sys", + "windows-sys 0.42.0", ] [[package]] @@ -2875,24 +2957,11 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "webpki-roots" -version = "0.22.5" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" -dependencies = [ - "webpki", -] +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "winapi" @@ -2931,13 +3000,37 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.42.0", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm 0.42.0", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -2946,49 +3039,92 @@ version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_i686_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_x86_64_gnu" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_msvc" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index e3f1b1e..f9c0f30 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,11 +15,11 @@ publish = false regex = "1.4.5" structopt = { version = "0.3", default-features = false } anyhow = "1.0" -solana-bpf-loader-program = { git = "https://github.com/solana-labs/solana", rev = "9731331be4dd4bfccf85b0443e3d652aec30a1f8" } -solana-logger = { git = "https://github.com/solana-labs/solana", rev = "9731331be4dd4bfccf85b0443e3d652aec30a1f8" } -solana-program-runtime = { git = "https://github.com/solana-labs/solana", rev = "9731331be4dd4bfccf85b0443e3d652aec30a1f8" } -solana-sdk = { git = "https://github.com/solana-labs/solana", rev = "9731331be4dd4bfccf85b0443e3d652aec30a1f8" } -solana_rbpf = "=0.6.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/src/main.rs b/src/main.rs index 73ac483..c3f3bbd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,7 @@ use { regex::Regex, solana_bpf_loader_program::{ create_vm, load_program_from_bytes, serialization::serialize_parameters, - syscalls::create_program_runtime_environment, + syscalls::create_program_runtime_environment_v1, }, solana_program_runtime::{ compute_budget::ComputeBudget, invoke_context::InvokeContext, @@ -13,15 +13,15 @@ use { solana_rbpf::{ elf::Executable, static_analysis::Analysis, - verifier::RequisiteVerifier, vm::StableResult, }, solana_sdk::{ account::{AccountSharedData, ReadableAccount}, bpf_loader_upgradeable, - entrypoint::SUCCESS, feature_set::FeatureSet, hash::Hash, pubkey::Pubkey, + entrypoint::SUCCESS, feature_set::{self, FeatureSet}, hash::Hash, pubkey::Pubkey, sysvar::rent::Rent, slot_history::Slot, transaction_context::TransactionContext, }, std::{ + convert::TryFrom, env, ffi::OsStr, fs::File, @@ -39,11 +39,11 @@ use { // https://github.com/rust-lang/rust/issues/74465 struct LazyAnalysis<'a, 'b> { analysis: Option>, - executable: &'a Executable>, + executable: &'a Executable>, } impl<'a, 'b> LazyAnalysis<'a, 'b> { - fn new(executable: &'a Executable>) -> Self { + fn new(executable: &'a Executable>) -> Self { Self { analysis: None, executable, @@ -132,7 +132,7 @@ fn load_program<'a>( filename: &Path, program_id: Pubkey, invoke_context: &InvokeContext<'a>, -) -> Executable> { +) -> Executable> { let mut file = File::open(filename).unwrap(); let mut magic = [0u8; 4]; file.read_exact(&mut magic).unwrap(); @@ -147,7 +147,7 @@ fn load_program<'a>( ..LoadProgramMetrics::default() }; let account_size = contents.len(); - let program_runtime_environment = create_program_runtime_environment( + let program_runtime_environment = create_program_runtime_environment_v1( &invoke_context.feature_set, invoke_context.get_compute_budget(), false, /* deployment */ @@ -158,7 +158,9 @@ fn load_program<'a>( #[allow(unused_mut)] let mut verified_executable = { let result = load_program_from_bytes( - &invoke_context.feature_set, + invoke_context + .feature_set + .is_active(&feature_set::delay_visibility_of_program_deployment::id()), log_collector, &mut load_program_metrics, &contents, @@ -166,6 +168,7 @@ fn load_program<'a>( account_size, slot, Arc::new(program_runtime_environment), + false, ); match result { Ok(loaded_program) => match loaded_program.program { @@ -179,10 +182,9 @@ fn load_program<'a>( #[cfg(all(not(target_os = "windows"), target_arch = "x86_64"))] verified_executable.jit_compile().unwrap(); unsafe { - std::mem::transmute::< - Executable>, - Executable>, - >(verified_executable) + std::mem::transmute::>, Executable>>( + verified_executable, + ) } } @@ -248,7 +250,7 @@ fn run_tests(opt: Opt) -> Result<(), anyhow::Error> { Some(Rc::clone(&logs)), ComputeBudget { compute_unit_limit: i64::MAX as u64, - heap_size: opt.heap_size, + heap_size: opt.heap_size.unwrap(), ..ComputeBudget::default() }, &programs_loaded_for_tx_batch, @@ -313,7 +315,7 @@ fn run_tests(opt: Opt) -> Result<(), anyhow::Error> { }; if let Ok(logs) = Rc::try_unwrap(logs) { - for message in Vec::from(logs.into_inner()) { + for message in logs.into_inner().into_messages() { let _ = io::stdout().write_all(message.replace("Program log: ", "").as_bytes()); } } @@ -350,7 +352,7 @@ struct Opt { quiet: bool, /// Solana VM heap size #[structopt(long)] - heap_size: Option, + heap_size: Option, #[structopt(short)] trace: bool, #[structopt(parse(from_os_str))]