From 821912c57aa90728eb51a37982e02d6a4ebd9e6c Mon Sep 17 00:00:00 2001 From: Cameron Marshall <5210281+marshacb@users.noreply.github.com> Date: Mon, 1 Jun 2026 11:20:28 -0400 Subject: [PATCH 1/3] Bump snarkVM to 4.7.1 from crates.io (finish rand 0.10 migration in signature.rs test code, lowercase record-ciphertext fixtures) --- sdk/tests/data/records.ts | 4 +- wasm/Cargo.lock | 764 ++++++++++++++++++-------- wasm/Cargo.toml | 20 +- wasm/src/account/signature.rs | 45 +- wasm/src/programs/execution.rs | 10 +- wasm/src/programs/manager/deploy.rs | 6 +- wasm/src/programs/manager/execute.rs | 2 +- wasm/src/programs/manager/join.rs | 2 +- wasm/src/programs/manager/split.rs | 2 +- wasm/src/programs/manager/transfer.rs | 2 +- wasm/src/utilities/encrypt.rs | 4 +- 11 files changed, 590 insertions(+), 271 deletions(-) diff --git a/sdk/tests/data/records.ts b/sdk/tests/data/records.ts index 648c0a6ba..a7718095c 100644 --- a/sdk/tests/data/records.ts +++ b/sdk/tests/data/records.ts @@ -13,8 +13,8 @@ const CREDITS_SENDER_PLAINTEXT = "aleo1j92w9mhqznj2hvufad796y8suykjppk7f6n6xmncm // Ciphertext records const RECORD_CIPHERTEXT_STRING = "record1qyqsqpe2szk2wwwq56akkwx586hkndl3r8vzdwve32lm7elvphh37rsyqyxx66trwfhkxun9v35hguerqqpqzqrtjzeu6vah9x2me2exkgege824sd8x2379scspmrmtvczs0d93qttl7y92ga0k0rsexu409hu3vlehe3yxjhmey3frh2z5pxm5cmxsv4un97q"; const RECORD_CIPHERTEXT_STRING_COPY = "record1qyqsqpe2szk2wwwq56akkwx586hkndl3r8vzdwve32lm7elvphh37rsyqyxx66trwfhkxun9v35hguerqqpqzqrtjzeu6vah9x2me2exkgege824sd8x2379scspmrmtvczs0d93qttl7y92ga0k0rsexu409hu3vlehe3yxjhmey3frh2z5pxm5cmxsv4un97q"; -const RECORD_CIPHERTEXT_STRING_NOT_OWNED = "RECORD1QVQSQ5H8YT5682E73ZT7PYNJGPL29MWTSETRVS9VHCKFHJRNX9RX94CFQYXX66TRWFHKXUN9V35HGUERQQPQZQZ6KMY7S5HPKKF02L6R46QM8RQCW9X0K4RQ6GT234AMJ2UG3LMTQT5NY4UG8SXJY3U8D05K4Q3E9F54VX67ZMD3G6JYQQ7KXRWS0R0SWM6P833"; -const RECORD_CIPHERTEXT_STRING_NOT_OWNED2 = "RECORD1QVQSP37HJE4CEU8EFZE8XMAHE5TDTXCZ0K534WQPKVN6C9R629X3C4Q8QYRXZMT0W4H8GGCQQGQSPVUJYCN0K7HYFHENXA40HXTFSX68092WMVJ4E3XSEXR2DY0FMCCXT0DS42W5MAASZFJV930QVQRKATQJ900AKU4K777UMH2K54ZHLUGQC2AFJD"; +const RECORD_CIPHERTEXT_STRING_NOT_OWNED = "record1qvqsq5h8yt5682e73zt7pynjgpl29mwtsetrvs9vhckfhjrnx9rx94cfqyxx66trwfhkxun9v35hguerqqpqzqz6kmy7s5hpkkf02l6r46qm8rqcw9x0k4rq6gt234amj2ug3lmtqt5ny4ug8sxjy3u8d05k4q3e9f54vx67zmd3g6jyqq7kxrws0r0swm6p833"; +const RECORD_CIPHERTEXT_STRING_NOT_OWNED2 = "record1qvqsp37hje4ceu8efze8xmahe5tdtxcz0k534wqpkvn6c9r629x3c4q8qyrxzmt0w4h8ggcqqgqspvujycn0k7hyfhenxa40hxtfsx68092wmvj4e3xsexr2dy0fmccxt0ds42w5maaszfjv930qvqrkatqj900aku4k777umh2k54zhlugqc2afjd"; // Plaintext record const RECORD_PLAINTEXT_V0_STRING = `{ diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index afa1c3553..e19335d83 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -93,12 +93,12 @@ dependencies = [ "hex", "indexmap", "js-sys", - "rand 0.8.5", + "rand 0.10.1", "rayon", "reqwest 0.11.27", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "snarkvm-algorithms", "snarkvm-circuit-network", "snarkvm-console", @@ -207,9 +207,9 @@ dependencies = [ [[package]] name = "base16ct" -version = "0.2.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +checksum = "fd307490d624467aa6f74b0eabb77633d1f758a7b25f12bceb0b22e08d9726f6" [[package]] name = "base64" @@ -223,11 +223,17 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + [[package]] name = "bech32" -version = "0.9.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" +checksum = "32637268377fc7b10a8c6d51de3e7fba1ce5dd371a96e342b34e6078db558e7f" [[package]] name = "bincode" @@ -256,7 +262,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -279,6 +285,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +dependencies = [ + "hybrid-array", +] + [[package]] name = "bs58" version = "0.5.1" @@ -336,6 +351,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "chacha20" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.1", +] + [[package]] name = "cmake" version = "0.1.57" @@ -345,6 +371,12 @@ dependencies = [ "cc", ] +[[package]] +name = "cmov" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" + [[package]] name = "colored" version = "3.0.0" @@ -376,9 +408,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.6" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" [[package]] name = "constant_time_eq" @@ -441,6 +473,12 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +[[package]] +name = "cpubits" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" + [[package]] name = "cpufeatures" version = "0.2.17" @@ -450,6 +488,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.5.0" @@ -492,12 +539,15 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" -version = "0.5.5" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3" dependencies = [ - "generic-array", - "rand_core 0.6.4", + "cpubits", + "ctutils", + "hybrid-array", + "num-traits", + "rand_core 0.10.1", "subtle", "zeroize", ] @@ -512,11 +562,41 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +dependencies = [ + "hybrid-array", + "rand_core 0.10.1", +] + +[[package]] +name = "ctutils" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +dependencies = [ + "cmov", + "subtle", +] + [[package]] name = "der" version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fd89660b2dc699704064e59e9dba0147b903e85319429e131620d022be411b" dependencies = [ "const-oid", "zeroize", @@ -537,12 +617,23 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", + "block-buffer 0.10.4", + "crypto-common 0.1.6", "subtle", ] +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer 0.12.0", + "const-oid", + "crypto-common 0.2.2", + "ctutils", +] + [[package]] name = "dirs" version = "4.0.0" @@ -591,15 +682,16 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "ecdsa" -version = "0.16.9" +version = "0.17.0-rc.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +checksum = "54fb064faabbee66e1fc8e5c5a9458d4269dc2d8b638fe86a425adb2510d1a96" dependencies = [ - "der", - "digest", + "der 0.8.0", + "digest 0.11.3", "elliptic-curve", "rfc6979", "signature", + "zeroize", ] [[package]] @@ -610,17 +702,18 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "elliptic-curve" -version = "0.13.8" +version = "0.14.0-rc.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +checksum = "cda94f31325c4275e9706adecbb6f0650dee2f904c915a98e3d81adaaaa757aa" dependencies = [ "base16ct", "crypto-bigint", - "digest", - "ff", - "generic-array", - "group", - "rand_core 0.6.4", + "crypto-common 0.2.2", + "digest 0.11.3", + "hybrid-array", + "rand_core 0.10.1", + "rustcrypto-ff", + "rustcrypto-group", "sec1", "subtle", "zeroize", @@ -757,16 +850,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" -[[package]] -name = "ff" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "find-msvc-tools" version = "0.1.5" @@ -937,7 +1020,6 @@ checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -962,8 +1044,24 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", "wasip2", + "wasip3", "wasm-bindgen", ] @@ -985,17 +1083,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - [[package]] name = "h2" version = "0.3.27" @@ -1037,6 +1124,12 @@ dependencies = [ "foldhash 0.2.0", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.5.2" @@ -1051,11 +1144,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hmac" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +checksum = "6303bc9732ae41b04cb554b844a762b4115a61bfaa81e3e83050991eeb56863f" dependencies = [ - "digest", + "digest 0.11.3", ] [[package]] @@ -1126,6 +1219,17 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "hybrid-array" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" +dependencies = [ + "subtle", + "typenum", + "zeroize", +] + [[package]] name = "hyper" version = "0.14.32" @@ -1321,6 +1425,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "idna" version = "1.1.0" @@ -1430,14 +1540,14 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.4" +version = "0.14.0-rc.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +checksum = "1b382cbfd43caf55991a93850ce538aa1aa67bb264af367d22dfe7937c4e997d" dependencies = [ - "cfg-if", + "cpubits", "ecdsa", "elliptic-curve", - "sha2", + "sha2 0.11.0", ] [[package]] @@ -1446,6 +1556,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "libc" version = "0.2.177" @@ -1743,6 +1859,15 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.2" @@ -1791,6 +1916,16 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn 2.0.111", +] + [[package]] name = "proc-macro2" version = "1.0.103" @@ -1878,15 +2013,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] -name = "rand" -version = "0.8.5" +name = "r-efi" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" @@ -1899,13 +2029,14 @@ dependencies = [ ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "rand" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "chacha20", + "getrandom 0.4.2", + "rand_core 0.10.1", ] [[package]] @@ -1919,12 +2050,13 @@ dependencies = [ ] [[package]] -name = "rand_core" -version = "0.6.4" +name = "rand_chacha" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb" dependencies = [ - "getrandom 0.2.16", + "ppv-lite86", + "rand_core 0.10.1", ] [[package]] @@ -1936,13 +2068,19 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "rand_xorshift" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "60aa6af80be32871323012e02e6e65f8a7cc7890931ae421d217ad8fe0df2ccf" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.10.1", ] [[package]] @@ -2033,9 +2171,7 @@ checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" dependencies = [ "base64 0.22.1", "bytes", - "futures-channel", "futures-core", - "futures-util", "http 1.3.1", "http-body 1.0.1", "http-body-util", @@ -2069,9 +2205,9 @@ dependencies = [ [[package]] name = "rfc6979" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +checksum = "5236ce872cac07e0fb3969b0cbf468c7d2f37d432f1b627dcb7b8d34563fb0c3" dependencies = [ "hmac", "subtle", @@ -2112,6 +2248,27 @@ dependencies = [ "semver", ] +[[package]] +name = "rustcrypto-ff" +version = "0.14.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd2a8adb347447693cd2ba0d218c4b66c62da9b0a5672b17b981e4291ec65ff6" +dependencies = [ + "rand_core 0.10.1", + "subtle", +] + +[[package]] +name = "rustcrypto-group" +version = "0.14.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "369f9b61aa45933c062c9f6b5c3c50ab710687eca83dd3802653b140b43f85ed" +dependencies = [ + "rand_core 0.10.1", + "rustcrypto-ff", + "subtle", +] + [[package]] name = "rustix" version = "1.1.2" @@ -2249,13 +2406,14 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sec1" -version = "0.7.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +checksum = "d56d437c2f19203ce5f7122e507831de96f3d2d4d3be5af44a0b0a09d8a80e4d" dependencies = [ "base16ct", - "der", - "generic-array", + "ctutils", + "der 0.8.0", + "hybrid-array", "subtle", "zeroize", ] @@ -2371,8 +2529,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "digest 0.11.3", ] [[package]] @@ -2392,12 +2561,12 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signature" -version = "2.2.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +checksum = "28d567dcbaf0049cb8ac2608a76cd95ff9e4412e1899d389ee400918ca7537f5" dependencies = [ - "digest", - "rand_core 0.6.4", + "digest 0.11.3", + "rand_core 0.10.1", ] [[package]] @@ -2429,9 +2598,9 @@ dependencies = [ [[package]] name = "snarkvm-algorithms" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119d715f601c042d9d59c2f189b08773432d2a7ef4b04ff7688ecc27f49847a8" +checksum = "71391e6d41b7c9e1e3e702f53a72ef8a8aa87e480576e4794fdc48a6ccf76e44" dependencies = [ "aleo-std", "anyhow", @@ -2443,10 +2612,10 @@ dependencies = [ "indexmap", "itertools", "num-traits", - "rand 0.8.5", + "rand 0.10.1", "rayon", "serde", - "sha2", + "sha2 0.11.0", "smallvec", "snarkvm-curves", "snarkvm-fields", @@ -2457,9 +2626,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "893656aae5bb93397483608272b8b3c71fdba1549054fa73c5dd8b890043d487" +checksum = "d265ef0f4603215dbb055fa8e0d4002aedf071eb3e817f78605ed0ac8d76b5c6" dependencies = [ "snarkvm-circuit-account", "snarkvm-circuit-algorithms", @@ -2472,9 +2641,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-account" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bf561f71b51251e11b5502209e3da815d83fd34cf1958b80efeb0815a5d0a1" +checksum = "84d1b2bcebc71fbb181f36ce4e9dda131425a7d3124bb0899c6f5f8ede4de5f4" dependencies = [ "snarkvm-circuit-network", "snarkvm-circuit-types", @@ -2483,9 +2652,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-algorithms" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a699649cefd6a79731faae776263458768c162f9d240c951271c54c622eb98" +checksum = "b9b0ca6b622ca924812c282c4af1f5900c1582b392b08f9a0fab1ddea12032d2" dependencies = [ "snarkvm-circuit-types", "snarkvm-console-algorithms", @@ -2494,9 +2663,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-collections" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eab25b110877336a26c2a4e9d7aa4da17a4f5d856a267d7609d350b2a056b0b" +checksum = "ba683043b9a29c4ec902951ca038aee57b5baab1c873682b35fe44ced88d34ed" dependencies = [ "snarkvm-circuit-algorithms", "snarkvm-circuit-types", @@ -2505,9 +2674,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-environment" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f6e888ba411e45e30464c4c6a46265b847f85271dc904ee1b664ab342fba417" +checksum = "92a5b2ee3698fb6f30ec418f42f2c76bc112f456c16be4f467972d2f6414bfae" dependencies = [ "anyhow", "indexmap", @@ -2526,15 +2695,15 @@ dependencies = [ [[package]] name = "snarkvm-circuit-environment-witness" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7067c99d74bc5873b1b5cb85d965301d050dfc4e769fbab9bbc405a859c854d" +checksum = "54f9297db3916e80ab3d234b020489c466951790e49c02358a42b8c3d4e4efd4" [[package]] name = "snarkvm-circuit-network" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebd4a31d62f39f0125283f183b724db3e007ccf40ea0014bf10adeb7fe1d0e7" +checksum = "2cfe787dfa985f9440023f2092655b8a3b7a39cc001d8f49e55316ff3bae813c" dependencies = [ "snarkvm-circuit-algorithms", "snarkvm-circuit-collections", @@ -2544,9 +2713,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-program" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62a16884e14ce00f6c2e42586249dde46b60ef83279b3535421262ad6bc4e613" +checksum = "7c62e77c12f69e61cb51ca03d11c516b0f620566fb50d85d05aa0a9eb25da79c" dependencies = [ "snarkvm-circuit-account", "snarkvm-circuit-algorithms", @@ -2559,9 +2728,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff1b5ccaec0191216648d4472f604dc6e5bc4e227e6fbc74a1dd878d27e49b2" +checksum = "1435b136e2c7b7343de81395dc3be6586e32e9b115df2185731198693d4ff864" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-address", @@ -2575,9 +2744,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-address" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b335ea990f5ff1132a5b6235ac71833ea5619f3aacf9d2b595b3a40a247063b2" +checksum = "073dcdefeba03189e1ccc1048f9ef4e193dcfae15265bb8ac99c10b490b16b7f" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -2589,9 +2758,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-boolean" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00d18a39567176a53c46688244c62628efef3897219c90447694f353dad92ed6" +checksum = "9e8a9923b0860feab7f4bc582b6d943c2b4657856cf2bbd9a771c2402437e456" dependencies = [ "snarkvm-circuit-environment", "snarkvm-console-types-boolean", @@ -2599,9 +2768,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-field" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "537873e60b25756a7abc875c05578534d227bb7d8126cb70aa3dd8c32bd8e90a" +checksum = "677799ebe3769c916bab7bf8b1bfff39d344028ca6877dacc8398df201b72401" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -2610,9 +2779,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-group" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e881fed6f8281febc18aae12e41be57e362b0279187b4e37feb1318d06b6f0da" +checksum = "53ef111c07dbba0b6b8ced0f8997bb83e7f26ea7f32ef985b18adcd490eb8d7c" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -2623,9 +2792,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-integers" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7244bfa31a20ddb60a2e23e3f421640b4028296889113f2a3c02359414e5d09f" +checksum = "ffe4e31d4961333859313bd80f931a812df9a1486a9f9de68797be657ae0c47d" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -2636,9 +2805,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-scalar" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5df465ff57026bdf7a69ec9f88c488eec2c39f60d237f7b167a15a87e7d61f" +checksum = "7a9596b7bc9d807ba2c8a12498968011c16c1cdd6056dcc15523112b1877da4c" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -2648,9 +2817,9 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-string" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3f0aba42bca8353c0267c85626e3e4f910df3e2175d432b8f5269379426dcff" +checksum = "7fd0fbfa75b4fa7620644fd9d9f0eeb34bba10f50c1d6669fb0c29e1355d2d48" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -2661,9 +2830,9 @@ dependencies = [ [[package]] name = "snarkvm-console" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dc2d9c6696a12ff1dcb9b20c98a1fbc9333a662e40249346bd2a8e7475818f" +checksum = "1f2c7135997bd289c4833ccea44b660f0eb4463e27bf6daf0af0b7c92e08cc17" dependencies = [ "snarkvm-console-account", "snarkvm-console-algorithms", @@ -2675,9 +2844,9 @@ dependencies = [ [[package]] name = "snarkvm-console-account" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0e579907d922e2be74b6bb666057f6ec93d914e49cc728c1e4af0726e6ea42" +checksum = "a9344d174c15d2897b5178e1245c8371e79efe033017ce95aac7897bf6f120a7" dependencies = [ "bs58", "snarkvm-console-network", @@ -2687,9 +2856,9 @@ dependencies = [ [[package]] name = "snarkvm-console-algorithms" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55c27912211d02e030e8f7deecab0f0c544d687e276bd8a7d4fb63471920a54" +checksum = "45e03658558fcd7d9a07c3ccabda3345f392c6eb49b4eb239321a902ea02f968" dependencies = [ "blake2s_simd", "hex", @@ -2704,9 +2873,9 @@ dependencies = [ [[package]] name = "snarkvm-console-collections" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053443c5a9e33e431feec39af3192ad7d33c75c1329b0139bef344594774f897" +checksum = "50cb811b5cbc266602aab5087771788c955e883b8234f5cbf828ea9eba0af2ab" dependencies = [ "aleo-std", "parking_lot", @@ -2718,9 +2887,9 @@ dependencies = [ [[package]] name = "snarkvm-console-network" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55bf4643d55248e04edbb8b3c83579e6db2167bb0586fc5da251440ea685084d" +checksum = "30e140132e6c203a911d1eb540fa2449a50fd3fc01a989e715fcdc78a0d1dcb4" dependencies = [ "anyhow", "enum-iterator", @@ -2739,16 +2908,16 @@ dependencies = [ [[package]] name = "snarkvm-console-network-environment" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200cd0226727cf27ceeb694c06b665e772cee7e1abd84cfe5d5e658bf78858ae" +checksum = "0d6d8a938b2ea5368a4e1bcbfbaf5406de4cf4776259ac404db31a0ad4469187" dependencies = [ "anyhow", "bech32", "itertools", "nom", "num-traits", - "rand 0.8.5", + "rand 0.10.1", "serde", "snarkvm-curves", "snarkvm-fields", @@ -2758,9 +2927,9 @@ dependencies = [ [[package]] name = "snarkvm-console-program" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf708ca1522bcbbd900e73f1f43023e52d7674612b0b6adef1154a42f0a5b1f" +checksum = "09c83b58cddd528096528972e89e87bae93a96393e195e8f42efee42c1d01c46" dependencies = [ "enum-iterator", "enum_index", @@ -2780,9 +2949,9 @@ dependencies = [ [[package]] name = "snarkvm-console-types" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea805853f2d4c45face4fa6a52002c0afe6dd530893d8c644dd28b410b765f9" +checksum = "fc3bfba455ea0d06fb30fb76f09e5a0cf2f561287efdc4fd13d2ae1f9a31373e" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-address", @@ -2796,9 +2965,9 @@ dependencies = [ [[package]] name = "snarkvm-console-types-address" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70633df2627e4995374f20404c2a318aa91a510e9fb479293753b87c79ca7be6" +checksum = "b8d7593a5a7be012670bd5f25951c58e33ab61660926f4b7a17151838f454291" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -2808,18 +2977,18 @@ dependencies = [ [[package]] name = "snarkvm-console-types-boolean" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f5e8f8179a2b2632c606dafaf486cbb72254509c3badc50ec00e0b1e062f72" +checksum = "e4effc5da9957abfeef3eb3c11990ec02172cb334cc525aafa71e16d1b8bb598" dependencies = [ "snarkvm-console-network-environment", ] [[package]] name = "snarkvm-console-types-field" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3274d95a85586722730260e9314b1157d48800bc828fce631c3f5bfa8294c85b" +checksum = "63a32ff8db10684a25cdba8868d667b3512612065b91606a8c323813116732d5" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -2828,9 +2997,9 @@ dependencies = [ [[package]] name = "snarkvm-console-types-group" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6307b854a9ba23acaff37ce6eba6d58a751772774a2081e8f37c98819e54d1" +checksum = "00684faf1e2128e3168b6384a9cc910d61b4ea8c61a24f5e3cabdc11bffaf389" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -2840,9 +3009,9 @@ dependencies = [ [[package]] name = "snarkvm-console-types-integers" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b4b6f9da98590708659f4c88f99ffad786142950e77e414756a3de3eb2bf1e" +checksum = "a9d6695fae259623bad0cf3ef83f2ef631460dfc96ee4c4734ccc8fd51c9fe98" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -2852,9 +3021,9 @@ dependencies = [ [[package]] name = "snarkvm-console-types-scalar" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c505655de71020863ea695bb809426c21c8d9dc8d2db9f41ab4e553cf19533" +checksum = "d581ca16b44162d4d73b6abc99ad513c35f76e4e1a2fba9579af979ca86f3cc5" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -2864,9 +3033,9 @@ dependencies = [ [[package]] name = "snarkvm-console-types-string" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48bcac646f2a4d516e354cec2c36815bfda778f53957bdb25b9ba950bfa0a275" +checksum = "9ce69dc5368ece183938f2e80e242176bb3b10981813f4a1207a351409fec214" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -2876,11 +3045,11 @@ dependencies = [ [[package]] name = "snarkvm-curves" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbc19c063065b3e43b7f6cef1690e887f0ddc5bb7a301562d67e93c08d44bec" +checksum = "86429f2af060974ee91deb525daa86b7ce95c62d981ab32d0d7542fe998431d1" dependencies = [ - "rand 0.8.5", + "rand 0.10.1", "rustc_version", "serde", "snarkvm-fields", @@ -2890,15 +3059,15 @@ dependencies = [ [[package]] name = "snarkvm-fields" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5aafa68efe23a9b68536cb0f8abd317a465af99228b4a758b5331c67f59d41" +checksum = "0d03ad8f583bee8ac19e0648e9b327960748b780748fa7ab9b57de595d085f26" dependencies = [ "aleo-std", "anyhow", "itertools", "num-traits", - "rand 0.8.5", + "rand 0.10.1", "rayon", "serde", "snarkvm-utilities", @@ -2908,12 +3077,12 @@ dependencies = [ [[package]] name = "snarkvm-ledger-authority" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc565d15e4303ef27af8ba580684edfabe1b660f5d4e55d09196b2428c359c1" +checksum = "7a10d21327b85caf5ec94d15a4848ddfdcbf0e8f050a7b8dc22446a5f7119a2c" dependencies = [ "anyhow", - "rand 0.8.5", + "rand 0.10.1", "serde_json", "snarkvm-console", "snarkvm-ledger-narwhal-subdag", @@ -2921,9 +3090,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-block" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0835b84996855ae997944ca16b18115c6393a041bbd0a77ad5504000a5a84d9e" +checksum = "16533468e48ce58b9bac93b83faa009ea3e8cde92694e1f74b1dec0dd1efca3d" dependencies = [ "anyhow", "indexmap", @@ -2938,6 +3107,7 @@ dependencies = [ "snarkvm-ledger-narwhal-subdag", "snarkvm-ledger-narwhal-transmission-id", "snarkvm-ledger-puzzle", + "snarkvm-synthesizer-error", "snarkvm-synthesizer-program", "snarkvm-synthesizer-snark", "snarkvm-utilities", @@ -2945,9 +3115,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-committee" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79276eb9122d95964ea71ff987d712c2d1b468f830911c40f20f03f6c195ffac" +checksum = "3ff9aeb8757f15c7dd698265b6f2bdaab850f7737337a59d3c3589537bceac95" dependencies = [ "indexmap", "rayon", @@ -2958,9 +3128,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-batch-certificate" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd6ef69a6d2b2e821e2b04e75ad75f4e4c9ab83e8426497dc89aaf9136902f4" +checksum = "4806d55f70a9252bfa6eb1233fc4fac07e51d9208a08df0868a6d5799f900297" dependencies = [ "indexmap", "rayon", @@ -2972,9 +3142,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-batch-header" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0542c430495c121c13511d1fe632ef5307196a9ae796d6cfb237a3fb4ffe4260" +checksum = "66e8a4f3f0e81bfb3acc5db3eb00b367dcbb6a9aeda823813af1e7e96c1db6a2" dependencies = [ "indexmap", "rayon", @@ -2985,9 +3155,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-data" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac89aa6ba0312dbc05a556de10e35668e924543e4cc2aa454af0d8256d163b5f" +checksum = "a2708ffd18723b9739ce2b30df8037d30b47f1c10f668f7f3979740a0c09f3f8" dependencies = [ "bytes", "serde_json", @@ -2996,9 +3166,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-subdag" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07cfb1441bf68d2c17923a0d36d45a81f9bfd05bd4654d6760e7c3c82e0b0d23" +checksum = "b73f616ff9e8b650f7f9707ffe1e9c6b1dd1d0acd9ff8614861ace3424421ab7" dependencies = [ "indexmap", "rayon", @@ -3012,9 +3182,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-transmission-id" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86c845b4d31f8e57c0a944fbbe14eb9b2e6ba2b71ee1c5b58b84b7f644f0268" +checksum = "860101cbe832fb5246f062c0aacc4c2117bf51cbc2787783c08ff120d39fcf7f" dependencies = [ "snarkvm-console", "snarkvm-ledger-puzzle", @@ -3022,9 +3192,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-puzzle" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "696c2e4444ee134512b08a592ab242c892b0bfc6f0b2be1ad3f0021cab895fb1" +checksum = "b0baaeefec2b0fc7df7afffc9644dd343d028fe1c94874382ce7448231c9fa88" dependencies = [ "aleo-std", "anyhow", @@ -3032,19 +3202,20 @@ dependencies = [ "indexmap", "lru", "parking_lot", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.10.1", + "rand_chacha 0.10.0", "rayon", "serde_json", "snarkvm-algorithms", "snarkvm-console", + "snarkvm-utilities", ] [[package]] name = "snarkvm-ledger-puzzle-epoch" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1378ca86d374b8b37d952e8e50d4c8914cf936dca15fabb9a101de4d1e55e380" +checksum = "55f7f30fbb625063d36575505c01563b27dbe7237369ce487b0a6ab8e655b599" dependencies = [ "aleo-std", "anyhow", @@ -3052,8 +3223,8 @@ dependencies = [ "indexmap", "lru", "parking_lot", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.10.1", + "rand_chacha 0.10.0", "rayon", "snarkvm-circuit", "snarkvm-console", @@ -3065,9 +3236,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-query" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03735b5a4bc13727f43c05e940a003e5da49e8867ba15dfef4d798ea84b6c5b" +checksum = "d63f5f02b2ed55802aa7bd753f06093817dca26ce9add6335a7d6d4beb9b9039" dependencies = [ "anyhow", "async-trait", @@ -3083,9 +3254,9 @@ dependencies = [ [[package]] name = "snarkvm-ledger-store" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b80163916a2846a1012233b04a940e046567b3406fb96b95e61aed805d8ee2c" +checksum = "34f83232d79e9ece01d84c571e9b6ea7e6dbd4217853ec7d4e6bd6be621a1ce5" dependencies = [ "aleo-std-storage", "anyhow", @@ -3109,9 +3280,9 @@ dependencies = [ [[package]] name = "snarkvm-parameters" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5e8d826b801aa2e0e50047865e322f0021434c26c7830976380e277f6883a2" +checksum = "fd6953e5b2092ebd763ff3406b50976565ccf8e6768b6956dcb9e9cae65dcb79" dependencies = [ "aleo-std", "anyhow", @@ -3123,21 +3294,21 @@ dependencies = [ "lazy_static", "parking_lot", "paste", - "rand 0.8.5", - "reqwest 0.13.2", + "rand 0.10.1", "serde_json", - "sha2", + "sha2 0.11.0", "snarkvm-curves", "snarkvm-utilities", "thiserror 2.0.17", + "ureq", "web-sys", ] [[package]] name = "snarkvm-synthesizer" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54105a74b11c4a23e2a280b0e9deee3cceb25ccf12414fdbca8af8364f9c6079" +checksum = "db919cb726fdef30913f758ddd14dc8fc9881bfaf00ed2c1edc9d71794091232" dependencies = [ "aleo-std", "anyhow", @@ -3145,7 +3316,7 @@ dependencies = [ "itertools", "lru", "parking_lot", - "rand 0.8.5", + "rand 0.10.1", "rayon", "serde_json", "snarkvm-algorithms", @@ -3170,29 +3341,30 @@ dependencies = [ [[package]] name = "snarkvm-synthesizer-error" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3144c277090e5952fb4397ff5b42fbc7201c2ea4df8378c4c76c7bb071617de" +checksum = "1105ae1de382800f35a25eb8f625cdc228668eb46877a9f513a15f61435e9a2a" dependencies = [ "anyhow", "snarkvm-circuit-environment", "snarkvm-console-network", + "snarkvm-console-program", "thiserror 2.0.17", ] [[package]] name = "snarkvm-synthesizer-process" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caf6b84d6ed903e38c23367b0a7d9cf0b0c4f3215b99694bfc132e2e187d229" +checksum = "4660400b8f689f4ecb166fc6d33cf2c9050249e2e8b6a68cef74bf6277ee261b" dependencies = [ "aleo-std", "colored", "indexmap", "itertools", "parking_lot", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.10.1", + "rand_chacha 0.10.0", "rayon", "serde_json", "snarkvm-algorithms", @@ -3209,15 +3381,15 @@ dependencies = [ [[package]] name = "snarkvm-synthesizer-program" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a695085223df25c5d5d786ca764bfc6bae038d33c4e278275fcbc8fb31bb46" +checksum = "508e4f3e0275ad282c21f3b8a126639ebe7446bbb44f271d38197f431733c466" dependencies = [ "enum-iterator", "indexmap", "paste", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.10.1", + "rand_chacha 0.10.0", "rayon", "serde_json", "snarkvm-algorithms", @@ -3231,9 +3403,9 @@ dependencies = [ [[package]] name = "snarkvm-synthesizer-snark" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6efb60e0d76473c58228b2a6e1ddafcf87dfb750291bc020c8167e0c05c43ea" +checksum = "cdaa14705a5077479175389272f5681b6e258c0e5c0f41aa670c3b544d02d2f5" dependencies = [ "bincode", "serde_json", @@ -3245,9 +3417,9 @@ dependencies = [ [[package]] name = "snarkvm-utilities" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bc1cabe778a4693015a520b0684b114281550113c4e377d15ec50701ed4ded" +checksum = "e7a8f158c1c74f748262e24e5c5835d6144ac8487f05fb67edede4366d1be93d" dependencies = [ "aleo-std", "anyhow", @@ -3255,7 +3427,7 @@ dependencies = [ "colored", "num-bigint", "num_cpus", - "rand 0.8.5", + "rand 0.10.1", "rand_xorshift", "rayon", "serde", @@ -3269,9 +3441,9 @@ dependencies = [ [[package]] name = "snarkvm-utilities-derives" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47cd05497f2badd1649b454c77bce1c5159bd4da8a685117f7d6f27314af307e" +checksum = "b004c0e85a52c4ced0a6880e9715d966bdc4d4cd722bf2ddaac99134eb1a9c2b" dependencies = [ "proc-macro2", "quote 1.0.42", @@ -3280,11 +3452,11 @@ dependencies = [ [[package]] name = "snarkvm-wasm" -version = "4.6.4" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04752844b7260b835572782c305e409e006d9ba04d3bdb3b199dd391f960ab1e" +checksum = "cb412fc4600dfa0f816ba560c033ecbfcd182e479119221ee711f1a272d7cd45" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.4.2", "snarkvm-console", "snarkvm-curves", "snarkvm-fields", @@ -3341,7 +3513,7 @@ checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" dependencies = [ "quote 0.3.15", "synom", - "unicode-xid", + "unicode-xid 0.0.4", ] [[package]] @@ -3387,7 +3559,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" dependencies = [ - "unicode-xid", + "unicode-xid 0.0.4", ] [[package]] @@ -3706,9 +3878,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.19.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "unicode-ident" @@ -3722,6 +3894,12 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "untrusted" version = "0.9.0" @@ -3736,8 +3914,10 @@ checksum = "d39cb1dbab692d82a977c0392ffac19e188bd9186a9f32806f0aaa859d75585a" dependencies = [ "base64 0.22.1", "cookie_store", + "der 0.7.10", "flate2", "log", + "native-tls", "percent-encoding", "rustls", "rustls-pki-types", @@ -3745,6 +3925,7 @@ dependencies = [ "serde_json", "ureq-proto", "utf-8", + "webpki-root-certs", "webpki-roots", ] @@ -3833,7 +4014,16 @@ version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen", + "wit-bindgen 0.46.0", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", ] [[package]] @@ -3920,6 +4110,40 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.10.0", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "web-sys" version = "0.3.82" @@ -4308,6 +4532,94 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn 2.0.111", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote 1.0.42", + "syn 2.0.111", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.10.0", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid 0.2.6", + "wasmparser", +] + [[package]] name = "writeable" version = "0.6.2" diff --git a/wasm/Cargo.toml b/wasm/Cargo.toml index 1d97633fd..8c6244bb4 100644 --- a/wasm/Cargo.toml +++ b/wasm/Cargo.toml @@ -22,14 +22,14 @@ crate-type = [ "cdylib", "rlib" ] doctest = false [dependencies.snarkvm-algorithms] -path = "../../snarkVM/algorithms" +version = "4.7.1" [dependencies.snarkvm-circuit-network] -path = "../../snarkVM/circuit/network" +version = "4.7.1" features = ["wasm"] [dependencies.snarkvm-console] -path = "../../snarkVM/console" +version = "4.7.1" default-features = false features = [ "account", @@ -42,31 +42,31 @@ features = [ ] [dependencies.snarkvm-ledger-block] -path = "../../snarkVM/ledger/block" +version = "4.7.1" features = ["wasm"] [dependencies.snarkvm-ledger-query] -path = "../../snarkVM/ledger/query" +version = "4.7.1" features = ["async", "wasm"] [dependencies.snarkvm-ledger-store] -path = "../../snarkVM/ledger/store" +version = "4.7.1" [dependencies.snarkvm-parameters] -path = "../../snarkVM/parameters" +version = "4.7.1" default-features = false features = ["wasm"] [dependencies.snarkvm-synthesizer-program] -path = "../../snarkVM/synthesizer/program" +version = "4.7.1" features = ["wasm"] [dependencies.snarkvm-synthesizer] -path = "../../snarkVM/synthesizer" +version = "4.7.1" features = ["async", "wasm"] [dependencies.snarkvm-wasm] -path = "../../snarkVM/wasm" +version = "4.7.1" features = ["fields", "utilities"] [dependencies.anyhow] diff --git a/wasm/src/account/signature.rs b/wasm/src/account/signature.rs index f41f680a1..1b121a7b5 100644 --- a/wasm/src/account/signature.rs +++ b/wasm/src/account/signature.rs @@ -232,7 +232,6 @@ mod tests { records::{INVALID_CREDITS_RECORD, VALID_CREDITS_RECORD}, }, }; - use rand::{Rng, SeedableRng, rngs::StdRng}; use wasm_bindgen_test::*; const ITERATIONS: u64 = 1_000; @@ -242,7 +241,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let message: [u8; 32] = StdRng::from_entropy().gen(); + let message: [u8; 32] = rand::random(); // Sign the message. let signature = Signature::sign(&private_key, &message); @@ -250,7 +249,7 @@ mod tests { assert!(signature.verify(&private_key.to_address(), &message)); // Sample a different message. - let bad_message: [u8; 32] = StdRng::from_entropy().gen(); + let bad_message: [u8; 32] = rand::random(); // Check the signature is invalid. assert!(!signature.verify(&private_key.to_address(), &bad_message)); } @@ -261,7 +260,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_val: u64 = StdRng::from_entropy().gen(); + let rand_val: u64 = rand::random(); let message = format!("{rand_val}field"); // Sign the message. @@ -270,7 +269,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_val: u64 = StdRng::from_entropy().gen(); + let rand_val: u64 = rand::random(); let bad_message = format!("{rand_val}field"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -324,7 +323,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_u8: u8 = StdRng::from_entropy().gen(); + let rand_u8: u8 = rand::random(); let message = format!("{rand_u8}u8"); // Sign the message. @@ -345,7 +344,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_u16: u16 = StdRng::from_entropy().gen(); + let rand_u16: u16 = rand::random(); let message = format!("{rand_u16}u16"); // Sign the message. @@ -354,7 +353,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_u16_new: u16 = StdRng::from_entropy().gen(); + let rand_u16_new: u16 = rand::random(); let bad_message = format!("{rand_u16_new}u16"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -366,7 +365,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_u32: u32 = StdRng::from_entropy().gen(); + let rand_u32: u32 = rand::random(); let message = format!("{rand_u32}u32"); // Sign the message. @@ -375,7 +374,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_u32: u32 = StdRng::from_entropy().gen(); + let rand_u32: u32 = rand::random(); let bad_message = format!("{rand_u32}u32"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -387,7 +386,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_u64: u64 = StdRng::from_entropy().gen(); + let rand_u64: u64 = rand::random(); let message = format!("{rand_u64}u64"); // Sign the message. @@ -396,7 +395,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_u64: u64 = StdRng::from_entropy().gen(); + let rand_u64: u64 = rand::random(); let bad_message = format!("{rand_u64}u64"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -408,7 +407,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_u128: u128 = StdRng::from_entropy().gen(); + let rand_u128: u128 = rand::random(); let message = format!("{rand_u128}u128"); // Sign the message. @@ -417,7 +416,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_u128: u128 = StdRng::from_entropy().gen(); + let rand_u128: u128 = rand::random(); let bad_message = format!("{rand_u128}u128"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -429,7 +428,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_i8: i8 = StdRng::from_entropy().gen(); + let rand_i8: i8 = rand::random(); let message = format!("{rand_i8}i8"); // Sign the message. @@ -450,7 +449,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_i16: i16 = StdRng::from_entropy().gen(); + let rand_i16: i16 = rand::random(); let message = format!("{rand_i16}i16"); // Sign the message. @@ -459,7 +458,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i16_new: i16 = StdRng::from_entropy().gen(); + let rand_i16_new: i16 = rand::random(); let bad_message = format!("{rand_i16_new}i16"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -471,7 +470,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_i32: i32 = StdRng::from_entropy().gen(); + let rand_i32: i32 = rand::random(); let message = format!("{rand_i32}i32"); // Sign the message. @@ -480,7 +479,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i32_new: i32 = StdRng::from_entropy().gen(); + let rand_i32_new: i32 = rand::random(); let bad_message = format!("{rand_i32_new}i32"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -492,7 +491,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_i64: i64 = StdRng::from_entropy().gen(); + let rand_i64: i64 = rand::random(); let message = format!("{rand_i64}i64"); // Sign the message. @@ -501,7 +500,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i64_new: i64 = StdRng::from_entropy().gen(); + let rand_i64_new: i64 = rand::random(); let bad_message = format!("{rand_i64_new}i64"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -513,7 +512,7 @@ mod tests { for _ in 0..ITERATIONS { // Sample a new private key and message. let private_key = PrivateKey::new(); - let rand_i128: i128 = StdRng::from_entropy().gen(); + let rand_i128: i128 = rand::random(); let message = format!("{rand_i128}i128"); // Sign the message. @@ -522,7 +521,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i128_new: i128 = StdRng::from_entropy().gen(); + let rand_i128_new: i128 = rand::random(); let bad_message = format!("{rand_i128_new}i128"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); diff --git a/wasm/src/programs/execution.rs b/wasm/src/programs/execution.rs index c27d062c5..c0b6f4a4f 100644 --- a/wasm/src/programs/execution.rs +++ b/wasm/src/programs/execution.rs @@ -209,8 +209,14 @@ pub fn verify_function_execution( InclusionVersion::V0 }; let execution_stacks = execution_stacks_for_execution(process, execution)?; - ProcessNative::verify_execution(consensus_version, VarunaVersion::V2, inclusion_version, execution, &execution_stacks) - .map_or(Ok(false), |_| Ok(true)) + ProcessNative::verify_execution( + consensus_version, + VarunaVersion::V2, + inclusion_version, + execution, + &execution_stacks, + ) + .map_or(Ok(false), |_| Ok(true)) } /// Verify a SNARK proof against a verifying key and public inputs. diff --git a/wasm/src/programs/manager/deploy.rs b/wasm/src/programs/manager/deploy.rs index 35fb9c50f..c3b3e9081 100644 --- a/wasm/src/programs/manager/deploy.rs +++ b/wasm/src/programs/manager/deploy.rs @@ -273,7 +273,8 @@ impl ProgramManager { if !process.contains_program(deployed_program.id()) { log("Adding deployed program to the process"); process - .lock().add_program_with_edition(&deployed_program, deployed_program_edition) + .lock() + .add_program_with_edition(&deployed_program, deployed_program_edition) .map_err(|err| err.to_string())?; } let rng = &mut rand::rng(); @@ -526,7 +527,8 @@ impl ProgramManager { if !process.contains_program(deployed_program.id()) { log("Adding deployed program to the process"); process - .lock().add_program_with_edition(&deployed_program, deployed_program_edition) + .lock() + .add_program_with_edition(&deployed_program, deployed_program_edition) .map_err(|err| err.to_string())?; } diff --git a/wasm/src/programs/manager/execute.rs b/wasm/src/programs/manager/execute.rs index 09162ef79..7d856cc5a 100644 --- a/wasm/src/programs/manager/execute.rs +++ b/wasm/src/programs/manager/execute.rs @@ -742,7 +742,7 @@ impl ProgramManager { &execution, &execution_stacks, ) - .map_err(|err| err.to_string())?; + .map_err(|err| err.to_string())?; log("Creating execution transaction"); let transaction = TransactionNative::from_execution(execution, fee).map_err(|err| err.to_string())?; diff --git a/wasm/src/programs/manager/join.rs b/wasm/src/programs/manager/join.rs index caa5844ec..dc4ab262f 100644 --- a/wasm/src/programs/manager/join.rs +++ b/wasm/src/programs/manager/join.rs @@ -161,7 +161,7 @@ impl ProgramManager { &execution, &execution_stacks, ) - .map_err(|err| err.to_string())?; + .map_err(|err| err.to_string())?; // Calculate the minimum execution fee. log("Calculating the minimum execution fee"); diff --git a/wasm/src/programs/manager/split.rs b/wasm/src/programs/manager/split.rs index 7415b8544..a2c449d8b 100644 --- a/wasm/src/programs/manager/split.rs +++ b/wasm/src/programs/manager/split.rs @@ -134,7 +134,7 @@ impl ProgramManager { &execution, &execution_stacks, ) - .map_err(|err| err.to_string())?; + .map_err(|err| err.to_string())?; log("Creating execution transaction for split"); let transaction = TransactionNative::from_execution(execution, None).map_err(|err| err.to_string())?; diff --git a/wasm/src/programs/manager/transfer.rs b/wasm/src/programs/manager/transfer.rs index c39cae0de..b846443c9 100644 --- a/wasm/src/programs/manager/transfer.rs +++ b/wasm/src/programs/manager/transfer.rs @@ -217,7 +217,7 @@ impl ProgramManager { &execution, &execution_stacks, ) - .map_err(|err| err.to_string())?; + .map_err(|err| err.to_string())?; // Calculate the minimum execution fee. log("Calculating the minimum execution fee"); diff --git a/wasm/src/utilities/encrypt.rs b/wasm/src/utilities/encrypt.rs index 4a4c75aed..972c8cea3 100644 --- a/wasm/src/utilities/encrypt.rs +++ b/wasm/src/utilities/encrypt.rs @@ -313,8 +313,8 @@ mod tests { const NON_OWNER_VIEW_KEY: &str = "AViewKey1e2WyreaH5H4RBcioLL2GnxvHk5Ud46EtwycnhTdXLmXp"; const OWNER_CIPHERTEXT: &str = "record1qyqsqpe2szk2wwwq56akkwx586hkndl3r8vzdwve32lm7elvphh37rsyqyxx66trwfhkxun9v35hguerqqpqzqrtjzeu6vah9x2me2exkgege824sd8x2379scspmrmtvczs0d93qttl7y92ga0k0rsexu409hu3vlehe3yxjhmey3frh2z5pxm5cmxsv4un97q"; - const NON_OWNED_CIPHERTEXT_1: &str = "RECORD1QVQSQ5H8YT5682E73ZT7PYNJGPL29MWTSETRVS9VHCKFHJRNX9RX94CFQYXX66TRWFHKXUN9V35HGUERQQPQZQZ6KMY7S5HPKKF02L6R46QM8RQCW9X0K4RQ6GT234AMJ2UG3LMTQT5NY4UG8SXJY3U8D05K4Q3E9F54VX67ZMD3G6JYQQ7KXRWS0R0SWM6P833"; - const NON_OWNED_CIPHERTEXT_2: &str = "RECORD1QVQSP37HJE4CEU8EFZE8XMAHE5TDTXCZ0K534WQPKVN6C9R629X3C4Q8QYRXZMT0W4H8GGCQQGQSPVUJYCN0K7HYFHENXA40HXTFSX68092WMVJ4E3XSEXR2DY0FMCCXT0DS42W5MAASZFJV930QVQRKATQJ900AKU4K777UMH2K54ZHLUGQC2AFJD"; + const NON_OWNED_CIPHERTEXT_1: &str = "record1qvqsq5h8yt5682e73zt7pynjgpl29mwtsetrvs9vhckfhjrnx9rx94cfqyxx66trwfhkxun9v35hguerqqpqzqz6kmy7s5hpkkf02l6r46qm8rqcw9x0k4rq6gt234amj2ug3lmtqt5ny4ug8sxjy3u8d05k4q3e9f54vx67zmd3g6jyqq7kxrws0r0swm6p833"; + const NON_OWNED_CIPHERTEXT_2: &str = "record1qvqsp37hje4ceu8efze8xmahe5tdtxcz0k534wqpkvn6c9r629x3c4q8qyrxzmt0w4h8ggcqqgqspvujycn0k7hyfhenxa40hxtfsx68092wmvj4e3xsexr2dy0fmccxt0ds42w5maaszfjv930qvqrkatqj900aku4k777umh2k54zhlugqc2afjd"; const OWNER_PLAINTEXT: &str = r"{ owner: aleo1j7qxyunfldj2lp8hsvy7mw5k8zaqgjfyr72x2gh3x4ewgae8v5gscf5jh3.private, microcredits: 1500000000000000u64.private, From 2ce45098c5d9fe0eae183805e92c2700626dbf62 Mon Sep 17 00:00:00 2001 From: Cameron Marshall <5210281+marshacb@users.noreply.github.com> Date: Mon, 1 Jun 2026 12:44:50 -0400 Subject: [PATCH 2/3] Fix collision flake in signature.rs sign-and-verify tests (wrapping_add(1) guarantees bad_message != original across u16/i16/i32/i64/i128) --- wasm/src/account/signature.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wasm/src/account/signature.rs b/wasm/src/account/signature.rs index 1b121a7b5..618c06648 100644 --- a/wasm/src/account/signature.rs +++ b/wasm/src/account/signature.rs @@ -353,7 +353,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_u16_new: u16 = rand::random(); + let rand_u16_new: u16 = rand_u16.wrapping_add(1); let bad_message = format!("{rand_u16_new}u16"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -458,7 +458,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i16_new: i16 = rand::random(); + let rand_i16_new: i16 = rand_i16.wrapping_add(1); let bad_message = format!("{rand_i16_new}i16"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -479,7 +479,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i32_new: i32 = rand::random(); + let rand_i32_new: i32 = rand_i32.wrapping_add(1); let bad_message = format!("{rand_i32_new}i32"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -500,7 +500,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i64_new: i64 = rand::random(); + let rand_i64_new: i64 = rand_i64.wrapping_add(1); let bad_message = format!("{rand_i64_new}i64"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); @@ -521,7 +521,7 @@ mod tests { assert!(signature.verify_value(&private_key.to_address(), &message).unwrap()); // Sample a different message. - let rand_i128_new: i128 = rand::random(); + let rand_i128_new: i128 = rand_i128.wrapping_add(1); let bad_message = format!("{rand_i128_new}i128"); // Check the signature is invalid. assert!(!signature.verify_value(&private_key.to_address(), &bad_message).unwrap()); From 28d2c91bed7a8ec809d6c5241db5e72a61534242 Mon Sep 17 00:00:00 2001 From: Cameron Marshall <5210281+marshacb@users.noreply.github.com> Date: Mon, 1 Jun 2026 13:27:51 -0400 Subject: [PATCH 3/3] Bump consensus version test heights from 14 to 15 (snarkVM 4.7.1 added ConsensusVersion::V15) --- sdk/src/program-manager.ts | 4 ++-- sdk/tests/wasm.test.ts | 4 ++-- wasm/src/utilities/mod.rs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sdk/src/program-manager.ts b/sdk/src/program-manager.ts index 567988eeb..b8914eacf 100644 --- a/sdk/src/program-manager.ts +++ b/sdk/src/program-manager.ts @@ -3796,7 +3796,7 @@ class ProgramManager { * import { AleoKeyProvider, getOrInitConsensusVersionTestHeights, ProgramManager, NetworkRecordProvider } from "@provablehq/sdk/mainnet.js"; * * // Initialize the development consensus heights in order to work with devnode. - * getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13"); + * getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13,14"); * * // Create a new NetworkClient and RecordProvider. * const recordProvider = new NetworkRecordProvider(account, networkClient); @@ -3963,7 +3963,7 @@ class ProgramManager { * import { ProgramManager, NetworkRecordProvider, getOrInitConsensusVersionTestHeights } from "@provablehq/sdk/mainnet.js"; * * // Initialize the development consensus heights in order to work with a local devnode. - * getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13"); + * getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13,14"); * * // Create a new NetworkClient, and RecordProvider * const recordProvider = new NetworkRecordProvider(account, networkClient); diff --git a/sdk/tests/wasm.test.ts b/sdk/tests/wasm.test.ts index 0431e1c86..21fc1cebe 100644 --- a/sdk/tests/wasm.test.ts +++ b/sdk/tests/wasm.test.ts @@ -629,9 +629,9 @@ describe('WASM Objects', () => { describe('Set development consensus version heights', () => { it('Consensus version heights can be set externally', async () => { if (process.env["RUN_SKIPPED"]) { - const heights = getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13"); + const heights = getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13,14"); console.log(heights); - expect(heights).to.deep.equal([0,1,2,3,4,5,6,7,8,9,10,11,12,13]); + expect(heights).to.deep.equal([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]); } }); }); diff --git a/wasm/src/utilities/mod.rs b/wasm/src/utilities/mod.rs index 4e06f6a7b..3414bf3d8 100644 --- a/wasm/src/utilities/mod.rs +++ b/wasm/src/utilities/mod.rs @@ -46,7 +46,7 @@ pub mod test; /// import { getOrInitConsensusVersionTestHeights } from '@provablehq/sdk'; /// /// Set the consensus version heights. -/// getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13"); +/// getOrInitConsensusVersionTestHeights("0,1,2,3,4,5,6,7,8,9,10,11,12,13,14"); #[wasm_bindgen::prelude::wasm_bindgen(js_name = getOrInitConsensusVersionTestHeights)] pub fn get_or_init_consensus_version_heights(heights: Option) -> js_sys::Array { // Call the underlying Rust function that returns [(ConsensusVersion, u32); N]