diff --git a/Cargo.lock b/Cargo.lock index 15deafa8f..0d28f3927 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -761,14 +761,13 @@ checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "apollo_compilation_utils" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ "apollo_infra_utils", "cairo-lang-sierra", "cairo-lang-starknet-classes", "cairo-lang-utils", - "cairo-native", "rlimit", "serde", "serde_json", @@ -780,23 +779,31 @@ dependencies = [ [[package]] name = "apollo_compile_to_native" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ "apollo_compilation_utils", - "apollo_config", + "apollo_compile_to_native_types", "apollo_infra_utils", "cairo-lang-starknet-classes", "cairo-native", - "serde", "tempfile", +] + +[[package]] +name = "apollo_compile_to_native_types" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" +dependencies = [ + "apollo_config", + "serde", "validator", ] [[package]] name = "apollo_config" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ "apollo_infra_utils", "clap", @@ -813,9 +820,10 @@ dependencies = [ [[package]] name = "apollo_infra_utils" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ + "apollo_proc_macros", "assert-json-diff", "colored 3.0.0", "num_enum", @@ -830,8 +838,8 @@ dependencies = [ [[package]] name = "apollo_metrics" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ "indexmap 2.10.0", "metrics 0.24.2", @@ -840,6 +848,17 @@ dependencies = [ "regex", ] +[[package]] +name = "apollo_proc_macros" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" +dependencies = [ + "lazy_static", + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "aquamarine" version = "0.6.0" @@ -1504,21 +1523,22 @@ dependencies = [ [[package]] name = "bincode" -version = "1.3.3" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" dependencies = [ + "bincode_derive", "serde", + "unty", ] [[package]] -name = "bincode" +name = "bincode_derive" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +checksum = "bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09" dependencies = [ - "serde", - "unty", + "virtue", ] [[package]] @@ -1657,6 +1677,15 @@ dependencies = [ "wyz", ] +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -1668,12 +1697,13 @@ dependencies = [ [[package]] name = "blockifier" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ "anyhow", "apollo_compilation_utils", "apollo_compile_to_native", + "apollo_compile_to_native_types", "apollo_config", "apollo_infra_utils", "apollo_metrics", @@ -1686,6 +1716,7 @@ dependencies = [ "cairo-lang-casm", "cairo-lang-runner", "cairo-lang-starknet-classes", + "cairo-lang-utils", "cairo-native", "cairo-vm", "dashmap", @@ -1717,11 +1748,12 @@ dependencies = [ [[package]] name = "blockifier_test_utils" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ "apollo_infra_utils", "cairo-lang-starknet-classes", + "expect-test", "pretty_assertions", "rstest 0.17.0", "serde_json", @@ -1750,7 +1782,7 @@ dependencies = [ [[package]] name = "bonsai-trie" version = "0.1.0" -source = "git+https://github.com/dojoengine/bonsai-trie/?rev=8b509fd#8b509fdf2c22fb7386acc6c00f179ac1cd099243" +source = "git+https://github.com/dojoengine/bonsai-trie/?rev=c59f52e#c59f52e302e688fff25b215765e12d6107849b9e" dependencies = [ "bitvec", "derive_more 0.99.20", @@ -1959,8 +1991,9 @@ checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" [[package]] name = "cainome" -version = "0.9.1" -source = "git+https://github.com/cartridge-gg/cainome?rev=7d60de1#7d60de1780374b3644677f55cee053596e99f461" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0634cab52751732346438836fbdb264d9ab47cfaaff51bffd9667178ce7e5ab5" dependencies = [ "anyhow", "async-trait", @@ -1985,8 +2018,9 @@ dependencies = [ [[package]] name = "cainome-cairo-serde" -version = "0.3.0" -source = "git+https://github.com/cartridge-gg/cainome?rev=7d60de1#7d60de1780374b3644677f55cee053596e99f461" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "362d42b94a2402c8820debc2d05b0308e4aff6df0dc5c86569167437440764af" dependencies = [ "num-bigint", "serde", @@ -1998,7 +2032,8 @@ dependencies = [ [[package]] name = "cainome-cairo-serde-derive" version = "0.1.0" -source = "git+https://github.com/cartridge-gg/cainome?rev=7d60de1#7d60de1780374b3644677f55cee053596e99f461" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d272424141f0ced49ca5f40bc4b756235ee6e7c9cf6ab01f7ef5ac010f5f8864" dependencies = [ "proc-macro2", "quote", @@ -2008,8 +2043,9 @@ dependencies = [ [[package]] name = "cainome-parser" -version = "0.5.1" -source = "git+https://github.com/cartridge-gg/cainome?rev=7d60de1#7d60de1780374b3644677f55cee053596e99f461" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ffdbc6abfba9c7e91beb87fe7561f097d9f7bbda45c6ff74be3a9ff3f1a0124" dependencies = [ "convert_case 0.8.0", "quote", @@ -2021,8 +2057,9 @@ dependencies = [ [[package]] name = "cainome-rs" -version = "0.4.0" -source = "git+https://github.com/cartridge-gg/cainome?rev=7d60de1#7d60de1780374b3644677f55cee053596e99f461" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a2f63aeefc4d30221469fffcfbdbb13e7311444ab91614729c5137c3a70cbb3" dependencies = [ "anyhow", "cainome-cairo-serde", @@ -2039,8 +2076,9 @@ dependencies = [ [[package]] name = "cainome-rs-macro" -version = "0.4.0" -source = "git+https://github.com/cartridge-gg/cainome?rev=7d60de1#7d60de1780374b3644677f55cee053596e99f461" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39a53ebb721a24c3f2351b9214a6c2d2aaafaeecf5da15ee0c244dea95a7490c" dependencies = [ "anyhow", "cainome-cairo-serde", @@ -2057,9 +2095,9 @@ dependencies = [ [[package]] name = "cairo-lang-casm" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88bf35a939eaed69b8a71405c5d56fa52c3b1c76701b8c1056fe22b3e2569c7d" +checksum = "7d1d84a85b59c753aa4a7f0c455a5c815e0aebb89faf0c8ab366b0d87c0bb934" dependencies = [ "cairo-lang-utils", "indoc", @@ -2071,9 +2109,9 @@ dependencies = [ [[package]] name = "cairo-lang-compiler" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c13c2341fb2272999f6152b0fc2238148fe93c745183a07acba031b27eeb0b66" +checksum = "3a5cbeb4e134cf29c63d18a235beae3f124bef2824ec45d09d6e18a0c334e509" dependencies = [ "anyhow", "cairo-lang-defs", @@ -2082,6 +2120,7 @@ dependencies = [ "cairo-lang-lowering", "cairo-lang-parser", "cairo-lang-project", + "cairo-lang-runnable-utils", "cairo-lang-semantic", "cairo-lang-sierra", "cairo-lang-sierra-generator", @@ -2097,20 +2136,20 @@ dependencies = [ [[package]] name = "cairo-lang-debug" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17cf782d64a29c4acb1eb2759c39783d5e92c397d5ae3775754edae5d2c665ee" +checksum = "fa5311e1c31d413f3fa34e40e48b662c19151f0fb4b10467d627a52c93eae918" dependencies = [ "cairo-lang-utils", ] [[package]] name = "cairo-lang-defs" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80a146574d443e7fba848c069d7d84879c4635df5811963a18bf042df3e34e61" +checksum = "872feccf7b8f70ed5d74c40548bf974fbcc5069b2ea1ae15a9b8f1ab911c536b" dependencies = [ - "bincode 1.3.3", + "bincode", "cairo-lang-debug", "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -2122,13 +2161,14 @@ dependencies = [ "serde", "smol_str", "typetag", + "xxhash-rust", ] [[package]] name = "cairo-lang-diagnostics" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb704187b1543aa4a2e0030d13ae6e0ad63712e5362cac3ded3237623a2b1b32" +checksum = "5d0e7c551a634708366af3003176f2f9cdea56fd4a91c834ddd802030366f6a5" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -2138,9 +2178,9 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a2e6145241a4812820948278a86e11c25adc30e9a19b2e24b2517be19eedac" +checksum = "ed04fc3f52d68157f359257c477e30f68dec36bbf568c85d567812583cd5f9c8" dependencies = [ "cairo-lang-utils", "good_lp", @@ -2148,9 +2188,9 @@ dependencies = [ [[package]] name = "cairo-lang-filesystem" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c903cdcae48aa02c0ed41e1fd54b3231da51f1edf9538327ed155463594b8be" +checksum = "ca1835a43a00a90d5cd4ca3f6bb9178ec450d55458e8b56ac34ca1d6d0ccf58f" dependencies = [ "cairo-lang-debug", "cairo-lang-utils", @@ -2164,9 +2204,9 @@ dependencies = [ [[package]] name = "cairo-lang-formatter" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a943f0818cfc091c3302acd92053ff2a642004d32757c3b4f94c5aa18e184ac0" +checksum = "3bd0736456004f1d334bad5b366c6933c4b856a23a5dfade96cfe0a1c5eb3ddb" dependencies = [ "anyhow", "cairo-lang-diagnostics", @@ -2177,19 +2217,18 @@ dependencies = [ "diffy", "ignore", "itertools 0.14.0", - "rust-analyzer-salsa", "serde", "thiserror 2.0.12", ] [[package]] name = "cairo-lang-lowering" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b86cd38af57c36b2a72a2483d04d8b17ea2f9a554fd45b9d83375773f948818" +checksum = "fd2e1d66c241fba4f3dc43e42956001940298fb4ea5970acfc8b2db8bf4b6629" dependencies = [ "assert_matches", - "bincode 1.3.3", + "bincode", "cairo-lang-debug", "cairo-lang-defs", "cairo-lang-diagnostics", @@ -2211,9 +2250,9 @@ dependencies = [ [[package]] name = "cairo-lang-parser" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64f0a5ca9ac54975cdec98fe8491d9b62922b7cb048e6ded00188383b841b25" +checksum = "15c3ab263d4afd34a002dc0e37f9bacca734aa133dbbb8540651d28308977a68" dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -2232,9 +2271,9 @@ dependencies = [ [[package]] name = "cairo-lang-plugins" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6230c6d37e5e8361900709112e56b42e48478806b829a086727ef59b2f7f3310" +checksum = "566059584384c12fa598ae0e0509fd3d12b3985a25872de22e37245c4bc5762c" dependencies = [ "cairo-lang-defs", "cairo-lang-diagnostics", @@ -2257,9 +2296,9 @@ checksum = "123ac0ecadf31bacae77436d72b88fa9caef2b8e92c89ce63a125ae911a12fae" [[package]] name = "cairo-lang-proc-macros" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4872352761cf6d7f47eeb1626e3b1d84a514017fb4251173148d8c04f36d5" +checksum = "61599d8cac760505d1913fa5d7dddcf019f22d47f0748ff66b1b58afe1858b62" dependencies = [ "cairo-lang-debug", "quote", @@ -2268,9 +2307,9 @@ dependencies = [ [[package]] name = "cairo-lang-project" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2327b8c070f9e50ac85a410f03c6aaf6a0dffee5ba8299d6af4bf2344587ac42" +checksum = "99635e2569cebc31583110b417e6a410990a494c7d56998f2be0a169a1158456" dependencies = [ "cairo-lang-filesystem", "cairo-lang-utils", @@ -2281,9 +2320,9 @@ dependencies = [ [[package]] name = "cairo-lang-runnable-utils" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775b064b0265e8408565b1ec9d360116015acf35753f02db255cbb13ad30670e" +checksum = "f747c3d433ec5e82576e59852fd8c86a802fefe55e7bdbb9c0db61adb1a40e7b" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -2299,9 +2338,9 @@ dependencies = [ [[package]] name = "cairo-lang-runner" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7166250692bda4b8b31f0480b8ba7fe75793b15bd4f0b6e5b5fe5d6dde01da8" +checksum = "40a9ab4bb286d641463b2253070c145c53ff7e71f29cda2a49915f79ff7db927" dependencies = [ "ark-ff 0.5.0", "ark-secp256k1 0.5.0", @@ -2329,9 +2368,9 @@ dependencies = [ [[package]] name = "cairo-lang-semantic" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f53a1ea47d1a0295179881d5578fc2b2c8cd5d2ac99bd81958c423d54960bb84" +checksum = "bf1e01333b127fa3733f2f93b3febc45219ef55b807d196f298cadea6ad8fe44" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -2356,9 +2395,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a48fe249ba77fb39363b1b40c81556c8d272083508b4618fb65b964559aca0ee" +checksum = "300655046f505cf806a918918e5397b20c22b579d78c2ef09bc7d4d59fd733be" dependencies = [ "anyhow", "cairo-lang-utils", @@ -2383,9 +2422,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6cbf5cc904f4309179793fc3757c1db9615e71c1b78eff601d2e22206d1c6" +checksum = "0c51190f463ac9f7d4a2ce0e0345cfc92334589811a7114eeeec84029999d7f1" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -2399,9 +2438,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704ec6a8cb1b38f78571d5561519e87672ed5008a018a422842fa2a122ca3c34" +checksum = "bb0d0f038acd79aedcadad4ad2ad928b0881c4e96a2d9ad0e0b3173a6111f313" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -2415,9 +2454,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-generator" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e011122028a59557ff075b22f550f7d0267b493f3db3dbefc281ff6795d108c" +checksum = "8bc8d2a89273ba24529319982a4a7833f2a6c4a87752baea2bc70ceb4b3285b7" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -2439,9 +2478,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a43885fd8e806f5c50a80473798faad1a9a919f474e469d3027aece4f8b2002" +checksum = "7c852277442b2d8ca9741cdc8ccb737c6ad381d300ab4e2d982a98ba40e5f5b6" dependencies = [ "assert_matches", "cairo-lang-casm", @@ -2460,9 +2499,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-type-size" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "860006ddce78cae65babf37ff279c31358336ae76717991837d7e0868561878c" +checksum = "265aa8daaa94cc4d5e135a82c0bbe7d28d2c0fbc612332903dbf1a68ed15978f" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -2470,9 +2509,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba6eb0a421d3411f4948e002d3dd81ab134044465bda3131f2718f56afda409" +checksum = "deb8bf3ccf8fe1f910291d388a2351b6f40ad32be07bdbd3a628e103387b1a48" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -2480,6 +2519,7 @@ dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", "cairo-lang-lowering", + "cairo-lang-parser", "cairo-lang-plugins", "cairo-lang-semantic", "cairo-lang-sierra", @@ -2501,9 +2541,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet-classes" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cf81db2c36c1e3fe3bbf64ebc5c237f748e9f41bdd42a6ed3e03e00086d768c" +checksum = "4839b63927954a7c3d018fd012ce0bea256db205b85ee45df27fb1e90cb10e02" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -2524,9 +2564,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36620fd45292fd0276bd581e774222fbd06e13aa8a4bf820a4be8ad3bcec100" +checksum = "a1f83d5b0213ddab04090f4a10d009ff3428a0d6e289f4fea31798210d60d5cb" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -2552,9 +2592,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-plugin" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb622d636da63a5cc8138dba941d9eb1918d06e297bdb5a76dc69fffdf3581d9" +checksum = "e1e90cf75528c423cd6b6faaab2dde0c1b23efe36103e1e57f338293552ee16f" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -2562,6 +2602,7 @@ dependencies = [ "cairo-lang-defs", "cairo-lang-filesystem", "cairo-lang-lowering", + "cairo-lang-parser", "cairo-lang-semantic", "cairo-lang-sierra", "cairo-lang-sierra-generator", @@ -2579,9 +2620,9 @@ dependencies = [ [[package]] name = "cairo-lang-test-utils" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c65df2eee1678a29b4b9dcff5c10a70b44e38d445ba2522025b1b6b7177b61f" +checksum = "ebbd4ebcd82ab07fba3d376a6aa992aa552fcb7f051736f6b5a2122381754bdb" dependencies = [ "cairo-lang-formatter", "cairo-lang-utils", @@ -2592,9 +2633,9 @@ dependencies = [ [[package]] name = "cairo-lang-utils" -version = "2.12.0-dev.1" +version = "2.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f043065d60a8a2510bfacb6c91767298fed50ed9abbd69ff7698322b7cb1e65" +checksum = "cca315cce0937801a772bee5fe92cca28b8172421bdd2f67c96e8288a0dcfb9f" dependencies = [ "hashbrown 0.15.4", "indexmap 2.10.0", @@ -2609,9 +2650,9 @@ dependencies = [ [[package]] name = "cairo-native" -version = "0.5.0-rc.6" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0d61db673287e071a97aca5b1127dddd40f97d8247818f2d5d37ba94a78c74" +checksum = "64a1b73479b3b3676bf81d2e3586f7e7d234227d7bdb6d8635b0256af7a41592" dependencies = [ "anyhow", "aquamarine", @@ -2628,7 +2669,6 @@ dependencies = [ "cairo-lang-sierra", "cairo-lang-sierra-ap-change", "cairo-lang-sierra-gas", - "cairo-lang-sierra-generator", "cairo-lang-sierra-to-casm", "cairo-lang-starknet", "cairo-lang-starknet-classes", @@ -2653,7 +2693,7 @@ dependencies = [ "serde", "serde_json", "sha2", - "starknet-curve 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-curve 0.6.0", "starknet-types-core", "stats_alloc", "tempfile", @@ -2665,13 +2705,13 @@ dependencies = [ [[package]] name = "cairo-vm" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2afc2bb5cf948599994a1f1634edc81934c3952e2f32c8e49efbde63d767fa69" +checksum = "c21cacdf4e290ab5f0018f24d6bf97f8d3a8809bd09568550669270e7f9ed534" dependencies = [ "anyhow", "arbitrary", - "bincode 2.0.1", + "bincode", "bitvec", "generic-array", "hashbrown 0.15.4", @@ -2690,7 +2730,7 @@ dependencies = [ "serde_json", "sha2", "sha3", - "starknet-crypto 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-crypto 0.8.1", "starknet-types-core", "thiserror 2.0.12", "zip 0.6.6", @@ -2745,7 +2785,7 @@ dependencies = [ "serde_json", "stark-vrf", "starknet", - "starknet-crypto 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-crypto 0.8.1", "thiserror 1.0.69", "tracing", "url", @@ -3614,6 +3654,12 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "dissimilar" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8975ffdaa0ef3661bfe02dbdcc06c9f829dfafe6a3c474de366a8d5e44276921" + [[package]] name = "doc-comment" version = "0.3.3" @@ -3846,6 +3892,16 @@ dependencies = [ "uint", ] +[[package]] +name = "expect-test" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63af43ff4431e848fb47472a920f14fa71c24de13255a5692e93d4e90302acb0" +dependencies = [ + "dissimilar", + "once_cell", +] + [[package]] name = "fastrand" version = "2.3.0" @@ -5552,7 +5608,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "starknet-crypto 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-crypto 0.8.1", "starknet-types-core", "syn 2.0.104", ] @@ -5792,7 +5848,7 @@ dependencies = [ "serde", "serde_json", "starknet", - "starknet-crypto 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-crypto 0.8.1", "thiserror 1.0.69", "tokio", "tracing", @@ -5944,7 +6000,7 @@ dependencies = [ "serde_json_pythonic", "similar-asserts", "starknet", - "starknet-crypto 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-crypto 0.8.1", "starknet-types-core", "starknet_api", "strum 0.25.0", @@ -6045,7 +6101,7 @@ dependencies = [ "serde_json", "similar-asserts", "starknet", - "starknet-crypto 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-crypto 0.8.1", "tempfile", "thiserror 1.0.69", "tokio", @@ -7433,10 +7489,11 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "piltover" version = "0.1.0" -source = "git+https://github.com/kariy/piltover.git?rev=a908ce2#a908ce25ced98d7201b793bffd46b0dbc0dc23da" +source = "git+https://github.com/cartridge-gg/piltover.git?rev=1dcb9fa4aaf22a23353c9233341ef373d7664929#1dcb9fa4aaf22a23353c9233341ef373d7664929" dependencies = [ "cainome", "starknet", + "starknet-types-core", ] [[package]] @@ -9559,14 +9616,15 @@ dependencies = [ [[package]] name = "starknet" -version = "0.17.0-rc.2" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5ed01c14136e56dcdf21385d20c4a6fdd3509947cb56cca45fc765ef5809add" dependencies = [ "starknet-accounts", "starknet-contract", "starknet-core", "starknet-core-derive", - "starknet-crypto 0.7.4 (git+https://github.com/kariy/starknet-rs?rev=2ef3088)", + "starknet-crypto 0.8.1", "starknet-macros", "starknet-providers", "starknet-signers", @@ -9574,13 +9632,14 @@ dependencies = [ [[package]] name = "starknet-accounts" -version = "0.16.0-rc.2" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f7c118729bcdcfa1610844047cbdb23090fb1d4172a36bb97a663be8d022d1a" dependencies = [ "async-trait", "auto_impl", "starknet-core", - "starknet-crypto 0.7.4 (git+https://github.com/kariy/starknet-rs?rev=2ef3088)", + "starknet-crypto 0.8.1", "starknet-providers", "starknet-signers", "thiserror 1.0.69", @@ -9588,8 +9647,9 @@ dependencies = [ [[package]] name = "starknet-contract" -version = "0.16.0-rc.2" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccb64331b72caf51c0d8b684b62012f9a771015b4cf5e52cba9bf61be8384ad3" dependencies = [ "serde", "serde_json", @@ -9602,8 +9662,9 @@ dependencies = [ [[package]] name = "starknet-core" -version = "0.16.0-rc.2" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efb7212226769766c1c7d79b70f9242ffbd213290a41604ecc7e78faa0ed0deb" dependencies = [ "base64 0.21.7", "crypto-bigint", @@ -9618,14 +9679,15 @@ dependencies = [ "serde_with", "sha3", "starknet-core-derive", - "starknet-crypto 0.7.4 (git+https://github.com/kariy/starknet-rs?rev=2ef3088)", + "starknet-crypto 0.8.1", "starknet-types-core", ] [[package]] name = "starknet-core-derive" version = "0.1.0" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b08520b7d80eda7bf1a223e8db4f9bb5779a12846f15ebf8f8d76667eca7f5ad" dependencies = [ "proc-macro2", "quote", @@ -9654,9 +9716,9 @@ dependencies = [ [[package]] name = "starknet-crypto" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039a3bad70806b494c9e6b21c5238a6c8a373d66a26071859deb0ccca6f93634" +checksum = "1004a16c25dc6113c19d4f9d0c19ff97d85804829894bba22c0d0e9e7b249812" dependencies = [ "crypto-bigint", "hex", @@ -9666,25 +9728,7 @@ dependencies = [ "num-traits", "rfc6979", "sha2", - "starknet-curve 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "starknet-types-core", - "zeroize", -] - -[[package]] -name = "starknet-crypto" -version = "0.7.4" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" -dependencies = [ - "crypto-bigint", - "hex", - "hmac", - "num-bigint", - "num-integer", - "num-traits", - "rfc6979", - "sha2", - "starknet-curve 0.5.1 (git+https://github.com/kariy/starknet-rs?rev=2ef3088)", + "starknet-curve 0.6.0", "starknet-types-core", "zeroize", ] @@ -9711,17 +9755,9 @@ dependencies = [ [[package]] name = "starknet-curve" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcde6bd74269b8161948190ace6cf069ef20ac6e79cd2ba09b320efa7500b6de" -dependencies = [ - "starknet-types-core", -] - -[[package]] -name = "starknet-curve" -version = "0.5.1" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +checksum = "22c898ae81b6409532374cf237f1bd752d068b96c6ad500af9ebbd0d9bb712f6" dependencies = [ "starknet-types-core", ] @@ -9742,8 +9778,9 @@ dependencies = [ [[package]] name = "starknet-macros" -version = "0.2.5-rc.2" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d59e1eb22f4366385b132ba7016faa5a6457f1f23f896f737a06da626455e7b" dependencies = [ "starknet-core", "syn 2.0.104", @@ -9751,8 +9788,9 @@ dependencies = [ [[package]] name = "starknet-providers" -version = "0.16.0-rc.2" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15fc3d94cc008cea64e291b261e8349065424ee7491e5dd0fa9bd688818bece1" dependencies = [ "async-trait", "auto_impl", @@ -9771,8 +9809,9 @@ dependencies = [ [[package]] name = "starknet-signers" -version = "0.14.0-rc.2" -source = "git+https://github.com/kariy/starknet-rs?rev=2ef3088#2ef30887a2be68b6aa4514d6b56ba12fcb3988be" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d839b06d899ef3a0de11b1e9a91a14c118b1ed36830ec8e59d9fbc9a1e51976b" dependencies = [ "async-trait", "auto_impl", @@ -9781,16 +9820,19 @@ dependencies = [ "getrandom 0.2.16", "rand 0.8.5", "starknet-core", - "starknet-crypto 0.7.4 (git+https://github.com/kariy/starknet-rs?rev=2ef3088)", + "starknet-crypto 0.8.1", "thiserror 1.0.69", ] [[package]] name = "starknet-types-core" -version = "0.1.8" -source = "git+https://github.com/kariy/types-rs?rev=0f6ae31#0f6ae31a5a19352cc99b74604fab15cd9d1bb76e" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fa3d91e38f091dbc543d33589eb7716bed2a8eb1c20879e484561977832b60a" dependencies = [ "arbitrary", + "blake2", + "digest 0.10.7", "lambdaworks-crypto", "lambdaworks-math", "lazy_static", @@ -9799,14 +9841,13 @@ dependencies = [ "num-traits", "parity-scale-codec", "serde", - "size-of", "zeroize", ] [[package]] name = "starknet_api" -version = "0.15.0-rc.2" -source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.15.0-rc.2#cc8251682cca0ed0a6c7178f8ae244b42baad451" +version = "0.16.0-rc.0" +source = "git+https://github.com/dojoengine/sequencer?branch=blockifier%2Fv0.16.0-rc.0#d2baeb7289ce99d18468ddc635748fa76cf0827c" dependencies = [ "apollo_infra_utils", "base64 0.13.1", @@ -9830,11 +9871,12 @@ dependencies = [ "serde_json", "sha3", "size-of", - "starknet-crypto 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-crypto 0.8.1", "starknet-types-core", "strum 0.25.0", "strum_macros 0.25.3", "thiserror 1.0.69", + "time", ] [[package]] @@ -11053,6 +11095,12 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "virtue" +version = "0.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1" + [[package]] name = "wait-timeout" version = "0.2.1" @@ -11885,6 +11933,12 @@ version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32ac00cd3f8ec9c1d33fb3e7958a82df6989c42d747bd326c822b1d625283547" +[[package]] +name = "xxhash-rust" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" + [[package]] name = "xz2" version = "0.1.7" diff --git a/Cargo.toml b/Cargo.toml index a1be6eca9..bdfb08dea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -105,13 +105,13 @@ katana-trie = { path = "crates/trie" } katana-utils = { path = "crates/utils" } # cairo-lang -cairo-lang-casm = "=2.12.0-dev.1" -cairo-lang-runner = "=2.12.0-dev.1" -cairo-lang-sierra = "=2.12.0-dev.1" -cairo-lang-sierra-to-casm = "=2.12.0-dev.1" -cairo-lang-starknet = "=2.12.0-dev.1" -cairo-lang-starknet-classes = "=2.12.0-dev.1" -cairo-lang-utils = "=2.12.0-dev.1" +cairo-lang-casm = "2.12.3" +cairo-lang-runner = "2.12.3" +cairo-lang-sierra = "2.12.3" +cairo-lang-sierra-to-casm = "2.12.3" +cairo-lang-starknet = "2.12.3" +cairo-lang-starknet-classes = "2.12.3" +cairo-lang-utils = "2.12.3" anyhow = "1.0.89" arbitrary = { version = "1.3.2", features = [ "derive" ] } @@ -154,7 +154,7 @@ slot = { git = "https://github.com/cartridge-gg/slot", rev = "1298a30" } spinoff = "0.8.0" strum = "0.25" strum_macros = "0.25" -tempfile = "3.9.0" +tempfile = "3.20.0" thiserror = "1.0.32" tokio = { version = "1.39.2", features = [ "full" ] } tokio-util = "0.7.12" @@ -215,25 +215,18 @@ opentelemetry-http = "0.30.0" opentelemetry-stackdriver = { version = "0.27.0", features = [ "propagator" ] } # starknet -starknet = "0.17.0-rc.2" -starknet-crypto = "0.7.4" -starknet-types-core = { version = "0.1.8", features = [ "arbitrary", "hash" ] } +starknet = "0.17.0" +starknet-crypto = "0.8.1" +starknet-types-core = { version = "=0.2.0", features = [ "arbitrary", "hash" ] } -blockifier = { git = "https://github.com/dojoengine/sequencer", branch = "blockifier/v0.15.0-rc.2", default-features = false } -cairo-native = "0.5.0-rc.6" -starknet_api = { git = "https://github.com/dojoengine/sequencer", branch = "blockifier/v0.15.0-rc.2" } +blockifier = { git = "https://github.com/dojoengine/sequencer", branch = "blockifier/v0.16.0-rc.0", default-features = false } +cairo-native = "0.6.2" +starknet_api = { git = "https://github.com/dojoengine/sequencer", branch = "blockifier/v0.16.0-rc.0" } # Some types that we used from cairo-vm implements the `Arbitrary` trait, # only under the `test_utils` feature. -cairo-vm = { version = "=2.3.1", features = [ "test_utils" ] } - -cainome = { git = "https://github.com/cartridge-gg/cainome", rev = "7d60de1", features = [ "abigen-rs" ] } -cainome-cairo-serde = { git = "https://github.com/cartridge-gg/cainome", rev = "7d60de1" } -piltover = { git = "https://github.com/kariy/piltover.git", rev = "a908ce2" } - -[patch.crates-io] -starknet = { git = "https://github.com/kariy/starknet-rs", rev = "2ef3088" } -# NOTE: remove this patch once this PR is merged -# -# This patch fixes an issue where we're unable to correctly evaluate the accurate size -# for constructing `Felt` from unstructured data (Arbitrary). -starknet-types-core = { git = "https://github.com/kariy/types-rs", rev = "0f6ae31" } +cairo-vm = { version = "2.5.0", features = [ "test_utils" ] } + +cainome = { version = "0.10.0", features = [ "abigen-rs" ] } +cainome-cairo-serde = { version = "0.4.0" } +# +piltover = { git = "https://github.com/cartridge-gg/piltover.git", rev = "1dcb9fa4aaf22a23353c9233341ef373d7664929" } diff --git a/bin/katana/src/cli/db/prune.rs b/bin/katana/src/cli/db/prune.rs index a1d7968b3..613ec795e 100644 --- a/bin/katana/src/cli/db/prune.rs +++ b/bin/katana/src/cli/db/prune.rs @@ -107,8 +107,8 @@ fn prune_database(db_path: &str, mode: PruneMode) -> Result<()> { if blocks > latest_block { eprintln!( - "Warning: Requested to keep {} blocks, but only {} blocks exist", - blocks, latest_block + "Warning: Requested to keep {blocks} blocks, but only {latest_block} blocks \ + exist" ); return Ok(()); } @@ -122,7 +122,7 @@ fn prune_database(db_path: &str, mode: PruneMode) -> Result<()> { } prune_keep_last_n(&tx, cutoff_block)?; - println!("Pruned historical data for blocks 0 to {}", cutoff_block); + println!("Pruned historical data for blocks 0 to {cutoff_block}"); } } @@ -455,7 +455,7 @@ fn show_confirmation_prompt(stats: &PruningStats, mode: &PruneMode) -> Result { - println!("- Action: Keep only the last {} blocks of historical data", blocks); + println!("- Action: Keep only the last {blocks} blocks of historical data"); } } diff --git a/bin/katana/src/cli/init/deployment.rs b/bin/katana/src/cli/init/deployment.rs index d8b4a07e0..d6d086cac 100644 --- a/bin/katana/src/cli/init/deployment.rs +++ b/bin/katana/src/cli/init/deployment.rs @@ -130,6 +130,7 @@ pub async fn deploy_settlement_contract( sp.update_text("Deploying contract..."); let salt = Felt::from(rand::random::()); + #[allow(deprecated)] let factory = ContractFactory::new(class_hash, &account); const INITIAL_STATE_ROOT: Felt = Felt::ZERO; diff --git a/bin/katana/src/cli/init/prompt.rs b/bin/katana/src/cli/init/prompt.rs index 6d4f60cc8..3f4c305bf 100644 --- a/bin/katana/src/cli/init/prompt.rs +++ b/bin/katana/src/cli/init/prompt.rs @@ -198,7 +198,7 @@ fn prompt_slot_paymasters() -> Result>> { // Prompt for slot paymaster accounts while Confirm::new("Add Slot paymaster account?").with_default(true).prompt()? { - let pubkey_prompt_text = format!("Paymaster #{} public key", paymaster_count); + let pubkey_prompt_text = format!("Paymaster #{paymaster_count} public key"); let public_key = CustomType::::new(&pubkey_prompt_text) .with_formatter(&|input: Felt| format!("{input:#x}")) .prompt()?; @@ -222,7 +222,7 @@ fn prompt_slot_paymasters() -> Result>> { } }; - let salt_prompt_text = format!("Paymaster #{} salt", paymaster_count); + let salt_prompt_text = format!("Paymaster #{paymaster_count} salt"); let salt = CustomType::::new(&salt_prompt_text) .with_formatter(&|input: Felt| format!("{input:#x}")) .with_validator(unique_salt_validator) diff --git a/bin/katana/src/cli/version.rs b/bin/katana/src/cli/version.rs index 5c26d73a4..872ef0bb1 100644 --- a/bin/katana/src/cli/version.rs +++ b/bin/katana/src/cli/version.rs @@ -28,7 +28,7 @@ pub fn generate_long() -> String { writeln!(out, "{}", generate_short()).unwrap(); writeln!(out).unwrap(); writeln!(out, "features: {}", features().join(",")).unwrap(); - write!(out, "built on: {}", VERGEN_BUILD_TIMESTAMP).unwrap(); + write!(out, "built on: {VERGEN_BUILD_TIMESTAMP}").unwrap(); out } diff --git a/crates/cartridge/build.rs b/crates/cartridge/build.rs index 9c9e0e187..4d9a552a0 100644 --- a/crates/cartridge/build.rs +++ b/crates/cartridge/build.rs @@ -56,9 +56,9 @@ fn main() { let struct_name = filename_to_struct_name(&file_name); generated_code.push_str(&format!( - "::katana_contracts::contract!(\n {},\n \ - \"{{CARGO_MANIFEST_DIR}}/controller/account_sdk/artifacts/classes/{}.json\"\n);\n", - struct_name, file_name + "::katana_contracts::contract!(\n {struct_name},\n \ + \"{{CARGO_MANIFEST_DIR}}/controller/account_sdk/artifacts/classes/{file_name}.\ + json\"\n);\n" )); } } diff --git a/crates/cli/src/utils.rs b/crates/cli/src/utils.rs index b15f56faf..a15a23b52 100644 --- a/crates/cli/src/utils.rs +++ b/crates/cli/src/utils.rs @@ -135,9 +135,8 @@ PREDEPLOYED CONTRACTS println!( r" | Contract | Universal Deployer -| Address | {} -| Class Hash | {:#064x}", - DEFAULT_UDC_ADDRESS, DEFAULT_LEGACY_UDC_CLASS_HASH +| Address | {DEFAULT_UDC_ADDRESS} +| Class Hash | {DEFAULT_LEGACY_UDC_CLASS_HASH:#064x}" ); if let Some(hash) = account_class_hash { diff --git a/crates/contracts/build.rs b/crates/contracts/build.rs index 12eb90338..5ea42e3fc 100644 --- a/crates/contracts/build.rs +++ b/crates/contracts/build.rs @@ -57,20 +57,19 @@ fn main() { panic!( "Contract compilation build script failed. Below are the last 50 lines of `scarb \ - build` output:\n\n{}", - last_n_lines + build` output:\n\n{last_n_lines}" ); } // Create build directory if it doesn't exist if let Err(e) = fs::create_dir_all(build_dir) { - panic!("Failed to create build directory: {}", e); + panic!("Failed to create build directory: {e}"); } // Copy artifacts from target/dev to build directory if target_dir.exists() { if let Err(e) = copy_dir_contents(&target_dir, build_dir) { - panic!("Failed to copy contract artifacts: {}", e); + panic!("Failed to copy contract artifacts: {e}"); } println!("cargo:warning=Contract artifacts copied to build directory"); } else { diff --git a/crates/contracts/macro/src/lib.rs b/crates/contracts/macro/src/lib.rs index 5c03c531e..a311e7b1a 100644 --- a/crates/contracts/macro/src/lib.rs +++ b/crates/contracts/macro/src/lib.rs @@ -111,14 +111,14 @@ fn generate_contract_impl(input: &ContractInput) -> Result for ExecutionError { } } +impl From> for ExecutionError { + fn from(error: Box) -> Self { + Self::from(*error) + } +} + impl From for ExecutionError { fn from(error: PreExecutionError) -> Self { match error { @@ -77,6 +83,12 @@ impl From for ExecutionError { } } +impl From> for ExecutionError { + fn from(error: Box) -> Self { + Self::from(*error) + } +} + impl From for ExecutionError { fn from(error: TransactionFeeError) -> Self { match error { @@ -92,6 +104,12 @@ impl From for ExecutionError { } } +impl From> for ExecutionError { + fn from(error: Box) -> Self { + Self::from(*error) + } +} + impl From for ExecutionError { fn from(error: StateError) -> Self { match error { diff --git a/crates/executor/src/implementation/blockifier/mod.rs b/crates/executor/src/implementation/blockifier/mod.rs index e1d83461f..4a772d121 100644 --- a/crates/executor/src/implementation/blockifier/mod.rs +++ b/crates/executor/src/implementation/blockifier/mod.rs @@ -137,6 +137,7 @@ impl<'a> StarknetVMProcessor<'a> { let bouncer = Bouncer::new(BouncerConfig { block_max_capacity, builtin_weights: BuiltinWeights::default(), + ..Default::default() }); Self { diff --git a/crates/executor/src/implementation/blockifier/utils.rs b/crates/executor/src/implementation/blockifier/utils.rs index 7870d3dc6..0124381b5 100644 --- a/crates/executor/src/implementation/blockifier/utils.rs +++ b/crates/executor/src/implementation/blockifier/utils.rs @@ -136,6 +136,7 @@ pub fn transact( &tx_state, &tx_state_changes_keys, &info.summarize(versioned_constants), + &info.summarize_builtins(), &info.receipt.resources, versioned_constants, )?; @@ -472,7 +473,11 @@ pub fn block_context_from_envs(block_env: &BlockEnv, cfg_env: &CfgEnv) -> BlockC use_kzg_da: false, }; - let chain_info = ChainInfo { fee_token_addresses, chain_id: to_blk_chain_id(cfg_env.chain_id) }; + let chain_info = ChainInfo { + fee_token_addresses, + chain_id: to_blk_chain_id(cfg_env.chain_id), + is_l3: false, + }; // IMPORTANT: // diff --git a/crates/explorer/build.rs b/crates/explorer/build.rs index f1788549d..47cfbfb6f 100644 --- a/crates/explorer/build.rs +++ b/crates/explorer/build.rs @@ -84,7 +84,7 @@ fn build_ui_assets(ui_dir: &Path) { return; } Err(e) => { - eprintln!("Warning: Failed to run bun install: {}", e); + eprintln!("Warning: Failed to run bun install: {e}"); return; } } @@ -105,7 +105,7 @@ fn build_ui_assets(ui_dir: &Path) { eprintln!("Warning: Failed to build UI in {}", ui_dir.display()); } Err(e) => { - eprintln!("Warning: Failed to run bun build: {}", e); + eprintln!("Warning: Failed to run bun build: {e}"); } } } diff --git a/crates/explorer/src/lib.rs b/crates/explorer/src/lib.rs index 3b975f85b..4e9eab560 100644 --- a/crates/explorer/src/lib.rs +++ b/crates/explorer/src/lib.rs @@ -564,7 +564,7 @@ impl ExplorerService { }; if let Some(asset) = EmbeddedAssets::get(asset_path) { - let content_type = Self::get_content_type(&format!("/{}", asset_path)); + let content_type = Self::get_content_type(&format!("/{asset_path}")); let content = if content_type == "text/html" { let html = String::from_utf8_lossy(&asset.data); let injected = Self::inject_environment(config, &html); @@ -640,9 +640,9 @@ impl ExplorerService { if let Some(head_pos) = html.find("") { let (start, end) = html.split_at(head_pos + 6); - format!("{}{}{}", start, script, end) + format!("{start}{script}{end}") } else { - format!("{}\n{}", script, html) + format!("{script}\n{html}") } } diff --git a/crates/messaging/src/ethereum.rs b/crates/messaging/src/ethereum.rs index 37ae0b2e6..9d74fa5f7 100644 --- a/crates/messaging/src/ethereum.rs +++ b/crates/messaging/src/ethereum.rs @@ -207,7 +207,7 @@ fn parse_messages(messages: &[MessageToL1]) -> Vec { } fn felt_from_u256(v: U256) -> Felt { - Felt::from_str(format!("{:#064x}", v).as_str()).unwrap() + Felt::from_str(format!("{v:#064x}").as_str()).unwrap() } #[cfg(test)] diff --git a/crates/messaging/src/lib.rs b/crates/messaging/src/lib.rs index 9ed991f66..0c555cc74 100644 --- a/crates/messaging/src/lib.rs +++ b/crates/messaging/src/lib.rs @@ -173,7 +173,7 @@ pub trait Messenger { #[derive(Debug)] pub enum MessengerMode { Ethereum(EthereumMessaging), - Starknet(StarknetMessaging), + Starknet(Box), } impl MessengerMode { @@ -193,7 +193,7 @@ impl MessengerMode { CONFIG_CHAIN_STARKNET => match StarknetMessaging::new(config).await { Ok(m_sn) => { info!(target: LOG_TARGET, "Messaging enabled [Starknet]."); - Ok(MessengerMode::Starknet(m_sn)) + Ok(MessengerMode::Starknet(Box::new(m_sn))) } Err(e) => { error!(target: LOG_TARGET, error = %e, "Starknet messenger init."); diff --git a/crates/pool/pool/src/validation/stateful.rs b/crates/pool/pool/src/validation/stateful.rs index 16ce69cf3..354703e7a 100644 --- a/crates/pool/pool/src/validation/stateful.rs +++ b/crates/pool/pool/src/validation/stateful.rs @@ -266,7 +266,7 @@ fn map_fee_err( } TransactionFeeError::InsufficientResourceBounds { errors } => { - let error = errors.iter().map(|e| format!("{}", e)).collect::>().join("\n"); + let error = errors.iter().map(|e| format!("{e}")).collect::>().join("\n"); Ok(InvalidTransactionError::InsufficientIntrinsicFee( InsufficientIntrinsicFeeError::InsufficientResourceBounds { error }, )) @@ -281,9 +281,9 @@ fn map_executor_err( ) -> Result> { match err { TransactionExecutorError::TransactionExecutionError(e) => match e { - TransactionExecutionError::TransactionFeeError(e) => map_fee_err(e), + TransactionExecutionError::TransactionFeeError(e) => map_fee_err(*e), TransactionExecutionError::TransactionPreValidationError(e) => { - map_pre_validation_err(e) + map_pre_validation_err(*e) } _ => Err(Box::new(e)), @@ -325,7 +325,7 @@ fn map_pre_validation_err( err: TransactionPreValidationError, ) -> Result> { match err { - TransactionPreValidationError::TransactionFeeError(err) => map_fee_err(err), + TransactionPreValidationError::TransactionFeeError(err) => map_fee_err(*err), TransactionPreValidationError::StateError(err) => Err(Box::new(err)), TransactionPreValidationError::InvalidNonce { address, diff --git a/crates/primitives/src/da/blob.rs b/crates/primitives/src/da/blob.rs index 76e703350..5f0e3b995 100644 --- a/crates/primitives/src/da/blob.rs +++ b/crates/primitives/src/da/blob.rs @@ -19,7 +19,7 @@ use super::math::{fft, ifft}; pub fn recover(data: Vec) -> Vec { let xs: Vec = (0..BLOB_LEN) .map(|i| { - let bin = format!("{:012b}", i); + let bin = format!("{i:012b}"); let bin_rev = bin.chars().rev().collect::(); GENERATOR.modpow(&BigUint::from_str_radix(&bin_rev, 2).unwrap(), &BLS_MODULUS) }) @@ -31,7 +31,7 @@ pub fn recover(data: Vec) -> Vec { pub fn transform(data: Vec) -> Vec { let xs: Vec = (0..BLOB_LEN) .map(|i| { - let bin = format!("{:012b}", i); + let bin = format!("{i:012b}"); let bin_rev = bin.chars().rev().collect::(); GENERATOR.modpow(&BigUint::from_str_radix(&bin_rev, 2).unwrap(), &BLS_MODULUS) }) diff --git a/crates/rpc/rpc-types/src/trace.rs b/crates/rpc/rpc-types/src/trace.rs index 6e1df96cb..33dc456ad 100644 --- a/crates/rpc/rpc-types/src/trace.rs +++ b/crates/rpc/rpc-types/src/trace.rs @@ -52,7 +52,7 @@ pub enum TxTrace { L1Handler(L1HandlerTxTrace), #[serde(rename = "DEPLOY_ACCOUNT")] - DeployAccount(DeployAccountTxTrace), + DeployAccount(Box), } #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] @@ -227,13 +227,13 @@ impl From for TxTra TxType::DeployAccount => { let constructor_invocation = execute_invocation.expect("should exist if not reverted"); - TxTrace::DeployAccount(DeployAccountTxTrace { + TxTrace::DeployAccount(Box::new(DeployAccountTxTrace { fee_transfer_invocation, constructor_invocation, validate_invocation, execution_resources, state_diff, - }) + })) } TxType::L1Handler => { diff --git a/crates/rpc/rpc/src/cors.rs b/crates/rpc/rpc/src/cors.rs index 9d7c2a5f4..937215ca1 100644 --- a/crates/rpc/rpc/src/cors.rs +++ b/crates/rpc/rpc/src/cors.rs @@ -94,7 +94,7 @@ impl AllowOrigins { I: IntoIterator, { let origins = origins.into_iter().collect::>(); - if origins.iter().any(|o| o == WILDCARD) { + if origins.contains(&WILDCARD) { Self(cors::AllowOrigin::any()) } else { Self(cors::AllowOrigin::list(origins)) diff --git a/crates/rpc/rpc/tests/messaging.rs b/crates/rpc/rpc/tests/messaging.rs index 695937195..aad594536 100644 --- a/crates/rpc/rpc/tests/messaging.rs +++ b/crates/rpc/rpc/tests/messaging.rs @@ -95,6 +95,7 @@ async fn test_messaging() { let address = get_contract_address(Felt::ZERO, class_hash, &[], Felt::ZERO); // Deploy the contract using UDC + #[allow(deprecated)] let res = ContractFactory::new(class_hash, &katana_account) .deploy_v3(Vec::new(), Felt::ZERO, false) .send() @@ -239,6 +240,7 @@ async fn estimate_message_fee() -> Result<()> { TxWaiter::new(res.transaction_hash, &rpc_client).await?; // Deploy the contract using UDC + #[allow(deprecated)] let res = ContractFactory::new(class_hash, &account) .deploy_v3(Vec::new(), Felt::ZERO, false) .send() diff --git a/crates/trie/Cargo.toml b/crates/trie/Cargo.toml index 9a099fbea..3d312ee0b 100644 --- a/crates/trie/Cargo.toml +++ b/crates/trie/Cargo.toml @@ -17,7 +17,7 @@ starknet-types-core.workspace = true thiserror.workspace = true [dependencies.bonsai-trie] -rev = "8b509fd" +rev = "c59f52e" default-features = false features = [ "std" ] git = "https://github.com/dojoengine/bonsai-trie/" diff --git a/rust-toolchain.toml b/rust-toolchain.toml index cf6d0f556..b8889a3bb 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.86.0" +channel = "1.87.0" diff --git a/scripts/clippy.sh b/scripts/clippy.sh index dec023999..a24b3e596 100755 --- a/scripts/clippy.sh +++ b/scripts/clippy.sh @@ -8,7 +8,7 @@ set -x set -o pipefail run_clippy() { - cargo +nightly-2025-02-20 clippy --all-targets "$@" -- -D warnings -D future-incompatible -D nonstandard-style -D rust-2018-idioms -D unused -D missing-debug-implementations + cargo +nightly-2025-05-01 clippy --all-targets "$@" -- -D warnings -D future-incompatible -D nonstandard-style -D rust-2018-idioms -D unused -D missing-debug-implementations } . ./scripts/cairo-native.env.sh && run_clippy -p katana --all-features