diff --git a/Cargo.lock b/Cargo.lock index be30d586ab..ab96dd69af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -29,9 +29,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", @@ -40,9 +40,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "42cd52102d3df161c77a887b608d7a4897d7cc112886a9537b738a887a03aaff" dependencies = [ "cfg-if", "once_cell", @@ -182,14 +182,13 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.1.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +checksum = "823b8bb275161044e2ac7a25879cb3e2480cb403e3943022c7c769c599b756aa" dependencies = [ - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] @@ -427,9 +426,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" +checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f" dependencies = [ "serde", ] @@ -466,9 +465,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.32" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41daef31d7a747c5c847246f36de49ced6f7403b4cdabc807a97b5cc184cda7a" +checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" dependencies = [ "num-traits", ] @@ -629,9 +628,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" +checksum = "18d59688ad0945eaf6b84cb44fedbe93484c81b48970e98f09db8a22832d7961" dependencies = [ "cfg-if", "cpufeatures", @@ -691,9 +690,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] @@ -1000,9 +999,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "elliptic-curve" @@ -1465,9 +1464,9 @@ dependencies = [ [[package]] name = "eyre" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ "indenter", "once_cell", @@ -1781,7 +1780,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.2.3", "slab", "tokio", "tokio-util", @@ -1806,9 +1805,9 @@ dependencies = [ [[package]] name = "halo2curves" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3675880dc0cc7cd468943266297198a28f88210ba60ca5e0e04d121edf86b46" +checksum = "db81d01d0bbfec9f624d7590fc6929ee2537a64ec1e080d8f8c9e2d2da291405" dependencies = [ "blake2b_simd", "ff", @@ -1893,9 +1892,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.4" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" +checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" [[package]] name = "hex" @@ -2103,9 +2102,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -2178,12 +2177,12 @@ checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "is-terminal" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi 0.3.4", - "rustix", + "hermit-abi 0.3.6", + "libc", "windows-sys 0.52.0", ] @@ -2213,18 +2212,18 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" dependencies = [ "wasm-bindgen", ] @@ -2305,9 +2304,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.152" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libm" @@ -2439,9 +2438,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] @@ -2528,28 +2527,33 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" dependencies = [ "autocfg", "num-integer", @@ -2570,9 +2574,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", "libm", @@ -2584,7 +2588,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.4", + "hermit-abi 0.3.6", "libc", ] @@ -2829,9 +2833,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" +checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" dependencies = [ "memchr", "thiserror", @@ -2840,9 +2844,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde" +checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809" dependencies = [ "pest", "pest_generator", @@ -2850,9 +2854,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" +checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e" dependencies = [ "pest", "pest_meta", @@ -2863,9 +2867,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d" +checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a" dependencies = [ "once_cell", "pest", @@ -2879,7 +2883,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.1.0", + "indexmap 2.2.3", ] [[package]] @@ -2945,18 +2949,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ "proc-macro2", "quote", @@ -2987,9 +2991,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "poseidon" @@ -3091,7 +3095,7 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.21.0", + "toml_edit 0.21.1", ] [[package]] @@ -3251,9 +3255,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -3274,9 +3278,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.23" +version = "0.11.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" +checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ "base64 0.21.7", "bytes", @@ -3300,6 +3304,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", "system-configuration", "tokio", "tokio-rustls", @@ -3477,9 +3482,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.30" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ "bitflags 2.4.2", "errno", @@ -3682,18 +3687,18 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", @@ -3702,9 +3707,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" dependencies = [ "itoa", "ryu", @@ -4019,9 +4024,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "svm-rs" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20689c7d03b6461b502d0b95d6c24874c7d24dea2688af80486a130a06af3b07" +checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" dependencies = [ "dirs", "fs2", @@ -4059,6 +4064,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + [[package]] name = "system-configuration" version = "0.5.1" @@ -4088,13 +4099,12 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" dependencies = [ "cfg-if", "fastrand", - "redox_syscall", "rustix", "windows-sys 0.52.0", ] @@ -4162,18 +4172,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" dependencies = [ "proc-macro2", "quote", @@ -4182,12 +4192,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.31" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa", + "num-conv", "powerfmt", "serde", "time-core", @@ -4202,10 +4213,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] @@ -4235,9 +4247,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -4336,7 +4348,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.3", "serde", "serde_spanned", "toml_datetime", @@ -4349,18 +4361,18 @@ version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.3", "toml_datetime", "winnow", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.3", "toml_datetime", "winnow", ] @@ -4585,9 +4597,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -4595,9 +4607,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" dependencies = [ "bumpalo", "log", @@ -4610,9 +4622,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" dependencies = [ "cfg-if", "js-sys", @@ -4622,9 +4634,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4632,9 +4644,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" dependencies = [ "proc-macro2", "quote", @@ -4645,15 +4657,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" dependencies = [ "js-sys", "wasm-bindgen", @@ -4661,9 +4673,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.3" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "winapi" @@ -4830,9 +4842,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.34" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] diff --git a/bus-mapping/src/circuit_input_builder/access.rs b/bus-mapping/src/circuit_input_builder/access.rs index 1626d6f97a..086396e749 100644 --- a/bus-mapping/src/circuit_input_builder/access.rs +++ b/bus-mapping/src/circuit_input_builder/access.rs @@ -72,7 +72,7 @@ impl From> for AccessSet { for access in list { match access.value { AccessValue::Account { address } => { - state.entry(address).or_insert_with(HashSet::new); + state.entry(address).or_default(); } AccessValue::Storage { address, key } => match state.entry(address) { Entry::Vacant(entry) => { @@ -85,7 +85,7 @@ impl From> for AccessSet { } }, AccessValue::Code { address } => { - state.entry(address).or_insert_with(HashSet::new); + state.entry(address).or_default(); code.insert(address); } } diff --git a/bus-mapping/src/circuit_input_builder/input_state_ref.rs b/bus-mapping/src/circuit_input_builder/input_state_ref.rs index 38c0db5e30..3b5b74c1e8 100644 --- a/bus-mapping/src/circuit_input_builder/input_state_ref.rs +++ b/bus-mapping/src/circuit_input_builder/input_state_ref.rs @@ -1225,7 +1225,7 @@ impl<'a> CircuitInputStateRef<'a> { ) -> Result<(), Error> { let call = self.call()?.clone(); let geth_step = steps - .get(0) + .first() .ok_or(Error::InternalError("invalid index 0"))?; let is_revert_or_return_call_success = (geth_step.op == OpcodeId::REVERT || geth_step.op == OpcodeId::RETURN) @@ -1419,7 +1419,7 @@ impl<'a> CircuitInputStateRef<'a> { let call = self.call()?; - if matches!(next_step, None) { + if next_step.is_none() { // enumerating call scope successful cases // case 1: call with normal halt opcode termination if matches!( diff --git a/bus-mapping/src/precompile.rs b/bus-mapping/src/precompile.rs index 2792fa4d5b..9b43d844a9 100644 --- a/bus-mapping/src/precompile.rs +++ b/bus-mapping/src/precompile.rs @@ -36,8 +36,9 @@ pub(crate) fn execute_precompiled( #[cfg(not(target_arch = "wasm32"))] { - let Some(Precompile::Standard(precompile_fn)) = Precompiles::berlin() - .get(address.as_fixed_bytes()) else { + let Some(Precompile::Standard(precompile_fn)) = + Precompiles::berlin().get(address.as_fixed_bytes()) + else { panic!("calling non-exist precompiled contract address") }; let (return_data, gas_cost, is_oog, is_ok) = match precompile_fn(input, gas) { diff --git a/eth-types/src/bytecode.rs b/eth-types/src/bytecode.rs index 627ff10eae..09160e274e 100644 --- a/eth-types/src/bytecode.rs +++ b/eth-types/src/bytecode.rs @@ -1,7 +1,6 @@ //! EVM byte code generator use crate::{evm_types::OpcodeId, keccak256, Bytes, Hash, ToBigEndian, ToWord, Word}; -use std::{collections::HashMap, iter, str::FromStr}; - +use std::{collections::HashMap, fmt::Display, iter, str::FromStr}; /// Error type for Bytecode related failures #[derive(Debug)] pub enum Error { @@ -254,12 +253,13 @@ impl FromStr for OpcodeWithData { } } -impl ToString for OpcodeWithData { - fn to_string(&self) -> String { - match self { +impl Display for OpcodeWithData { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let str = match self { OpcodeWithData::Opcode(opcode) => format!("{:?}", opcode), OpcodeWithData::PushWithData(n, word) => format!("PUSH{}({})", n, word), - } + }; + f.write_str(&str) } } @@ -576,6 +576,6 @@ mod tests { POP STOP }; - assert_eq!(Bytecode::try_from(code.code()).unwrap(), code); + assert_eq!(Bytecode::from(code.code()), code); } } diff --git a/eth-types/src/evm_types.rs b/eth-types/src/evm_types.rs index d9fa5ec40b..39adaa4a17 100644 --- a/eth-types/src/evm_types.rs +++ b/eth-types/src/evm_types.rs @@ -34,8 +34,7 @@ mod gas_create { // [gasCreate2Eip3860](https://github.com/ethereum/go-ethereum/blob/eb83e7c54021573eaceb14236af3a7a8c64f6027/core/vm/gas_table.go#L321) // (similar for CREATE). // 1. size <= 49152 (MaxInitCodeSize) - // 2. gasCost = memoryGasCost + (2 + 6) * ((size + 31) / 32) should not - // overflow for Uint64. + // 2. gasCost = memoryGasCost + (2 + 6) * ((size + 31) / 32) should not overflow for Uint64. // No need to constrain the second condition, since the maximum gas cost // cannot overflow for Uint64 (36028809887100925 calculated by // `memorySize = 0x1FFFFFFFE0` and `size = 49152`) if the first condition is diff --git a/eth-types/src/lib.rs b/eth-types/src/lib.rs index afa4569187..81ec46560b 100644 --- a/eth-types/src/lib.rs +++ b/eth-types/src/lib.rs @@ -8,7 +8,11 @@ #![deny(missing_docs)] //#![deny(unsafe_code)] Allowed now until we find a // better way to handle downcasting from Operation into it's variants. -#![allow(clippy::upper_case_acronyms)] // Too pedantic + +// Too pedantic +#![allow(clippy::upper_case_acronyms)] +// Clippy is buggy on this one. Remove after https://github.com/rust-lang/rust-clippy/issues/12101 is resolved. +#![allow(clippy::useless_vec)] #[macro_use] pub mod macros; diff --git a/eth-types/src/sign_types.rs b/eth-types/src/sign_types.rs index c93245af29..696b57bb6b 100644 --- a/eth-types/src/sign_types.rs +++ b/eth-types/src/sign_types.rs @@ -135,9 +135,7 @@ pub fn ct_option_ok_or(v: CtOption, err: E) -> Result { /// Return a copy of the serialized public key with swapped Endianness. pub fn pk_bytes_swap_endianness(pk: &[T]) -> [T; 64] { assert_eq!(pk.len(), 64); - let mut pk_swap = <&[T; 64]>::try_from(pk) - .map(|r| r.clone()) - .expect("pk.len() != 64"); + let mut pk_swap = <&[T; 64]>::try_from(pk).cloned().expect("pk.len() != 64"); pk_swap[..32].reverse(); pk_swap[32..].reverse(); pk_swap diff --git a/geth-utils/src/mpt.rs b/geth-utils/src/mpt.rs index 4fe0f3aa4c..46c60d0e65 100644 --- a/geth-utils/src/mpt.rs +++ b/geth-utils/src/mpt.rs @@ -86,7 +86,7 @@ pub fn get_witness(block_no: u64, mods: &[TrieModification], node_url: &str) -> let json = serde_json::to_string(&req).expect("Invalid request"); let c_config = CString::new(json).expect("invalid config"); - let result = unsafe { go::GetMptWitness(c_config.as_ptr() as *const i8) }; + let result = unsafe { go::GetMptWitness(c_config.as_ptr()) }; let c_str = unsafe { CStr::from_ptr(result) }; let json = c_str .to_str() diff --git a/rust-toolchain b/rust-toolchain index b6ce6a50ba..c5f610378b 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2023-04-24 +nightly-2024-02-14 diff --git a/testool/src/compiler.rs b/testool/src/compiler.rs index 53296cab3c..7f03d039f4 100644 --- a/testool/src/compiler.rs +++ b/testool/src/compiler.rs @@ -47,7 +47,6 @@ impl Cache { let entry = format!("{}={}\n", hex::encode(code_hash), hex::encode(&bytecode)); std::fs::OpenOptions::new() .read(true) - .write(true) .create(true) .append(true) .open(&self.path)? diff --git a/testool/src/statetest/results.rs b/testool/src/statetest/results.rs index 98b0fa5247..e07e74c383 100644 --- a/testool/src/statetest/results.rs +++ b/testool/src/statetest/results.rs @@ -392,7 +392,6 @@ impl Results { if let Some(path) = &self.cache { let mut file = std::fs::OpenOptions::new() .read(true) - .write(true) .create(true) .append(true) .open(path)?; @@ -441,7 +440,6 @@ impl Results { if let Some(path) = &self.cache { std::fs::OpenOptions::new() .read(true) - .write(true) .create(true) .append(true) .open(path)? diff --git a/testool/src/statetest/yaml.rs b/testool/src/statetest/yaml.rs index 3fe0b2eba3..967e4ec8e8 100644 --- a/testool/src/statetest/yaml.rs +++ b/testool/src/statetest/yaml.rs @@ -410,6 +410,8 @@ impl<'a> YamlStateTestBuilder<'a> { #[cfg(test)] mod test { + use std::fmt::Display; + use super::*; use crate::{ config::TestSuite, @@ -524,9 +526,9 @@ arith: } } } - impl ToString for Template { - fn to_string(&self) -> String { - TEMPLATE + impl Display for Template { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let str = TEMPLATE .replace("{{ gas_limit }}", &self.gas_limit) .replace("{{ pre_code }}", &self.pre_code) .replace("{{ res_storage }}", &self.res_storage) @@ -540,7 +542,8 @@ arith: } else { "Istanbul" }, - ) + ); + f.write_str(&str) } } diff --git a/testool/src/utils.rs b/testool/src/utils.rs index e4e4d647ba..fca65d0de0 100644 --- a/testool/src/utils.rs +++ b/testool/src/utils.rs @@ -181,18 +181,12 @@ pub fn current_submodule_git_commit() -> Result { pub fn bytecode_of(code: &str) -> anyhow::Result { let bytecode = if let Ok(bytes) = hex::decode(code) { - match Bytecode::try_from(bytes.clone()) { - Ok(bytecode) => { - for op in bytecode.iter() { - info!("{}", op.to_string()); - } - bytecode - } - Err(err) => { - error!("Failed to parse bytecode {:?}", err); - Bytecode::from_raw_unchecked(bytes) - } + let bytecode = Bytecode::from(bytes.clone()); + + for op in bytecode.iter() { + info!("{}", op.to_string()); } + bytecode } else { let mut bytecode = Bytecode::default(); for op in code.split(',') { diff --git a/zkevm-circuits/src/bytecode_circuit.rs b/zkevm-circuits/src/bytecode_circuit.rs index 5cd71e9b72..b02f233868 100644 --- a/zkevm-circuits/src/bytecode_circuit.rs +++ b/zkevm-circuits/src/bytecode_circuit.rs @@ -347,7 +347,7 @@ impl SubCircuitConfig for BytecodeCircuitConfig { is_byte(meta), ]); - let lookup_columns = vec![value, push_data_size]; + let lookup_columns = [value, push_data_size]; let mut constraints = vec![]; diff --git a/zkevm-circuits/src/circuit_tools/cell_manager.rs b/zkevm-circuits/src/circuit_tools/cell_manager.rs index 4063e24ca1..5dae4ef2af 100644 --- a/zkevm-circuits/src/circuit_tools/cell_manager.rs +++ b/zkevm-circuits/src/circuit_tools/cell_manager.rs @@ -239,7 +239,7 @@ impl Eq for CellColumn {} impl PartialOrd for CellColumn { fn partial_cmp(&self, other: &Self) -> Option { - self.height.partial_cmp(&other.height) + Some(self.cmp(other)) } } diff --git a/zkevm-circuits/src/circuit_tools/constraint_builder.rs b/zkevm-circuits/src/circuit_tools/constraint_builder.rs index 3c1e8126e6..814b2eaa0f 100644 --- a/zkevm-circuits/src/circuit_tools/constraint_builder.rs +++ b/zkevm-circuits/src/circuit_tools/constraint_builder.rs @@ -322,7 +322,7 @@ impl ConstraintBuilder { pub(crate) fn query_default(&mut self) -> Cell { self.query_cells_dyn(C::default(), 1) - .get(0) + .first() .expect("No cell found") .clone() } @@ -536,7 +536,7 @@ impl ConstraintBuilder { )); self.stored_expressions .entry(self.region_id) - .or_insert_with(Vec::new) + .or_default() .push(StoredExpression { name, cell: cell.clone(), diff --git a/zkevm-circuits/src/copy_circuit.rs b/zkevm-circuits/src/copy_circuit.rs index 7e9cc18759..489dfbcca2 100644 --- a/zkevm-circuits/src/copy_circuit.rs +++ b/zkevm-circuits/src/copy_circuit.rs @@ -363,7 +363,7 @@ impl SubCircuitConfig for CopyCircuitConfig { 0.expr(), // init_val_hi ] .into_iter() - .zip_eq(rw_table.table_exprs(meta).into_iter()) + .zip_eq(rw_table.table_exprs(meta)) .map(|(arg, table)| (cond.clone() * arg, table)) .collect() }); @@ -388,7 +388,7 @@ impl SubCircuitConfig for CopyCircuitConfig { 0.expr(), // init_val_hi ] .into_iter() - .zip_eq(rw_table.table_exprs(meta).into_iter()) + .zip_eq(rw_table.table_exprs(meta)) .map(|(arg, table)| (cond.clone() * arg, table)) .collect() }); @@ -406,7 +406,7 @@ impl SubCircuitConfig for CopyCircuitConfig { meta.query_advice(value, Rotation::cur()), ] .into_iter() - .zip_eq(bytecode_table.table_exprs(meta).into_iter()) + .zip_eq(bytecode_table.table_exprs(meta)) .map(|(arg, table)| (cond.clone() * arg, table)) .collect() }); @@ -423,7 +423,7 @@ impl SubCircuitConfig for CopyCircuitConfig { meta.query_advice(value, Rotation::cur()), ] .into_iter() - .zip(tx_table.table_exprs(meta).into_iter()) + .zip(tx_table.table_exprs(meta)) .map(|(arg, table)| (cond.clone() * arg, table)) .collect() }); @@ -807,7 +807,7 @@ impl CopyCircuit { Self { copy_events, max_copy_rows, - _marker: PhantomData::default(), + _marker: PhantomData, external_data: ExternalData::default(), } } @@ -821,7 +821,7 @@ impl CopyCircuit { Self { copy_events, max_copy_rows, - _marker: PhantomData::default(), + _marker: PhantomData, external_data, } } diff --git a/zkevm-circuits/src/evm_circuit/execution.rs b/zkevm-circuits/src/evm_circuit/execution.rs index 87595ef6af..1f7ed1c19e 100644 --- a/zkevm-circuits/src/evm_circuit/execution.rs +++ b/zkevm-circuits/src/evm_circuit/execution.rs @@ -974,7 +974,7 @@ impl ExecutionConfig { .txs .last() .map(|tx| tx.calls()[0].clone()) - .unwrap_or_else(Call::default); + .unwrap_or_default(); let end_block_not_last = &block.end_block_not_last; let end_block_last = &block.end_block_last; // Collect all steps diff --git a/zkevm-circuits/src/evm_circuit/execution/error_oog_precompile.rs b/zkevm-circuits/src/evm_circuit/execution/error_oog_precompile.rs index 4dd3df7ca8..5242dbc363 100644 --- a/zkevm-circuits/src/evm_circuit/execution/error_oog_precompile.rs +++ b/zkevm-circuits/src/evm_circuit/execution/error_oog_precompile.rs @@ -63,7 +63,7 @@ impl ExecutionGadget for ErrorOOGPrecompileGadget { }); // calculate required gas for precompile - let precompiles_required_gas = vec![ + let precompiles_required_gas = [ // ( // addr_bits.value_equals(PrecompileCalls::ECRecover), // GasCost::PRECOMPILE_ECRECOVER_BASE.expr(), diff --git a/zkevm-circuits/src/evm_circuit/execution/mulmod.rs b/zkevm-circuits/src/evm_circuit/execution/mulmod.rs index d2d021c6f7..65bf39dd28 100644 --- a/zkevm-circuits/src/evm_circuit/execution/mulmod.rs +++ b/zkevm-circuits/src/evm_circuit/execution/mulmod.rs @@ -60,13 +60,13 @@ impl ExecutionGadget for MulModGadget { let d = cb.query_word32(); let e = cb.query_word32(); - // 1. k1 * n + a_reduced == a + // 1. k1 * n + a_reduced == a let modword = ModGadget::construct(cb, [&a, &n, &a_reduced]); - // 2. a_reduced * b + 0 == d * 2^256 + e + // 2. a_reduced * b + 0 == d * 2^256 + e let mul512_left = MulAddWords512Gadget::construct(cb, [&a_reduced, &b, &d, &e], None); - // 3. k2 * n + r == d * 2^256 + e + // 3. k2 * n + r == d * 2^256 + e let mul512_right = MulAddWords512Gadget::construct(cb, [&k, &n, &d, &e], Some(&r)); // (r < n ) or n == 0 diff --git a/zkevm-circuits/src/evm_circuit/execution/shl_shr.rs b/zkevm-circuits/src/evm_circuit/execution/shl_shr.rs index ef822f0074..5dba3de3e4 100644 --- a/zkevm-circuits/src/evm_circuit/execution/shl_shr.rs +++ b/zkevm-circuits/src/evm_circuit/execution/shl_shr.rs @@ -179,9 +179,7 @@ impl ExecutionGadget for ShlShrGadget { let shf_lt256 = pop1 .to_le_bytes() .iter() - .fold(Some(0_u64), |acc, val| { - acc.and_then(|acc| acc.checked_add(u64::from(*val))) - }) + .try_fold(0u64, |acc, val| acc.checked_add(u64::from(*val))) .unwrap() - shf0; let divisor = if shf_lt256 == 0 { diff --git a/zkevm-circuits/src/evm_circuit/execution/signextend.rs b/zkevm-circuits/src/evm_circuit/execution/signextend.rs index 093688bea0..faec033ad9 100644 --- a/zkevm-circuits/src/evm_circuit/execution/signextend.rs +++ b/zkevm-circuits/src/evm_circuit/execution/signextend.rs @@ -280,7 +280,7 @@ mod test { let pos_extend = 0u8; let neg_extend = 0xFFu8; - for (value, byte_extend) in vec![(pos_value, pos_extend), (neg_value, neg_extend)].iter() { + for (value, byte_extend) in [(pos_value, pos_extend), (neg_value, neg_extend)].iter() { for idx in 0..33 { test_ok( (idx as u64).into(), diff --git a/zkevm-circuits/src/evm_circuit/step.rs b/zkevm-circuits/src/evm_circuit/step.rs index bc301f2076..b17b7619eb 100644 --- a/zkevm-circuits/src/evm_circuit/step.rs +++ b/zkevm-circuits/src/evm_circuit/step.rs @@ -29,7 +29,7 @@ use halo2_proofs::{ circuit::Value, plonk::{Advice, Column, ConstraintSystem, Error, Expression}, }; -use std::{fmt::Display, iter}; +use std::{fmt::Display, iter, marker::ConstParamTy}; use strum::IntoEnumIterator; use strum_macros::EnumIter; @@ -50,7 +50,7 @@ impl From for ExecutionState { } #[allow(non_camel_case_types, missing_docs)] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, EnumIter)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, EnumIter, ConstParamTy)] /// All the possible execution states that the computation of EVM can arrive. /// Some states are shared by multiple opcodes. pub enum ExecutionState { diff --git a/zkevm-circuits/src/evm_circuit/util/constraint_builder.rs b/zkevm-circuits/src/evm_circuit/util/constraint_builder.rs index 8d58c5b18e..faa52eb515 100644 --- a/zkevm-circuits/src/evm_circuit/util/constraint_builder.rs +++ b/zkevm-circuits/src/evm_circuit/util/constraint_builder.rs @@ -207,7 +207,8 @@ pub(crate) trait ConstrainBuilderCommon { .fold(1.expr(), |acc, item| acc * (value.clone() - item.clone())), ); } - + /// Under active development + #[allow(dead_code)] fn add_constraints(&mut self, constraints: Vec<(&'static str, Expression)>) { for (name, constraint) in constraints { self.add_constraint(name, constraint); diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/add_words.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/add_words.rs index 8ad2e86284..0978d32ab8 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/add_words.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/add_words.rs @@ -221,27 +221,27 @@ mod tests { #[test] fn test_addwords_0_0() { - try_test!(AddWordsTestContainer, vec![Word::from(0), Word::from(0), Word::from(0)], true); + try_test!(AddWordsTestContainer, [Word::from(0), Word::from(0), Word::from(0)], true); } #[test] fn test_addwords_1_1() { - try_test!(AddWordsTestContainer, vec![Word::from(1), Word::from(1), Word::from(2)], true); + try_test!(AddWordsTestContainer, [Word::from(1), Word::from(1), Word::from(2)], true); } #[test] fn test_addwords_1000_1000() { - try_test!(AddWordsTestContainer, vec![Word::from(1000), Word::from(1000), Word::from(2000)], true); + try_test!(AddWordsTestContainer, [Word::from(1000), Word::from(1000), Word::from(2000)], true); } #[test] fn test_addwords_to_wordmax() { - try_test!(AddWordsTestContainer, vec![Word::MAX - 1, Word::from(1), Word::MAX], true); + try_test!(AddWordsTestContainer, [Word::MAX - 1, Word::from(1), Word::MAX], true); } #[test] fn test_addwords_high_low_max() { - try_test!(AddWordsTestContainer, vec![WORD_LOW_MAX, WORD_HIGH_MAX, Word::MAX], true); + try_test!(AddWordsTestContainer, [WORD_LOW_MAX, WORD_HIGH_MAX, Word::MAX], true); } #[test] @@ -291,7 +291,7 @@ mod tests { let sum_7_low_max = U256([0xfffffffffffffff9u64, 0xffffffffffffffffu64, CARRY_HI, 0u64]); try_test!( AddWordsTestContainer, - vec![ + [ WORD_LOW_MAX, WORD_LOW_MAX, WORD_LOW_MAX, diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/byte_size.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/byte_size.rs index 1d82f26f0d..34f86127ec 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/byte_size.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/byte_size.rs @@ -86,7 +86,7 @@ impl ByteSizeGadget { region, offset, Value::known( - F::from(u64::try_from(most_significant_nonzero_byte).unwrap()) + F::from(u64::from(most_significant_nonzero_byte)) .invert() .unwrap(), ), @@ -157,18 +157,18 @@ mod tests { #[test] fn test_bytesize_0() { - try_test!(ByteSizeGadgetContainer, vec![Word::from(0)], true) + try_test!(ByteSizeGadgetContainer, [Word::from(0)], true) } #[test] fn test_bytesize_1() { - try_test!(ByteSizeGadgetContainer, vec![Word::from(1)], true) + try_test!(ByteSizeGadgetContainer, [Word::from(1)], true) } #[test] fn test_bytesize_1_neq_0() { try_test!(ByteSizeGadgetContainer, - vec![Word::from(1)], + [Word::from(1)], false ); } @@ -176,13 +176,13 @@ mod tests { #[test] fn test_bytesize_256_eq_2() { try_test!(ByteSizeGadgetContainer, - vec![Word::from(256)], + [Word::from(256)], true ); } #[test] fn test_bytesize_wordmax_eq_32() { - try_test!(ByteSizeGadgetContainer, vec![Word::MAX], true) + try_test!(ByteSizeGadgetContainer, [Word::MAX], true) } } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/cmp_words.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/cmp_words.rs index 44fc4248b0..c7b3e0288e 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/cmp_words.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/cmp_words.rs @@ -141,7 +141,7 @@ mod tests { // a == b check try_test!( CmpWordGadgetTestContainer, - vec![Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0)], true, ); } @@ -150,7 +150,7 @@ mod tests { fn test_cmpword_1_eq() { try_test!( CmpWordGadgetTestContainer, - vec![Word::from(1), Word::from(1)], + [Word::from(1), Word::from(1)], true, ); } @@ -159,7 +159,7 @@ mod tests { fn test_cmpword_wordmax_eq() { try_test!( CmpWordGadgetTestContainer, - vec![Word::MAX, Word::MAX], + [Word::MAX, Word::MAX], true, ); } @@ -168,7 +168,7 @@ mod tests { fn test_cmpword_0_neq_wordmax() { try_test!( CmpWordGadgetTestContainer, - vec![Word::from(0), Word::MAX], + [Word::from(0), Word::MAX], false, ); } @@ -178,7 +178,7 @@ mod tests { fn test_cmpword_0_lt_1() { try_test!( CmpWordGadgetTestContainer, - vec![Word::from(0), Word::from(1)], + [Word::from(0), Word::from(1)], true, ); } @@ -187,7 +187,7 @@ mod tests { fn test_cmpword_1_lt_wordmax() { try_test!( CmpWordGadgetTestContainer, - vec![Word::from(1), Word::MAX], + [Word::from(1), Word::MAX], true, ); } @@ -196,7 +196,7 @@ mod tests { fn test_cmpword_1_lt_0() { try_test!( CmpWordGadgetTestContainer, - vec![Word::from(1), Word::from(0)], + [Word::from(1), Word::from(0)], false, ); } @@ -205,7 +205,7 @@ mod tests { fn test_cmpword_lowmax_lt_highmax() { try_test!( CmpWordGadgetTestContainer, - vec![WORD_LOW_MAX, WORD_HIGH_MAX], + [WORD_LOW_MAX, WORD_HIGH_MAX], true, ); } @@ -214,7 +214,7 @@ mod tests { fn test_cmpword_highmax_lt_lowmax() { try_test!( CmpWordGadgetTestContainer, - vec![WORD_HIGH_MAX, WORD_LOW_MAX], + [WORD_HIGH_MAX, WORD_LOW_MAX], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/comparison.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/comparison.rs index af4d244f1d..60e4e4ea5d 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/comparison.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/comparison.rs @@ -107,7 +107,7 @@ mod tests { // a == b check try_test!( ComparisonTestContainer, - vec![Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0)], true, ); } @@ -116,7 +116,7 @@ mod tests { fn test_comparison_1_eq() { try_test!( ComparisonTestContainer, - vec![Word::from(1), Word::from(1)], + [Word::from(1), Word::from(1)], true, ); } @@ -125,7 +125,7 @@ mod tests { fn test_comparison_max_eq() { try_test!( ComparisonTestContainer, - vec![Word::from(1 << 4), Word::from(1 << 4)], + [Word::from(1 << 4), Word::from(1 << 4)], true, ); } @@ -134,7 +134,7 @@ mod tests { fn test_comparison_0_neq_max() { try_test!( ComparisonTestContainer, - vec![Word::from(0), Word::from(1 << 4)], + [Word::from(0), Word::from(1 << 4)], false, ); } @@ -144,7 +144,7 @@ mod tests { fn test_comparison_0_lt_1() { try_test!( ComparisonTestContainer, - vec![Word::from(0), Word::from(1)], + [Word::from(0), Word::from(1)], true, ); } @@ -153,7 +153,7 @@ mod tests { fn test_comparison_1_lt_max() { try_test!( ComparisonTestContainer, - vec![Word::from(1), Word::from(1 << 4)], + [Word::from(1), Word::from(1 << 4)], true, ); } @@ -162,7 +162,7 @@ mod tests { fn test_comparison_1_lt_0() { try_test!( ComparisonTestContainer, - vec![Word::from(1), Word::from(0)], + [Word::from(1), Word::from(0)], false, ); } @@ -174,13 +174,13 @@ mod tests { let half_max_hi = U256([0, u64::MAX, 0, 0]); try_test!( ComparisonTestContainer, - vec![half_max_lo, half_max_hi], + [half_max_lo, half_max_hi], true, ); try_test!( ComparisonTestContainer, - vec![half_max_hi, half_max_lo], + [half_max_hi, half_max_lo], false, ); } @@ -189,7 +189,7 @@ mod tests { fn test_comparison_overflow() { try_test!( ComparisonTestContainer, - vec![Word::from(10000), Word::from(1 << (4 + 1))], + [Word::from(10000), Word::from(1 << (4 + 1))], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/constant_division.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/constant_division.rs index dff6e51a6b..ed32eae807 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/constant_division.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/constant_division.rs @@ -154,7 +154,7 @@ mod tests { fn test_constantdivisiongadget_0div5_rem0() { try_test!( ConstantDivisionTestContainer, - vec![Word::from(0)], + [Word::from(0)], true, ); } @@ -163,7 +163,7 @@ mod tests { fn test_constantdivisiongadget_5div5_rem0() { try_test!( ConstantDivisionTestContainer, - vec![Word::from(5)], + [Word::from(5)], true, ); } @@ -172,7 +172,7 @@ mod tests { fn test_constantdivisiongadget_1div5_rem1() { try_test!( ConstantDivisionTestContainer, - vec![Word::from(1)], + [Word::from(1)], true, ); } @@ -181,7 +181,7 @@ mod tests { fn test_constantdivisiongadget_1div5_rem4() { try_test!( ConstantDivisionTestContainer, - vec![Word::from(1)], + [Word::from(1)], false, ); } @@ -190,7 +190,7 @@ mod tests { fn test_constantdivisiongadget_quotient_overflow() { try_test!( ConstantDivisionTestContainer, - vec![Word::from(1u64 << (4 * 8)) * 5 + 1], + [Word::from(1u64 << (4 * 8)) * 5 + 1], false, ); } @@ -199,7 +199,7 @@ mod tests { fn test_constantdivisiongadget_33_div16_rem17() { try_test!( ConstantDivisionTestContainer, - vec![Word::from(33)], + [Word::from(33)], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/is_equal.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/is_equal.rs index 69c8c092b8..8e26ccf089 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/is_equal.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/is_equal.rs @@ -83,7 +83,7 @@ mod tests { fn test_isequal_0() { try_test!( IsEqualGadgetTestContainer, - vec![Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0)], true, ); } @@ -92,7 +92,7 @@ mod tests { fn test_isequal_1() { try_test!( IsEqualGadgetTestContainer, - vec![Word::from(1), Word::from(1)], + [Word::from(1), Word::from(1)], true, ); } @@ -101,7 +101,7 @@ mod tests { fn test_isequal_1000() { try_test!( IsEqualGadgetTestContainer, - vec![Word::from(1000), Word::from(1000)], + [Word::from(1000), Word::from(1000)], true, ); } @@ -110,7 +110,7 @@ mod tests { fn test_isequal_1_0() { try_test!( IsEqualGadgetTestContainer, - vec![Word::from(1), Word::from(0)], + [Word::from(1), Word::from(0)], false, ); } @@ -119,7 +119,7 @@ mod tests { fn test_isequal_0_1() { try_test!( IsEqualGadgetTestContainer, - vec![Word::from(0), Word::from(1)], + [Word::from(0), Word::from(1)], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/is_zero.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/is_zero.rs index 5e88655313..c9fbcb4d42 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/is_zero.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/is_zero.rs @@ -100,20 +100,16 @@ mod tests { #[test] fn test_0_is_zero() { - try_test!(IsZeroGadgetTestContainer, vec![Word::from(0)], true); + try_test!(IsZeroGadgetTestContainer, [Word::from(0)], true); } #[test] fn test_1_is_not_zero() { - try_test!(IsZeroGadgetTestContainer, vec![Word::from(1)], false); + try_test!(IsZeroGadgetTestContainer, [Word::from(1)], false); } #[test] fn test_large_num_is_not_zero() { - try_test!( - IsZeroGadgetTestContainer, - vec![Word::from(10000)], - false, - ); + try_test!(IsZeroGadgetTestContainer, [Word::from(10000)], false,); } } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/lt.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/lt.rs index 51366b5480..5801141d59 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/lt.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/lt.rs @@ -148,12 +148,12 @@ mod tests { fn test_lt_expect() { try_test!( LtGadgetTestContainer, - vec![Word::from(0), Word::from(1)], + [Word::from(0), Word::from(1)], true, ); try_test!( LtGadgetTestContainer, - vec![Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0)], false, ); } @@ -162,7 +162,7 @@ mod tests { fn test_lt_just_in_range() { try_test!( LtGadgetTestContainer, - vec![Word::from(1), Word::from((1u64 << (N * 8)) - 1)], + [Word::from(1), Word::from((1u64 << (N * 8)) - 1)], true, ); } @@ -171,7 +171,7 @@ mod tests { fn test_lt_out_of_range() { try_test!( LtGadgetTestContainer, - vec![Word::from(1), Word::from(2 << (N * 8))], + [Word::from(1), Word::from(2 << (N * 8))], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/lt_word.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/lt_word.rs index b5499f2e1b..dff46d9a57 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/lt_word.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/lt_word.rs @@ -113,27 +113,19 @@ mod tests { fn test_ltword_expect() { try_test!( LtWordTestContainer, - vec![Word::from(0), Word::from(1)], + [Word::from(0), Word::from(1)], true, ); + try_test!(LtWordTestContainer, [Word::from(1), Word::MAX], true,); + try_test!(LtWordTestContainer, [WORD_LOW_MAX, WORD_HIGH_MAX], true,); try_test!( LtWordTestContainer, - vec![Word::from(1), Word::MAX], + [Word::from(90), WORD_LOW_MAX], true, ); try_test!( LtWordTestContainer, - vec![WORD_LOW_MAX, WORD_HIGH_MAX], - true, - ); - try_test!( - LtWordTestContainer, - vec![Word::from(90), WORD_LOW_MAX], - true, - ); - try_test!( - LtWordTestContainer, - vec![Word::from(90), WORD_HIGH_MAX], + [Word::from(90), WORD_HIGH_MAX], true, ); } @@ -142,14 +134,14 @@ mod tests { fn test_ltword_unexpect() { try_test!( LtWordTestContainer, - vec![Word::from(1), Word::from(0)], + [Word::from(1), Word::from(0)], false, ); - try_test!(LtWordTestContainer, vec![Word::MAX, Word::MAX], false,); + try_test!(LtWordTestContainer, [Word::MAX, Word::MAX], false,); try_test!( LtWordTestContainer, - vec![WORD_HIGH_MAX, WORD_LOW_MAX], + [WORD_HIGH_MAX, WORD_LOW_MAX], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/min_max.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/min_max.rs index f5201d40e1..b2b4589bcc 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/min_max.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/min_max.rs @@ -110,17 +110,17 @@ mod tests { // a == b try_test!( MinMaxTestContainer, - vec![Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0)], true, ); try_test!( MinMaxTestContainer, - vec![Word::from(5), Word::from(5)], + [Word::from(5), Word::from(5)], true, ); try_test!( MinMaxTestContainer, - vec![WORD_LOW_MAX, WORD_LOW_MAX], + [WORD_LOW_MAX, WORD_LOW_MAX], true, ); } @@ -130,17 +130,17 @@ mod tests { // min == a, max == b try_test!( MinMaxTestContainer, - vec![Word::from(0), Word::from(1)], + [Word::from(0), Word::from(1)], true, ); try_test!( MinMaxTestContainer, - vec![Word::from(3), Word::from(5)], + [Word::from(3), Word::from(5)], true, ); try_test!( MinMaxTestContainer, - vec![WORD_LOW_MAX, WORD_LOW_MAX], + [WORD_LOW_MAX, WORD_LOW_MAX], true, ); } @@ -150,17 +150,17 @@ mod tests { // min == b, max == a try_test!( MinMaxTestContainer, - vec![Word::from(1), Word::from(0)], + [Word::from(1), Word::from(0)], false, ); try_test!( MinMaxTestContainer, - vec![Word::from(256), Word::from(3)], + [Word::from(256), Word::from(3)], false, ); try_test!( MinMaxTestContainer, - vec![WORD_LOW_MAX, Word::from(123456)], + [WORD_LOW_MAX, Word::from(123456)], false, ); } @@ -170,19 +170,19 @@ mod tests { // min == a, max == b try_test!( MinMaxTestContainer, - vec![Word::from(1), Word::from(0)], + [Word::from(1), Word::from(0)], true, ); try_test!( MinMaxTestContainer, - vec![Word::from(777), Word::from(44)], + [Word::from(777), Word::from(44)], true, ); try_test!( MinMaxTestContainer, - vec![WORD_LOW_MAX+1, WORD_LOW_MAX], + [WORD_LOW_MAX+1, WORD_LOW_MAX], true, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/modulo.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/modulo.rs index 28779640cf..0c1ffdca6e 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/modulo.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/modulo.rs @@ -156,37 +156,37 @@ mod tests { fn test_mod_n_expected_rem() { try_test!( ModGadgetTestContainer, - vec![Word::from(0), Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0), Word::from(0)], true, ); try_test!( ModGadgetTestContainer, - vec![Word::from(1), Word::from(0), Word::from(0)], + [Word::from(1), Word::from(0), Word::from(0)], true, ); try_test!( ModGadgetTestContainer, - vec![Word::from(548), Word::from(50), Word::from(48)], + [Word::from(548), Word::from(50), Word::from(48)], true, ); try_test!( ModGadgetTestContainer, - vec![Word::from(30), Word::from(50), Word::from(30)], + [Word::from(30), Word::from(50), Word::from(30)], true, ); try_test!( ModGadgetTestContainer, - vec![WORD_LOW_MAX, Word::from(1024), Word::from(1023)], + [WORD_LOW_MAX, Word::from(1024), Word::from(1023)], true, ); try_test!( ModGadgetTestContainer, - vec![WORD_HIGH_MAX, Word::from(1024), Word::from(0)], + [WORD_HIGH_MAX, Word::from(1024), Word::from(0)], true, ); try_test!( ModGadgetTestContainer, - vec![WORD_CELL_MAX, Word::from(2), Word::from(0)], + [WORD_CELL_MAX, Word::from(2), Word::from(0)], true, ); } @@ -203,7 +203,7 @@ mod tests { // ModGadget, the statement would be invalid in the ModGadget. try_test!( ModGadgetTestContainer, - vec![ + [ Word::from(2), Word::from(3), Word::from(0), @@ -214,27 +214,27 @@ mod tests { ); try_test!( ModGadgetTestContainer, - vec![Word::from(1), Word::from(1), Word::from(1)], + [Word::from(1), Word::from(1), Word::from(1)], false, ); try_test!( ModGadgetTestContainer, - vec![Word::from(46), Word::from(50), Word::from(48)], + [Word::from(46), Word::from(50), Word::from(48)], false, ); try_test!( ModGadgetTestContainer, - vec![WORD_LOW_MAX, Word::from(999999), Word::from(888888)], + [WORD_LOW_MAX, Word::from(999999), Word::from(888888)], false, ); try_test!( ModGadgetTestContainer, - vec![WORD_CELL_MAX, Word::from(999999999), Word::from(666666666)], + [WORD_CELL_MAX, Word::from(999999999), Word::from(666666666)], false, ); try_test!( ModGadgetTestContainer, - vec![WORD_HIGH_MAX, Word::from(999999), Word::from(777777)], + [WORD_HIGH_MAX, Word::from(999999), Word::from(777777)], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words.rs index e94d49897b..b526e6380e 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words.rs @@ -211,7 +211,7 @@ mod tests { // 0 * 0 + 0 == 0 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(0), Word::from(0), Word::from(0), @@ -223,7 +223,7 @@ mod tests { // 1 * 0 + 0 == 0 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(1), Word::from(0), Word::from(0), @@ -235,7 +235,7 @@ mod tests { // 1 * 1 + 0 == 1 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(1), Word::from(1), Word::from(0), @@ -247,7 +247,7 @@ mod tests { // 1 * 1 + 1 == 2 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(1), Word::from(1), Word::from(1), @@ -259,7 +259,7 @@ mod tests { // 100 * 54 + 98 == 5498 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(100), Word::from(54), Word::from(98), @@ -271,7 +271,7 @@ mod tests { // 100 * 54 + low_max == low_max + 5400 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(100), Word::from(54), WORD_LOW_MAX, @@ -283,7 +283,7 @@ mod tests { // 100 * 54 + high_max == high_max + 5400 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(100), Word::from(54), WORD_HIGH_MAX, @@ -299,7 +299,7 @@ mod tests { // high_max + low_max + 1 == 0 with overflow 1 try_test!( MulAddGadgetContainer, - vec![ + [ WORD_LOW_MAX + 1, Word::from(1), WORD_HIGH_MAX, @@ -318,7 +318,7 @@ mod tests { // overflow == 73786976294838206460 + ((1<<64)-1)*((1<<64)-1)*6 try_test!( MulAddGadgetContainer, - vec![ + [ Word::MAX, Word::MAX, Word::MAX, @@ -334,7 +334,7 @@ mod tests { // 10 * 1 + 1 != 3 try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(10), Word::from(1), Word::from(1), @@ -347,7 +347,7 @@ mod tests { // 1 * 1 + 1 != word_max, no underflow try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(1), Word::from(1), Word::from(1), @@ -360,7 +360,7 @@ mod tests { // 100 * 54 + high_max == high_max + 5400, no overflow try_test!( MulAddGadgetContainer, - vec![ + [ Word::from(100), Word::from(54), WORD_HIGH_MAX, @@ -373,7 +373,7 @@ mod tests { // (low_max + 1) * 1 + high_max == 0 with overflow 1 try_test!( MulAddGadgetContainer, - vec![ + [ WORD_LOW_MAX + 1, Word::from(1), WORD_HIGH_MAX, diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words512.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words512.rs index 27562c961b..fed7c98d87 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words512.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_add_words512.rs @@ -258,7 +258,7 @@ mod tests { // 0 * 0 + 0 == 0 * 2**256 + 0 try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(0), Word::from(0), Word::from(0), @@ -270,7 +270,7 @@ mod tests { // 1 * 0 + 0 == 0 * 2**256 + 0 try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(1), Word::from(0), Word::from(0), @@ -282,7 +282,7 @@ mod tests { // 1 * 1 + 0 == 0 * 2**256 + 1 try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(1), Word::from(1), Word::from(0), @@ -294,7 +294,7 @@ mod tests { // 100 * 54 + 0 == 0 * 2**256 + 5400 try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(100), Word::from(54), Word::from(0), @@ -306,7 +306,7 @@ mod tests { // 100 * 54 + max == 1 * 2**256 + 5400 try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(100), Word::from(54), Word::from(1), @@ -318,7 +318,7 @@ mod tests { // 100 * 54 + low_max == 0 * 2**256 + 5400 + low_max try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(100), Word::from(54), Word::from(0), @@ -330,7 +330,7 @@ mod tests { // 100 * 54 + high_max == 0 * 2**256 + 5400 + high_max try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(100), Word::from(54), Word::from(0), @@ -346,7 +346,7 @@ mod tests { // 10 * 1 + 0 != 1 * 2**256 + 3 try_test!( MulAddWords512GadgetContainer, - vec![ + [ Word::from(10), Word::from(1), Word::from(1), diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_word_u64.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_word_u64.rs index 220235a002..ec3d6e69aa 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_word_u64.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/mul_word_u64.rs @@ -142,43 +142,43 @@ mod tests { // 0 * 0 = 0 try_test!( MulWordByU64TestContainer, - vec![Word::from(0), Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0), Word::from(0)], true, ); // max * 0 = 0 try_test!( MulWordByU64TestContainer, - vec![Word::MAX, Word::from(0), Word::from(0)], + [Word::MAX, Word::from(0), Word::from(0)], true, ); // 1 * 1 = 1 try_test!( MulWordByU64TestContainer, - vec![Word::from(1), Word::from(1), Word::from(1)], + [Word::from(1), Word::from(1), Word::from(1)], true, ); // max * 1 = max try_test!( MulWordByU64TestContainer, - vec![Word::MAX, Word::from(1), Word::MAX], + [Word::MAX, Word::from(1), Word::MAX], true, ); // 2 * 2 = 4 try_test!( MulWordByU64TestContainer, - vec![Word::from(2), Word::from(2), Word::from(4)], + [Word::from(2), Word::from(2), Word::from(4)], true, ); // 22222 * 500 = 11111000 try_test!( MulWordByU64TestContainer, - vec![Word::from(22222), Word::from(500), Word::from(11111000)], + [Word::from(22222), Word::from(500), Word::from(11111000)], true, ); // low_max * 2 = low_max << 1 try_test!( MulWordByU64TestContainer, - vec![WORD_LOW_MAX, Word::from(2), WORD_LOW_MAX << 1], + [WORD_LOW_MAX, Word::from(2), WORD_LOW_MAX << 1], true, ); } @@ -187,13 +187,13 @@ mod tests { fn test_mulwordu64_unexpect() { try_test!( MulWordByU64TestContainer, - vec![Word::MAX, Word::from(1), Word::from(1)], + [Word::MAX, Word::from(1), Word::from(1)], false, ); // high_max * 2 = overflow try_test!( MulWordByU64TestContainer, - vec![WORD_HIGH_MAX, Word::from(2), WORD_HIGH_MAX << 1], + [WORD_HIGH_MAX, Word::from(2), WORD_HIGH_MAX << 1], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/pair_select.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/pair_select.rs index 5282aecded..90a562965d 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/pair_select.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/pair_select.rs @@ -128,12 +128,12 @@ mod tests { fn test_pairselect_eq() { try_test!( PairSelectionTestContainer, - vec![Word::from(0), Word::from(0), Word::from(0)], + [Word::from(0), Word::from(0), Word::from(0)], true, ); try_test!( PairSelectionTestContainer, - vec![Word::from(2898), Word::from(2898), Word::from(2898)], + [Word::from(2898), Word::from(2898), Word::from(2898)], true, ); } @@ -142,17 +142,17 @@ mod tests { fn test_pairselect_expect_a_and_a() { try_test!( PairSelectionTestContainer, - vec![Word::from(0), Word::from(0), Word::from(1)], + [Word::from(0), Word::from(0), Word::from(1)], true, ); try_test!( PairSelectionTestContainer, - vec![Word::from(2898), Word::from(2898), Word::from(1)], + [Word::from(2898), Word::from(2898), Word::from(1)], true, ); try_test!( PairSelectionTestContainer, - vec![WORD_LOW_MAX, WORD_LOW_MAX, Word::from(1)], + [WORD_LOW_MAX, WORD_LOW_MAX, Word::from(1)], true, ); } @@ -161,12 +161,12 @@ mod tests { fn test_pairselect_expect_a_but_b() { try_test!( PairSelectionTestContainer, - vec![Word::from(0), Word::from(1), Word::from(0)], + [Word::from(0), Word::from(1), Word::from(0)], false, ); try_test!( PairSelectionTestContainer, - vec![Word::from(2989), Word::from(1), Word::from(2989)], + [Word::from(2989), Word::from(1), Word::from(2989)], false, ); } @@ -175,12 +175,12 @@ mod tests { fn test_pairselect_expect_b_and_b() { try_test!( PairSelectionTestContainer, - vec![Word::from(0), Word::from(1), Word::from(0)], + [Word::from(0), Word::from(1), Word::from(0)], true, ); try_test!( PairSelectionTestContainer, - vec![Word::from(2989), Word::from(1), Word::from(2989)], + [Word::from(2989), Word::from(1), Word::from(2989)], true, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/range_check.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/range_check.rs index 989011c68a..abf282f66c 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/range_check.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/range_check.rs @@ -87,13 +87,13 @@ mod tests { #[test] fn test_rangecheck_just_in_range() { - try_test!(RangeCheckTestContainer, vec![Word::from(0)], true); + try_test!(RangeCheckTestContainer,[Word::from(0)], true); - try_test!(RangeCheckTestContainer, vec![Word::from(1)], true); + try_test!(RangeCheckTestContainer,[Word::from(1)], true); // max - 1 try_test!( RangeCheckTestContainer, - vec![Word::from((1u64 << 32) - 1)], + [Word::from((1u64 << 32) - 1)], true, ); } @@ -102,7 +102,7 @@ mod tests { fn test_rangecheck_out_of_range() { try_test!( RangeCheckTestContainer, - vec![Word::from(1u64 << 32)], + [Word::from(1u64 << 32)], false, ); } diff --git a/zkevm-circuits/src/evm_circuit/util/math_gadget/rlp.rs b/zkevm-circuits/src/evm_circuit/util/math_gadget/rlp.rs index 352a832c32..d6a8cff542 100644 --- a/zkevm-circuits/src/evm_circuit/util/math_gadget/rlp.rs +++ b/zkevm-circuits/src/evm_circuit/util/math_gadget/rlp.rs @@ -509,7 +509,7 @@ mod test { }; try_test!( ContractCreateGadgetContainer, - vec![ + [ caller_address.to_word(), Word::from(caller_nonce), rlp_len, diff --git a/zkevm-circuits/src/evm_circuit/util/memory_gadget.rs b/zkevm-circuits/src/evm_circuit/util/memory_gadget.rs index 3d13fb37a6..bbd2bbcfac 100644 --- a/zkevm-circuits/src/evm_circuit/util/memory_gadget.rs +++ b/zkevm-circuits/src/evm_circuit/util/memory_gadget.rs @@ -801,7 +801,7 @@ mod test { // buffer len = data len try_test!( BufferReaderGadgetTestContainer, - vec![ + [ Word::from(0), Word::from(2), Word::from(256), @@ -812,7 +812,7 @@ mod test { // buffer len > data len try_test!( BufferReaderGadgetTestContainer, - vec![ + [ Word::from(0), Word::from(2), Word::from(256), @@ -826,7 +826,7 @@ mod test { // buffer len < data len try_test!( BufferReaderGadgetTestContainer, - vec![ + [ Word::from(0), Word::from(1), Word::from(256), @@ -837,7 +837,7 @@ mod test { // buffer len <= 0 try_test!( BufferReaderGadgetTestContainer, - vec![ + [ Word::from(1), Word::from(0), Word::from(256), @@ -848,7 +848,7 @@ mod test { // empty buffer try_test!( BufferReaderGadgetTestContainer, - vec![ + [ Word::from(0), Word::from(0), Word::from(256), @@ -859,7 +859,7 @@ mod test { // MAX_BYTES < buffer size try_test!( BufferReaderGadgetTestContainer, - vec![ + [ Word::from(0), Word::from(31), Word::from(256), diff --git a/zkevm-circuits/src/exp_circuit.rs b/zkevm-circuits/src/exp_circuit.rs index 80a8173385..5251308dcd 100644 --- a/zkevm-circuits/src/exp_circuit.rs +++ b/zkevm-circuits/src/exp_circuit.rs @@ -490,7 +490,7 @@ impl ExpCircuit { Self { exp_events, max_exp_rows, - _marker: PhantomData::default(), + _marker: PhantomData, } } } diff --git a/zkevm-circuits/src/mpt_circuit/helpers.rs b/zkevm-circuits/src/mpt_circuit/helpers.rs index 2504f30a6d..b780b47a63 100644 --- a/zkevm-circuits/src/mpt_circuit/helpers.rs +++ b/zkevm-circuits/src/mpt_circuit/helpers.rs @@ -1339,7 +1339,7 @@ impl MainRLPGadget { ensure_minimal_rlp: cb.query_cell(), keccak_r: Some(cb.keccak_r.expr()), }; - let all_bytes = vec![vec![config.rlp_byte.clone()], config.bytes.clone()].concat(); + let all_bytes = [vec![config.rlp_byte.clone()], config.bytes.clone()].concat(); // Decode the RLP item config.rlp = diff --git a/zkevm-circuits/src/mpt_circuit/mod_extension.rs b/zkevm-circuits/src/mpt_circuit/mod_extension.rs index e5c2721048..c1ea30addd 100644 --- a/zkevm-circuits/src/mpt_circuit/mod_extension.rs +++ b/zkevm-circuits/src/mpt_circuit/mod_extension.rs @@ -100,8 +100,8 @@ impl ModExtensionGadget { (parent_data[1].hash.lo().expr(), parent_data[1].hash.hi().expr(), parent_data[1].drifted_parent_hash.lo().expr(), parent_data[1].drifted_parent_hash.hi().expr()) }}; - let parent_data_lo = vec![lo_s, lo_c]; - let parent_data_hi = vec![hi_s, hi_c]; + let parent_data_lo = [lo_s, lo_c]; + let parent_data_hi = [hi_s, hi_c]; let ( parent_data_rlc, key_rlc_before, @@ -139,7 +139,7 @@ impl ModExtensionGadget { for is_s in [true, false] { config.is_key_part_odd[is_s.idx()] = cb.query_cell(); - let items = vec![ + let items = [ key_items[is_s.idx()].clone(), key_nibbles[is_s.idx()].clone(), ]; diff --git a/zkevm-circuits/src/mpt_circuit/start.rs b/zkevm-circuits/src/mpt_circuit/start.rs index 0e1fce33b6..37ee126e36 100644 --- a/zkevm-circuits/src/mpt_circuit/start.rs +++ b/zkevm-circuits/src/mpt_circuit/start.rs @@ -96,7 +96,7 @@ impl StartConfig { self.proof_type .assign(region, offset, start.proof_type.scalar())?; - let mut root = vec![WordLoHi::zero(); 2]; + let mut root = [WordLoHi::zero(); 2]; for is_s in [true, false] { root[is_s.idx()] = rlp_values[is_s.idx()].word(); } diff --git a/zkevm-circuits/src/mpt_circuit/storage_leaf.rs b/zkevm-circuits/src/mpt_circuit/storage_leaf.rs index 5fb89eaffd..6a698a8195 100644 --- a/zkevm-circuits/src/mpt_circuit/storage_leaf.rs +++ b/zkevm-circuits/src/mpt_circuit/storage_leaf.rs @@ -436,7 +436,7 @@ impl StorageLeafConfig { let mut key_data = vec![KeyDataWitness::default(); 2]; let mut parent_data = vec![ParentDataWitness::default(); 2]; let mut key_rlc = vec![0.scalar(); 2]; - let mut value_word = vec![WordLoHi::zero(); 2]; + let mut value_word = [WordLoHi::zero(); 2]; for is_s in [true, false] { self.is_mod_extension[is_s.idx()].assign( region, diff --git a/zkevm-circuits/src/pi_circuit.rs b/zkevm-circuits/src/pi_circuit.rs index 548b339f0b..1c9f700202 100644 --- a/zkevm-circuits/src/pi_circuit.rs +++ b/zkevm-circuits/src/pi_circuit.rs @@ -402,8 +402,8 @@ impl SubCircuitConfig for PiCircuitConfig { let default_calldata_row_constraint4 = tx_id_is_zero_config.expr() * gas_cost.expr(); // if tx_id != 0 then - // 1. tx_id_next == tx_id: idx_next == idx + 1, gas_cost_next == gas_cost + - // gas_next, is_final == false; + // 1. tx_id_next == tx_id: idx_next == idx + 1, gas_cost_next == gas_cost + gas_next, + // is_final == false; // 2. tx_id_next == tx_id + 1 + x (where x is in [0, 2^16)): idx_next == 0, // gas_cost_next == gas_next, is_final == true; // 3. tx_id_next == 0: is_final == true, idx_next == 0, gas_cost_next == 0; diff --git a/zkevm-circuits/src/state_circuit.rs b/zkevm-circuits/src/state_circuit.rs index 4dcbda633f..81825492f4 100644 --- a/zkevm-circuits/src/state_circuit.rs +++ b/zkevm-circuits/src/state_circuit.rs @@ -168,7 +168,7 @@ impl SubCircuitConfig for StateCircuitConfig { lookups, rw_table, mpt_table, - _marker: PhantomData::default(), + _marker: PhantomData, }; let mut constraint_builder = ConstraintBuilder::new(); @@ -447,7 +447,7 @@ impl StateCircuit { n_rows, #[cfg(test)] overrides: HashMap::new(), - _marker: PhantomData::default(), + _marker: PhantomData, } } } diff --git a/zkevm-circuits/src/state_circuit/lexicographic_ordering.rs b/zkevm-circuits/src/state_circuit/lexicographic_ordering.rs index 062a85cb00..4d90c23dae 100644 --- a/zkevm-circuits/src/state_circuit/lexicographic_ordering.rs +++ b/zkevm-circuits/src/state_circuit/lexicographic_ordering.rs @@ -38,10 +38,8 @@ use strum_macros::EnumIter; // 1. limb_difference fits into 16 bits. // 2. limb_difference is not zero because its inverse exists. -// 3. RLC of the pairwise limb differences before the first_different_limb is -// zero. -// 4. limb_difference equals the difference of the limbs at -// first_different_limb. +// 3. RLC of the pairwise limb differences before the first_different_limb is zero. +// 4. limb_difference equals the difference of the limbs at first_different_limb. #[derive(Clone, Copy, Debug, EnumIter)] pub enum LimbIndex { @@ -312,7 +310,7 @@ fn rlc_limb_differences( ) -> Vec> { let mut result = vec![]; let mut partial_sum = 0u64.expr(); - let powers_of_randomness = once(1.expr()).chain(powers_of_randomness.into_iter()); + let powers_of_randomness = once(1.expr()).chain(powers_of_randomness); for ((cur_limb, prev_limb), power_of_randomness) in cur .be_limbs() .iter() diff --git a/zkevm-circuits/src/state_circuit/lookups.rs b/zkevm-circuits/src/state_circuit/lookups.rs index 41b45a3fb1..697be10c5f 100644 --- a/zkevm-circuits/src/state_circuit/lookups.rs +++ b/zkevm-circuits/src/state_circuit/lookups.rs @@ -31,7 +31,6 @@ impl Config { vec![exp] .into_iter() .zip_eq(self.u16_table.table_exprs(meta)) - .map(|(exp, table_expr)| (exp, table_expr)) .collect() }); } diff --git a/zkevm-circuits/src/state_circuit/test.rs b/zkevm-circuits/src/state_circuit/test.rs index f0a81c9fc8..e072443f88 100644 --- a/zkevm-circuits/src/state_circuit/test.rs +++ b/zkevm-circuits/src/state_circuit/test.rs @@ -929,7 +929,7 @@ fn variadic_size_check() { updates, overrides: HashMap::default(), n_rows: N_ROWS, - _marker: std::marker::PhantomData::default(), + _marker: std::marker::PhantomData, }; let power_of_randomness = circuit.instance(); let prover1 = MockProver::::run(17, &circuit, power_of_randomness).unwrap(); @@ -957,7 +957,7 @@ fn variadic_size_check() { updates, overrides: HashMap::default(), n_rows: N_ROWS, - _marker: std::marker::PhantomData::default(), + _marker: std::marker::PhantomData, }; let power_of_randomness = circuit.instance(); let prover2 = MockProver::::run(17, &circuit, power_of_randomness).unwrap(); @@ -997,7 +997,7 @@ fn prover(rows: Vec, overrides: HashMap<(AdviceColumn, isize), Fr>) -> MockP updates, overrides, n_rows: N_ROWS, - _marker: std::marker::PhantomData::default(), + _marker: std::marker::PhantomData, }; let instance = circuit.instance(); diff --git a/zkevm-circuits/src/table/tx_table.rs b/zkevm-circuits/src/table/tx_table.rs index 6e2777d52c..4237fc0c6a 100644 --- a/zkevm-circuits/src/table/tx_table.rs +++ b/zkevm-circuits/src/table/tx_table.rs @@ -158,7 +158,7 @@ impl TxTable { .collect(); for tx in txs.iter().chain(padding_txs.iter()) { let tx_id = Value::known(F::from(tx.id)); - let tx_data = vec![ + let tx_data = [ (TxContextFieldTag::Nonce, WordLoHi::from(tx.nonce.as_u64())), (TxContextFieldTag::Gas, WordLoHi::from(tx.gas())), (TxContextFieldTag::GasPrice, WordLoHi::from(tx.gas_price)), diff --git a/zkevm-circuits/src/tx_circuit/sign_verify.rs b/zkevm-circuits/src/tx_circuit/sign_verify.rs index 9ff41cc2f8..b99f2a46a2 100644 --- a/zkevm-circuits/src/tx_circuit/sign_verify.rs +++ b/zkevm-circuits/src/tx_circuit/sign_verify.rs @@ -105,7 +105,7 @@ impl Default for SignVerifyChip { aux_generator: Secp256k1Affine::default(), window_size: 4, max_verif: 0, - _marker: PhantomData::default(), + _marker: PhantomData, } } } diff --git a/zkevm-circuits/src/witness/rw.rs b/zkevm-circuits/src/witness/rw.rs index 5004848c6c..7c83101b49 100644 --- a/zkevm-circuits/src/witness/rw.rs +++ b/zkevm-circuits/src/witness/rw.rs @@ -133,7 +133,7 @@ impl RwMap { .collect(); let padding_length = Self::padding_len(rows.len(), target_len); let padding = (1..=padding_length).map(|rw_counter| Rw::Start { rw_counter }); - (padding.chain(rows.into_iter()).collect(), padding_length) + (padding.chain(rows).collect(), padding_length) } /// Build Rws for assignment pub fn table_assignments(&self) -> Vec {