From 0eabee17a2250f2ce8d968666dc19eb2caf05b5f Mon Sep 17 00:00:00 2001 From: Tomas Fabrizio Orsi Date: Wed, 25 Feb 2026 17:05:59 -0300 Subject: [PATCH 1/3] feat: remove testing funcitons in favor of miden-protocol equivalents Signed-off-by: Tomas Fabrizio Orsi --- .github/workflows/ci.yml | 8 + Cargo.lock | 803 +++++++++++------- Cargo.toml | 6 + tests/integration-network/Cargo.toml | 2 +- .../src/mockchain/basic_wallet.rs | 163 ++-- .../src/mockchain/counter_contract.rs | 54 +- .../src/mockchain/counter_contract_no_auth.rs | 55 +- .../mockchain/counter_contract_rust_auth.rs | 41 +- .../src/mockchain/helpers.rs | 186 ++-- 9 files changed, 702 insertions(+), 616 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 941fa4a3e..a6f372f4e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -317,6 +317,14 @@ jobs: if ! cargo make --version 2>/dev/null; then cargo install cargo-make --force fi + + # Some integration tests use midenup to compile the example projects + - name: Install midenup + run: | + if ! miden help 2>/dev/null; then + cargo install --git https://github.com/0xMiden/midenup + fi + - name: Test run: | cargo make test -E 'package(midenc-integration-network-tests)' diff --git a/Cargo.lock b/Cargo.lock index 8453f11a4..26a7526f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -150,12 +150,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" -dependencies = [ - "backtrace", -] +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "anymap2" @@ -192,7 +189,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -287,9 +284,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "bitmaps" @@ -356,9 +353,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.1" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "byteorder" @@ -368,9 +365,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "camino" @@ -414,9 +411,9 @@ dependencies = [ [[package]] name = "cargo-util" -version = "0.2.26" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f70b0c7772872ac3234e46a6591091d4da57f0c3aa24c381776ed1550624a14b" +checksum = "4a4b72539a4e322539ac3cd07d7e63d60ca3823f3143a2d39a9f8fcdace0e8ca" dependencies = [ "anyhow", "core-foundation", @@ -472,9 +469,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.55" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ "find-msvc-tools", "jobserver", @@ -514,9 +511,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.43" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "js-sys", @@ -565,9 +562,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.56" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75ca66430e33a14957acc24c5077b503e7d374151b2b4b3a10c83b4ceb4be0e" +checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" dependencies = [ "clap_builder", "clap_derive", @@ -575,9 +572,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.56" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0" +checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" dependencies = [ "anstream", "anstyle", @@ -595,14 +592,14 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "clap_lex" -version = "0.7.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" [[package]] name = "colorchoice" @@ -645,7 +642,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d" dependencies = [ "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -720,9 +717,9 @@ dependencies = [ [[package]] name = "criterion" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d883447757bb0ee46f233e9dc22eb84d93a9508c9b868687b274fc431d886bf" +checksum = "950046b2aa2492f9a536f5f4f9a3de7b9e2476e575e05bd6c333371add4d98f3" dependencies = [ "alloca", "anes", @@ -745,9 +742,9 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed943f81ea2faa8dcecbbfa50164acf95d555afec96a27871663b300e387b2e4" +checksum = "d8d80a2f4f5b554395e47b5d8305bc3d27813bacb73493eb1001e8f76dae29ea" dependencies = [ "cast", "itertools 0.13.0", @@ -857,7 +854,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -891,7 +888,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -904,7 +901,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -915,7 +912,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -926,7 +923,7 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -941,9 +938,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.5" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", ] @@ -966,7 +963,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -1059,18 +1056,18 @@ dependencies = [ [[package]] name = "ena" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +checksum = "eabffdaee24bd1bf95c5ef7cec31260444317e72ea56c4c91750e8b7ee58d5f1" dependencies = [ "log", ] [[package]] name = "env_filter" -version = "0.1.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" +checksum = "7a1c3cc8e57274ec99de65301228b537f1e4eedc1b8e0f9411c6caac8ae7308f" dependencies = [ "log", "regex", @@ -1078,9 +1075,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" +checksum = "b2daee4ea451f429a58296525ddf28b45a3b64f1acf6587e2067437bb11e218d" dependencies = [ "anstream", "anstyle", @@ -1164,9 +1161,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", @@ -1204,9 +1201,9 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "fs-err" -version = "3.2.2" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf68cef89750956493a66a10f512b9e58d9db21f2a573c079c0bdf1207a54a7" +checksum = "73fde052dbfc920003cfd2c8e2c6e6d4cc7c1091538c3a24226cec0665ab08c0" dependencies = [ "autocfg", ] @@ -1219,9 +1216,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1234,9 +1231,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1244,15 +1241,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -1261,38 +1258,38 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -1302,7 +1299,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -1354,11 +1350,24 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + [[package]] name = "gimli" version = "0.31.1" @@ -1547,7 +1556,7 @@ dependencies = [ "serde", "serde_derive", "sysinfo", - "toml 0.9.11+spec-1.1.0", + "toml 0.9.12+spec-1.1.0", "uuid", ] @@ -1589,13 +1598,12 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "http", "http-body", @@ -1720,7 +1728,7 @@ dependencies = [ "indoc", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -1734,9 +1742,9 @@ dependencies = [ [[package]] name = "inventory" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" +checksum = "009ae045c87e7082cb72dab0ccd01ae075dd00141ddc108f43a0ea150a9e7227" dependencies = [ "rustversion", ] @@ -1779,9 +1787,9 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jiff" -version = "0.2.18" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" +checksum = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" dependencies = [ "jiff-static", "log", @@ -1792,13 +1800,13 @@ dependencies = [ [[package]] name = "jiff-static" -version = "0.2.18" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" +checksum = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -1813,9 +1821,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.85" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", @@ -1837,9 +1845,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ "cpufeatures", ] @@ -1899,9 +1907,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libc" -version = "0.2.180" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libm" @@ -1911,13 +1919,14 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" +checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" dependencies = [ "bitflags", "libc", - "redox_syscall 0.7.0", + "plain", + "redox_syscall 0.7.3", ] [[package]] @@ -1946,9 +1955,9 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "liquid" @@ -1987,7 +1996,7 @@ checksum = "de66c928222984aea59fcaed8ba627f388aaac3c1f57dcb05cc25495ef8faefe" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2028,7 +2037,7 @@ dependencies = [ "serde_spanned 1.0.4", "smallvec", "thiserror", - "toml 0.9.11+spec-1.1.0", + "toml 0.9.12+spec-1.1.0", "walkdir", ] @@ -2106,7 +2115,7 @@ dependencies = [ "quote", "regex-syntax", "rustc_version 0.4.1", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2120,7 +2129,7 @@ dependencies = [ "quote", "regex-automata", "regex-syntax", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2174,15 +2183,15 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memmap2" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" dependencies = [ "libc", ] @@ -2213,8 +2222,7 @@ dependencies = [ [[package]] name = "miden-agglayer" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a867217bab689c0539f6b4797cb452f0932de6904479a38f1322e045b9383b" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "fs-err", "miden-assembly", @@ -2229,9 +2237,9 @@ dependencies = [ [[package]] name = "miden-air" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33eacdeeaf50a704b221efe81abf1f1e9870154c5bd4acc11f5ad3f872e73509" +checksum = "5cca9632323bd4e32ae5b21b101ed417a646f5d72196b1bf3f1ca889a148322a" dependencies = [ "miden-core", "miden-utils-indexing", @@ -2242,9 +2250,9 @@ dependencies = [ [[package]] name = "miden-assembly" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdebc6a73964aaf92179d9a9925ca48d662894f24774ab6380e784214de00fdb" +checksum = "2395b2917aea613a285d3425d1ca07e6c45442e2b34febdea2081db555df62fc" dependencies = [ "env_logger", "log", @@ -2257,9 +2265,9 @@ dependencies = [ [[package]] name = "miden-assembly-syntax" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7b96df3facd26ae58fe0c3c30bd1d8e83c2b7f0b0c9c046800901dc1eff14e" +checksum = "1f9bed037d137f209b9e7b28811ec78c0536b3f9259d6f4ceb5823c87513b346" dependencies = [ "aho-corasick", "env_logger", @@ -2296,10 +2304,10 @@ dependencies = [ "proc-macro2", "quote", "semver 1.0.27", - "syn 2.0.114", + "syn 2.0.117", "toml 0.8.23", - "wit-bindgen-core", - "wit-bindgen-rust", + "wit-bindgen-core 0.46.0", + "wit-bindgen-rust 0.46.0", ] [[package]] @@ -2313,8 +2321,7 @@ dependencies = [ [[package]] name = "miden-block-prover" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e92a0ddae8d0983e37bc636edba741947b1e3dc63baed2ad85921342080154a" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "miden-protocol", "thiserror", @@ -2322,9 +2329,8 @@ dependencies = [ [[package]] name = "miden-client" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b256399e6f0d7ae53a592b771a1286c46ca6b45397d1c5fda6d83dbd222357" +version = "0.13.2" +source = "git+https://github.com/lambdaclass/miden-client.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#67e8cd003f6f5dba22c8fc3dc54fcd6b51798d4d" dependencies = [ "anyhow", "async-trait", @@ -2357,9 +2363,9 @@ dependencies = [ [[package]] name = "miden-core" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10cb3c6b071a7a5fc6a10dfbaed76f3d0170f3739a231233a3c5e27596a5612f" +checksum = "8714aa5f86c59e647b7417126b32adc4ef618f835964464f5425549df76b6d03" dependencies = [ "derive_more", "itertools 0.14.0", @@ -2379,9 +2385,9 @@ dependencies = [ [[package]] name = "miden-core-lib" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703c0e94089a3135ba75e3586fcb4e5d61e3bee10a7ee1dad0b2ac0a497c14e9" +checksum = "1bb16a4d39202c59a7964d3585cd5af21a46a759ff6452cb5f20723ed5af4362" dependencies = [ "env_logger", "fs-err", @@ -2396,9 +2402,9 @@ dependencies = [ [[package]] name = "miden-crypto" -version = "0.19.4" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e28b6e110f339c2edc2760a8cb94863f0a055ee658a49bc90c8560eff2feef4" +checksum = "be59336a868de7c379eace9450563c2d7f4a0b7ab936835ec5a340dcd8d9a5ed" dependencies = [ "blake3", "cc", @@ -2430,19 +2436,19 @@ dependencies = [ [[package]] name = "miden-crypto-derive" -version = "0.19.4" +version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40e95b9c7c99ed6bbf073d9e02721d812dedd2c195019c0a0e0a3dbb9cbf034" +checksum = "06f2e7a7ac7d01e03a7340224722e75494826fe6b61a3796b77fbb044d018287" dependencies = [ "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "miden-debug" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39b757124b749cb4226c7d78758514b8eb0b2fdd948c8937ef0fd60dab107bf3" +checksum = "f455b2a9cce122acb228a5cfd24ca9a6055d2e02b0efc45d4f1d80368b78af25" dependencies = [ "clap", "crossterm", @@ -2457,6 +2463,7 @@ dependencies = [ "miden-mast-package", "miden-processor", "miden-thiserror", + "num-traits", "proptest", "ratatui", "rustc-demangle", @@ -2472,9 +2479,9 @@ dependencies = [ [[package]] name = "miden-debug-types" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb127273a9ee9ac1f9ad71899c1c2a0dea8cf768a90024d2d8b91800980c756" +checksum = "cd1494f102ad5b9fa43e391d2601186dc601f41ab7dcd8a23ecca9bf3ef930f4" dependencies = [ "memchr", "miden-crypto", @@ -2510,7 +2517,7 @@ version = "0.10.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -2577,9 +2584,9 @@ dependencies = [ [[package]] name = "miden-mast-package" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f7b21cd2593ed5930d5af10b197917dd6668ab34e203e47fb9c1ba712dc9a2c" +checksum = "692185bfbe0ecdb28bf623f1f8c88282cd6727ba081a28e23b301bdde1b45be4" dependencies = [ "derive_more", "miden-assembly-syntax", @@ -2610,7 +2617,7 @@ dependencies = [ "supports-color", "supports-hyperlinks", "supports-unicode", - "syn 2.0.114", + "syn 2.0.117", "terminal_size 0.3.0", "textwrap", "thiserror", @@ -2626,14 +2633,14 @@ checksum = "86a905f3ea65634dd4d1041a4f0fd0a3e77aa4118341d265af1a94339182222f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "miden-node-proto-build" -version = "0.13.3" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba5dcc0fa93d0d647cd4f39327f01d55adc843c0b1be3b122794cb5ffdb85c2" +checksum = "0dbef933692f0dd848acc150e3d50cc2bb52a940f3e7a38dd6778a2d317fc8f2" dependencies = [ "fs-err", "miette", @@ -2655,9 +2662,9 @@ dependencies = [ [[package]] name = "miden-processor" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72712c2c71774f7a49d66a0265b57be7a283919ffbdc4b034ab355b0283de021" +checksum = "0e09f7916b1e7505f74a50985a185fdea4c0ceb8f854a34c90db28e3f7da7ab6" dependencies = [ "itertools 0.14.0", "miden-air", @@ -2676,8 +2683,7 @@ dependencies = [ [[package]] name = "miden-protocol" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "785be319a826c9cb43d2e1a41a1fb1eee3f2baafe360e0d743690641f7c93ad5" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "bech32", "fs-err", @@ -2699,7 +2705,7 @@ dependencies = [ "semver 1.0.27", "serde", "thiserror", - "toml 0.9.11+spec-1.1.0", + "toml 0.9.12+spec-1.1.0", "walkdir", "winter-rand-utils", ] @@ -2707,19 +2713,18 @@ dependencies = [ [[package]] name = "miden-protocol-macros" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dc854c1b9e49e82d3f39c5710345226e0b2a62ec0ea220c616f1f3a099cfb3" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "miden-prover" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6a65651c8bf931743580c4a8c00a35f3453da39679bd23fa95f29ae7849ffd" +checksum = "d45e30526be72b8af0fd1d8b24c9cba8ac1187ca335dcee38b8e5e20234e7698" dependencies = [ "miden-air", "miden-debug-types", @@ -2731,9 +2736,9 @@ dependencies = [ [[package]] name = "miden-remote-prover-client" -version = "0.13.3" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1badab21e9a4680c3cf2b04857d0141fd499fc1da615eaa785ae7d191aa43f6" +checksum = "7be286b5dc444f7341ea2b6ce56ad89090075a7f98a030c67aee828b7a3b15e9" dependencies = [ "fs-err", "getrandom 0.3.4", @@ -2757,8 +2762,7 @@ version = "0.10.0" [[package]] name = "miden-standards" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98e33771fc35e1e640582bcd26c88b2ab449dd3a70888b315546d0d3447f4bb3" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "fs-err", "miden-assembly", @@ -2800,14 +2804,13 @@ dependencies = [ "miden-mast-package", "miden-testing", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "miden-testing" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae5d41a888d1a5e520a9312a170975d0fbadefb1b9200543cebdf54dd0960310" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "anyhow", "itertools 0.14.0", @@ -2842,14 +2845,13 @@ checksum = "0ee4176a0f2e7d29d2a8ee7e60b6deb14ce67a20e94c3e2c7275cdb8804e1862" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "miden-tx" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "430e4ee02b5efb71b104926e229441e0071a93a259a70740bf8c436495caa64f" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "miden-processor", "miden-protocol", @@ -2862,8 +2864,7 @@ dependencies = [ [[package]] name = "miden-tx-batch-prover" version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03bc209b6487ebac0de230461e229a99d17ed73596c7d99fc59eea47a28a89cc" +source = "git+https://github.com/lambdaclass/miden-base.git?branch=fabrizioorsi%2Fmiden-testing-compiler-backport#b4852646e9508c4df51d9e62e00cb8b1fe99317e" dependencies = [ "miden-protocol", "miden-tx", @@ -2871,9 +2872,9 @@ dependencies = [ [[package]] name = "miden-utils-core-derive" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3753ff5c16cb83244d234b7f76fb8abec3377200b215859fe599c41465e7d36b" +checksum = "a1b1d490e6d7b509622d3c2cc69ffd66ad48bf953dc614579b568fe956ce0a6c" dependencies = [ "proc-macro2", "quote", @@ -2882,9 +2883,9 @@ dependencies = [ [[package]] name = "miden-utils-diagnostics" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de6c667538374e6a3579397a29f82d94e62d2f9cf1eca8a95da1a7acbfed381d" +checksum = "52658f6dc091c1c78e8b35ee3e7ff3dad53051971a3c514e461f581333758fe7" dependencies = [ "miden-crypto", "miden-debug-types", @@ -2895,18 +2896,18 @@ dependencies = [ [[package]] name = "miden-utils-indexing" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e135423d4d3d626ea15fdfe7070abe5f7908ac71a2d174c832c870668fb2a3" +checksum = "eeff7bcb7875b222424bdfb657a7cf21a55e036aa7558ebe1f5d2e413b440d0d" dependencies = [ "thiserror", ] [[package]] name = "miden-utils-sync" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9e678634bd9ce5d6f89809cda926a268bcbfe72aa0a5d2031a0c8182074992" +checksum = "41d53d1ab5b275d8052ad9c4121071cb184bc276ee74354b0d8a2075e5c1d1f0" dependencies = [ "lock_api", "loom", @@ -2915,9 +2916,9 @@ dependencies = [ [[package]] name = "miden-verifier" -version = "0.20.5" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9513494a2a8cd876150bbbb5a2985b078368de280cc8a52e9aff41320c344b7" +checksum = "b13816663794beb15c8a4721c15252eb21f3b3233525684f60c7888837a98ff4" dependencies = [ "miden-air", "miden-core", @@ -3163,7 +3164,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3288,7 +3289,7 @@ checksum = "db5b29714e950dbb20d5e6f74f9dcec4edbcc1067bb7f8ed198c097b8c1a818b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3351,9 +3352,9 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "ntapi" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c70f219e21142367c70c0b30c6a9e3a14d55b4d12a204d897fbec83a0363f081" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ "winapi", ] @@ -3414,7 +3415,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3551,9 +3552,9 @@ checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "owo-colors" -version = "4.2.3" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6901729fa79e91a0913333229e9ca5dc725089d1c363b2f4b4760709dc4a52" +checksum = "d211803b9b6b570f68772237e415a029d5a50c65d382910b879fb19d3271f94d" [[package]] name = "page_size" @@ -3620,9 +3621,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7" +checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" dependencies = [ "memchr", "ucd-trie", @@ -3630,9 +3631,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed" +checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77" dependencies = [ "pest", "pest_generator", @@ -3640,22 +3641,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5" +checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "pest_meta" -version = "2.8.5" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365" +checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220" dependencies = [ "pest", "sha2", @@ -3693,29 +3694,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" @@ -3739,6 +3740,12 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + [[package]] name = "plotters" version = "0.3.7" @@ -3831,7 +3838,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3845,9 +3852,9 @@ dependencies = [ [[package]] name = "proptest" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +checksum = "37566cb3fdacef14c0737f9546df7cfeadbfbc9fef10991038bf5015d0c80532" dependencies = [ "bit-set", "bit-vec", @@ -3870,14 +3877,14 @@ checksum = "fb6dc647500e84a25a85b100e76c85b8ace114c209432dc174f20aac11d4ed6c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "prost" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ "bytes", "prost-derive", @@ -3885,23 +3892,22 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" +checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck", "itertools 0.14.0", "log", "multimap", - "once_cell", - "petgraph 0.7.1", + "petgraph 0.8.3", "prettyplease", "prost", "prost-types", "pulldown-cmark", "pulldown-cmark-to-cmark", "regex", - "syn 2.0.114", + "syn 2.0.117", "tempfile", ] @@ -3915,7 +3921,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -3932,18 +3938,18 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ "prost", ] [[package]] name = "protox" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8555716f64c546306ddf3383065dc40d4232609e79e0a4c50e94e87d54f30fb4" +checksum = "4f25a07a73c6717f0b9bbbd685918f5df9815f7efba450b83d9c9dea41f0e3a1" dependencies = [ "bytes", "miette", @@ -3968,9 +3974,9 @@ dependencies = [ [[package]] name = "pulldown-cmark" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" +checksum = "83c41efbf8f90ac44de7f3a868f0867851d261b56291732d0cbf7cceaaeb55a6" dependencies = [ "bitflags", "memchr", @@ -3979,9 +3985,9 @@ dependencies = [ [[package]] name = "pulldown-cmark-to-cmark" -version = "21.1.0" +version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8246feae3db61428fd0bb94285c690b460e4517d83152377543ca802357785f1" +checksum = "50793def1b900256624a709439404384204a5dc3a6ec580281bfaac35e882e90" dependencies = [ "pulldown-cmark", ] @@ -3994,9 +4000,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.44" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -4007,6 +4013,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "radium" version = "0.7.0" @@ -4139,18 +4151,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.7.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" dependencies = [ "bitflags", ] [[package]] name = "regex" -version = "1.12.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", @@ -4160,9 +4172,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -4171,9 +4183,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "rfc6979" @@ -4244,22 +4256,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", - "linux-raw-sys 0.11.0", + "linux-raw-sys 0.12.1", "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.36" +version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ "log", "once_cell", @@ -4331,9 +4343,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "same-file" @@ -4381,9 +4393,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.5.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation", @@ -4394,9 +4406,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.15.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -4454,7 +4466,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4478,7 +4490,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4655,12 +4667,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -4740,7 +4752,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4783,9 +4795,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -4845,14 +4857,14 @@ checksum = "591ef38edfb78ca4771ee32cf494cb8771944bee237a9b91fc9c1424ac4b777b" [[package]] name = "tempfile" -version = "3.24.0" +version = "3.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" +checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", - "rustix 1.1.3", + "rustix 1.1.4", "windows-sys 0.61.2", ] @@ -4890,7 +4902,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ - "rustix 1.1.3", + "rustix 1.1.4", "windows-sys 0.60.2", ] @@ -4922,7 +4934,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -4936,9 +4948,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.46" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", @@ -4957,9 +4969,9 @@ checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.26" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", @@ -4977,9 +4989,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.49.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", @@ -4992,13 +5004,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5051,9 +5063,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.11+spec-1.1.0" +version = "0.9.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" dependencies = [ "indexmap", "serde_core", @@ -5064,6 +5076,21 @@ dependencies = [ "winnow", ] +[[package]] +name = "toml" +version = "1.0.4+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94c3321114413476740df133f0d8862c61d87c8d26f04c6841e033c8c80db47" +dependencies = [ + "indexmap", + "serde_core", + "serde_spanned 1.0.4", + "toml_datetime 1.0.0+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -5082,6 +5109,15 @@ dependencies = [ "serde_core", ] +[[package]] +name = "toml_datetime" +version = "1.0.0+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.22.27" @@ -5113,9 +5149,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.6+spec-1.1.0" +version = "1.0.9+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" dependencies = [ "winnow", ] @@ -5134,9 +5170,9 @@ checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" [[package]] name = "tonic" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a286e33f82f8a1ee2df63f4fa35c0becf4a85a0cb03091a15fd7bf0b402dc94a" +checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" dependencies = [ "async-trait", "base64", @@ -5164,21 +5200,21 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27aac809edf60b741e2d7db6367214d078856b8a5bff0087e94ff330fb97b6fc" +checksum = "1882ac3bf5ef12877d7ed57aad87e75154c11931c2ba7e6cde5e22d63522c734" dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] name = "tonic-health" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dbde2c702c4be12b9b2f6f7e6c824a84a7b7be177070cada8ee575a581af359" +checksum = "f4ff0636fef47afb3ec02818f5bceb4377b8abb9d6a386aeade18bd6212f8eb7" dependencies = [ "prost", "tokio", @@ -5189,9 +5225,9 @@ dependencies = [ [[package]] name = "tonic-prost" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c55a2d6a14174563de34409c9f92ff981d006f56da9c6ecd40d9d4a31500b0" +checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" dependencies = [ "bytes", "prost", @@ -5200,16 +5236,16 @@ dependencies = [ [[package]] name = "tonic-prost-build" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4556786613791cfef4ed134aa670b61a85cfcacf71543ef33e8d801abae988f" +checksum = "f3144df636917574672e93d0f56d7edec49f90305749c668df5101751bb8f95a" dependencies = [ "prettyplease", "proc-macro2", "prost-build", "prost-types", "quote", - "syn 2.0.114", + "syn 2.0.117", "tempfile", "tonic-build", ] @@ -5289,7 +5325,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5339,9 +5375,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f614c21bd3a61bad9501d75cbb7686f00386c806d7f456778432c25cf86948a" +checksum = "47c635f0191bd3a2941013e5062667100969f8c4e9cd787c14f977265d73616e" dependencies = [ "dissimilar", "glob", @@ -5350,7 +5386,7 @@ dependencies = [ "serde_json", "target-triple", "termcolor", - "toml 0.9.11+spec-1.1.0", + "toml 1.0.4+spec-1.1.0", ] [[package]] @@ -5405,9 +5441,9 @@ checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-linebreak" @@ -5474,11 +5510,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.20.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" +checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.2", "js-sys", "serde_core", "wasm-bindgen", @@ -5548,11 +5584,20 @@ dependencies = [ "wit-bindgen 0.51.0", ] +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + [[package]] name = "wasm-bindgen" -version = "0.2.108" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -5563,9 +5608,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.58" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", "futures-util", @@ -5577,9 +5622,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.108" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5587,22 +5632,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.108" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.108" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] @@ -5627,6 +5672,16 @@ dependencies = [ "wasmparser 0.244.0", ] +[[package]] +name = "wasm-encoder" +version = "0.245.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9dca005e69bf015e45577e415b9af8c67e8ee3c0e38b5b0add5aa92581ed5c" +dependencies = [ + "leb128fmt", + "wasmparser 0.245.1", +] + [[package]] name = "wasm-metadata" version = "0.239.0" @@ -5639,6 +5694,18 @@ dependencies = [ "wasmparser 0.239.0", ] +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder 0.244.0", + "wasmparser 0.244.0", +] + [[package]] name = "wasm-streams" version = "0.4.2" @@ -5680,6 +5747,18 @@ name = "wasmparser" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver 1.0.27", +] + +[[package]] +name = "wasmparser" +version = "0.245.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f08c9adee0428b7bddf3890fc27e015ac4b761cc608c822667102b8bfd6995e" dependencies = [ "bitflags", "indexmap", @@ -5699,31 +5778,31 @@ dependencies = [ [[package]] name = "wast" -version = "244.0.0" +version = "245.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e7b9f9e23311275920e3d6b56d64137c160cf8af4f84a7283b36cfecbf4acb" +checksum = "28cf1149285569120b8ce39db8b465e8a2b55c34cbb586bd977e43e2bc7300bf" dependencies = [ "bumpalo", "leb128fmt", "memchr", "unicode-width 0.2.0", - "wasm-encoder 0.244.0", + "wasm-encoder 0.245.1", ] [[package]] name = "wat" -version = "1.244.0" +version = "1.245.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf35b87ed352f9ab6cd0732abde5a67dd6153dfd02c493e61459218b19456fa" +checksum = "cd48d1679b6858988cb96b154dda0ec5bbb09275b71db46057be37332d5477be" dependencies = [ "wast", ] [[package]] name = "web-sys" -version = "0.3.85" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -5827,7 +5906,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -5838,7 +5917,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6141,9 +6220,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.14" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" dependencies = [ "memchr", ] @@ -6200,7 +6279,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d31a19dae58475d019850e25b0170e94b16d382fbf6afee9c0e80fdc935e73e" dependencies = [ "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6267,7 +6346,7 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" dependencies = [ - "wit-bindgen-rust-macro", + "wit-bindgen-rust-macro 0.46.0", ] [[package]] @@ -6275,6 +6354,9 @@ name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro 0.51.0", +] [[package]] name = "wit-bindgen-core" @@ -6284,7 +6366,18 @@ checksum = "cabd629f94da277abc739c71353397046401518efb2c707669f805205f0b9890" dependencies = [ "anyhow", "heck", - "wit-parser", + "wit-parser 0.239.0", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser 0.244.0", ] [[package]] @@ -6297,10 +6390,26 @@ dependencies = [ "heck", "indexmap", "prettyplease", - "syn 2.0.114", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", + "syn 2.0.117", + "wasm-metadata 0.239.0", + "wit-bindgen-core 0.46.0", + "wit-component 0.239.0", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn 2.0.117", + "wasm-metadata 0.244.0", + "wit-bindgen-core 0.51.0", + "wit-component 0.244.0", ] [[package]] @@ -6313,9 +6422,24 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.114", - "wit-bindgen-core", - "wit-bindgen-rust", + "syn 2.0.117", + "wit-bindgen-core 0.46.0", + "wit-bindgen-rust 0.46.0", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.117", + "wit-bindgen-core 0.51.0", + "wit-bindgen-rust 0.51.0", ] [[package]] @@ -6332,9 +6456,28 @@ dependencies = [ "serde_derive", "serde_json", "wasm-encoder 0.239.0", - "wasm-metadata", + "wasm-metadata 0.239.0", "wasmparser 0.239.0", - "wit-parser", + "wit-parser 0.239.0", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder 0.244.0", + "wasm-metadata 0.244.0", + "wasmparser 0.244.0", + "wit-parser 0.244.0", ] [[package]] @@ -6355,6 +6498,24 @@ dependencies = [ "wasmparser 0.239.0", ] +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver 1.0.27", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser 0.244.0", +] + [[package]] name = "wyz" version = "0.5.1" @@ -6391,22 +6552,22 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "zerocopy" -version = "0.8.37" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac" +checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.37" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0" +checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953" dependencies = [ "proc-macro2", "quote", - "syn 2.0.114", + "syn 2.0.117", ] [[package]] @@ -6417,6 +6578,6 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zmij" -version = "1.0.19" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/Cargo.toml b/Cargo.toml index b85d42460..628194b35 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -170,6 +170,12 @@ miden-test-harness-macros = { path = "test-harness/test-harness-macros" } #miden-processor = { path = "../miden-vm/processor" } #miden-mast-package = { git = "https://github.com/0xMiden/miden-vm", rev = "614cd7f9b52f45238b0ab59c71ebb49325051e5d" } #miden-mast-package = { path = "../miden-vm/package" } +miden-protocol = { git = "https://github.com/lambdaclass/miden-base.git", branch = "fabrizioorsi/miden-testing-compiler-backport" } +miden-standards = { git = "https://github.com/lambdaclass/miden-base.git", branch = "fabrizioorsi/miden-testing-compiler-backport" } +miden-testing = { git = "https://github.com/lambdaclass/miden-base.git", branch = "fabrizioorsi/miden-testing-compiler-backport" } +miden-tx = { git = "https://github.com/lambdaclass/miden-base.git", branch = "fabrizioorsi/miden-testing-compiler-backport" } +miden-block-prover = { git = "https://github.com/lambdaclass/miden-base.git", branch = "fabrizioorsi/miden-testing-compiler-backport" } +miden-tx-batch-prover = { git = "https://github.com/lambdaclass/miden-base.git", branch = "fabrizioorsi/miden-testing-compiler-backport" } [profile.dev] diff --git a/tests/integration-network/Cargo.toml b/tests/integration-network/Cargo.toml index 8b4f41b0c..26068868f 100644 --- a/tests/integration-network/Cargo.toml +++ b/tests/integration-network/Cargo.toml @@ -12,7 +12,7 @@ edition.workspace = true publish = false [dependencies] -miden-client = { version = "0.13", features = ["std", "tonic", "testing"] } +miden-client = { branch = "fabrizioorsi/miden-testing-compiler-backport", git = "https://github.com/lambdaclass/miden-client.git", features = ["std", "tonic", "testing"] } miden-core.workspace = true miden-protocol = { workspace = true, features = ["std"] } miden-standards = { workspace = true, features = ["std"] } diff --git a/tests/integration-network/src/mockchain/basic_wallet.rs b/tests/integration-network/src/mockchain/basic_wallet.rs index b79c9b9e1..16dd90aec 100644 --- a/tests/integration-network/src/mockchain/basic_wallet.rs +++ b/tests/integration-network/src/mockchain/basic_wallet.rs @@ -1,19 +1,20 @@ //! Basic wallet test module use miden_client::{ + account::component::{BasicWallet, InitStorageData}, asset::FungibleAsset, crypto::RpoRandomCoin, - note::NoteAssets, - testing::{AccountState, Auth, MockChain}, + testing::{Auth, MockChain, NoteBuilder}, transaction::OutputNote, }; use miden_core::Felt; +use miden_protocol::{account::AccountComponent, asset::Asset}; use super::helpers::{ - NoteCreationConfig, assert_account_has_fungible_asset, build_asset_transfer_tx, - build_existing_basic_wallet_account_builder, build_send_notes_script, compile_rust_package, - create_note_from_package, execute_tx, to_core_felts, + assert_account_has_fungible_asset, build_asset_transfer_tx, build_send_notes_script, + execute_tx, to_core_felts, }; +use crate::mockchain::helpers::compile_rust_package; /// Tests the basic-wallet contract deployment and p2id note consumption workflow on a mock chain. #[test] @@ -23,6 +24,9 @@ pub fn test_basic_wallet_p2id() { let note_package = compile_rust_package("../../examples/p2id-note", true); let tx_script_package = compile_rust_package("../../examples/basic-wallet-tx-script", true); + let wallet_component = + AccountComponent::from_package(&wallet_package, &InitStorageData::default()).unwrap(); + let mut builder = MockChain::builder(); let max_supply = 1_000_000_000u64; let faucet_account = builder @@ -31,20 +35,12 @@ pub fn test_basic_wallet_p2id() { let faucet_id = faucet_account.id(); let alice_account = builder - .add_account_from_builder( - Auth::BasicAuth, - build_existing_basic_wallet_account_builder(wallet_package.clone(), false, [1_u8; 32]), - AccountState::Exists, - ) + .add_existing_account_from_components(Auth::BasicAuth, [wallet_component.clone()]) .unwrap(); let alice_id = alice_account.id(); let bob_account = builder - .add_account_from_builder( - Auth::BasicAuth, - build_existing_basic_wallet_account_builder(wallet_package, false, [2_u8; 32]), - AccountState::Exists, - ) + .add_existing_account_from_components(Auth::BasicAuth, [wallet_component]) .unwrap(); let bob_id = bob_account.id(); @@ -57,16 +53,13 @@ pub fn test_basic_wallet_p2id() { let mint_asset = FungibleAsset::new(faucet_id, mint_amount).unwrap(); let mut note_rng = RpoRandomCoin::new(note_package.unwrap_program().hash()); - let p2id_note_mint = create_note_from_package( - note_package.clone(), - faucet_id, - NoteCreationConfig { - assets: NoteAssets::new(vec![mint_asset.into()]).unwrap(), - inputs: to_core_felts(&alice_id), - ..Default::default() - }, - &mut note_rng, - ); + let p2id_note_mint = NoteBuilder::new(faucet_id, &mut note_rng) + .package((*note_package).clone()) + .add_assets([Asset::from(mint_asset)]) + .note_inputs(to_core_felts(&alice_id)) + .unwrap() + .build() + .unwrap(); let faucet_account = chain.committed_account(faucet_id).unwrap().clone(); let mint_tx_script = @@ -128,6 +121,9 @@ pub fn test_basic_wallet_p2ide() { let p2id_note_package = compile_rust_package("../../examples/p2id-note", true); let p2ide_note_package = compile_rust_package("../../examples/p2ide-note", true); + let wallet_component = + AccountComponent::from_package(&wallet_package, &InitStorageData::default()).unwrap(); + let mut builder = MockChain::builder(); let max_supply = 1_000_000_000u64; let faucet_account = builder @@ -136,20 +132,15 @@ pub fn test_basic_wallet_p2ide() { let faucet_id = faucet_account.id(); let alice_account = builder - .add_account_from_builder( + .add_existing_account_from_components( Auth::BasicAuth, - build_existing_basic_wallet_account_builder(wallet_package.clone(), true, [3_u8; 32]), - AccountState::Exists, + [wallet_component.clone(), BasicWallet.into()], ) .unwrap(); let alice_id = alice_account.id(); let bob_account = builder - .add_account_from_builder( - Auth::BasicAuth, - build_existing_basic_wallet_account_builder(wallet_package, false, [4_u8; 32]), - AccountState::Exists, - ) + .add_existing_account_from_components(Auth::BasicAuth, [wallet_component]) .unwrap(); let bob_id = bob_account.id(); @@ -161,17 +152,14 @@ pub fn test_basic_wallet_p2ide() { let mint_amount = 100_000u64; let mint_asset = FungibleAsset::new(faucet_id, mint_amount).unwrap(); - let mut p2id_rng = RpoRandomCoin::new(p2id_note_package.unwrap_program().hash()); - let p2id_note_mint = create_note_from_package( - p2id_note_package.clone(), - faucet_id, - NoteCreationConfig { - assets: NoteAssets::new(vec![mint_asset.into()]).unwrap(), - inputs: to_core_felts(&alice_id), - ..Default::default() - }, - &mut p2id_rng, - ); + let p2id_rng = RpoRandomCoin::new(p2id_note_package.unwrap_program().hash()); + let p2id_note_mint = NoteBuilder::new(faucet_id, p2id_rng) + .package((*p2id_note_package).clone()) + .add_assets([Asset::from(mint_asset)]) + .note_inputs(to_core_felts(&alice_id)) + .unwrap() + .build() + .unwrap(); let faucet_account = chain.committed_account(faucet_id).unwrap().clone(); let mint_tx_script = @@ -197,21 +185,18 @@ pub fn test_basic_wallet_p2ide() { let timelock_height = Felt::new(0); let reclaim_height = Felt::new(0); - let mut p2ide_rng = RpoRandomCoin::new(p2ide_note_package.unwrap_program().hash()); - let p2ide_note = create_note_from_package( - p2ide_note_package, - alice_id, - NoteCreationConfig { - assets: NoteAssets::new(vec![transfer_asset.into()]).unwrap(), - inputs: { - let mut inputs = to_core_felts(&bob_id); - inputs.extend([timelock_height, reclaim_height]); - inputs - }, - ..Default::default() - }, - &mut p2ide_rng, - ); + let p2ide_rng = RpoRandomCoin::new(p2ide_note_package.unwrap_program().hash()); + let p2ide_note = NoteBuilder::new(alice_id, p2ide_rng) + .package((*p2ide_note_package).clone()) + .add_assets([Asset::from(transfer_asset)]) + .note_inputs({ + let mut inputs = to_core_felts(&bob_id); + inputs.extend([timelock_height, reclaim_height]); + inputs + }) + .unwrap() + .build() + .unwrap(); let alice_account = chain.committed_account(alice_id).unwrap().clone(); let transfer_tx_script = @@ -257,21 +242,19 @@ pub fn test_basic_wallet_p2ide_reclaim() { .unwrap(); let faucet_id = faucet_account.id(); + let wallet_component = + AccountComponent::from_package(&wallet_package, &InitStorageData::default()).unwrap(); + let alice_account = builder - .add_account_from_builder( + .add_existing_account_from_components( Auth::BasicAuth, - build_existing_basic_wallet_account_builder(wallet_package.clone(), true, [5_u8; 32]), - AccountState::Exists, + [wallet_component.clone(), BasicWallet.into()], ) .unwrap(); let alice_id = alice_account.id(); let bob_account = builder - .add_account_from_builder( - Auth::BasicAuth, - build_existing_basic_wallet_account_builder(wallet_package, false, [6_u8; 32]), - AccountState::Exists, - ) + .add_existing_account_from_components(Auth::BasicAuth, [wallet_component]) .unwrap(); let bob_id = bob_account.id(); @@ -283,17 +266,14 @@ pub fn test_basic_wallet_p2ide_reclaim() { let mint_amount = 100_000u64; let mint_asset = FungibleAsset::new(faucet_id, mint_amount).unwrap(); - let mut p2id_rng = RpoRandomCoin::new(p2id_note_package.unwrap_program().hash()); - let p2id_note_mint = create_note_from_package( - p2id_note_package.clone(), - faucet_id, - NoteCreationConfig { - assets: NoteAssets::new(vec![mint_asset.into()]).unwrap(), - inputs: to_core_felts(&alice_id), - ..Default::default() - }, - &mut p2id_rng, - ); + let p2id_rng = RpoRandomCoin::new(p2id_note_package.unwrap_program().hash()); + let p2id_note_mint = NoteBuilder::new(faucet_id, p2id_rng) + .package((*p2id_note_package).clone()) + .add_assets([Asset::from(mint_asset)]) + .note_inputs(to_core_felts(&alice_id)) + .unwrap() + .build() + .unwrap(); let faucet_account = chain.committed_account(faucet_id).unwrap().clone(); let mint_tx_script = @@ -319,21 +299,18 @@ pub fn test_basic_wallet_p2ide_reclaim() { let timelock_height = Felt::new(0); let reclaim_height = Felt::new(1000); - let mut p2ide_rng = RpoRandomCoin::new(p2ide_note_package.unwrap_program().hash()); - let p2ide_note = create_note_from_package( - p2ide_note_package, - alice_id, - NoteCreationConfig { - assets: NoteAssets::new(vec![transfer_asset.into()]).unwrap(), - inputs: { - let mut inputs = to_core_felts(&bob_id); - inputs.extend([timelock_height, reclaim_height]); - inputs - }, - ..Default::default() - }, - &mut p2ide_rng, - ); + let p2ide_rng = RpoRandomCoin::new(p2ide_note_package.unwrap_program().hash()); + let p2ide_note = NoteBuilder::new(alice_id, p2ide_rng) + .package((*p2ide_note_package).clone()) + .add_assets([Asset::from(transfer_asset)]) + .note_inputs({ + let mut inputs = to_core_felts(&bob_id); + inputs.extend([timelock_height, reclaim_height]); + inputs + }) + .unwrap() + .build() + .unwrap(); let alice_account = chain.committed_account(alice_id).unwrap().clone(); let transfer_tx_script = diff --git a/tests/integration-network/src/mockchain/counter_contract.rs b/tests/integration-network/src/mockchain/counter_contract.rs index 2a5ab4b51..a001fc42a 100644 --- a/tests/integration-network/src/mockchain/counter_contract.rs +++ b/tests/integration-network/src/mockchain/counter_contract.rs @@ -2,21 +2,19 @@ use miden_client::{ Word, - account::component::BasicWallet, + account::{ + AccountComponent, + component::{BasicWallet, InitStorageData}, + }, crypto::RpoRandomCoin, - note::NoteTag, - testing::{AccountState, Auth, MockChain}, + testing::{Auth, MockChain, NoteBuilder}, transaction::OutputNote, }; use miden_core::{Felt, FieldElement}; -use miden_protocol::account::{ - AccountBuilder, AccountStorageMode, AccountType, StorageMap, StorageSlot, StorageSlotName, -}; +use miden_protocol::account::StorageSlotName; -use super::helpers::{ - NoteCreationConfig, account_component_from_package, assert_counter_storage, - compile_rust_package, create_note_from_package, execute_tx, -}; +use super::helpers::{assert_counter_storage, execute_tx}; +use crate::mockchain::helpers::compile_rust_package; /// Tests the counter contract deployment and note consumption workflow on a mock chain. #[test] @@ -29,33 +27,27 @@ pub fn test_counter_contract() { let value = Word::from([Felt::ZERO, Felt::ZERO, Felt::ZERO, Felt::ONE]); let counter_storage_slot = StorageSlotName::new("miden::component::miden_counter_contract::count_map").unwrap(); - let storage_slots = vec![StorageSlot::with_map( - counter_storage_slot.clone(), - StorageMap::with_entries([(key, value)]).unwrap(), - )]; - let counter_component = account_component_from_package(contract_package, storage_slots); - let counter_account_builder = AccountBuilder::new([0_u8; 32]) - .account_type(AccountType::RegularAccountUpdatableCode) - .storage_mode(AccountStorageMode::Public) - .with_component(BasicWallet) - .with_component(counter_component); + let mut init_storage_data = InitStorageData::default(); + init_storage_data + .insert_map_entry(counter_storage_slot.clone(), key, value) + .unwrap(); + let contract_package = AccountComponent::from_package(&contract_package, &init_storage_data) + .expect("Failed to build account component from counter project"); let mut builder = MockChain::builder(); let counter_account = builder - .add_account_from_builder(Auth::BasicAuth, counter_account_builder, AccountState::Exists) - .expect("failed to add counter account to mock chain builder"); + .add_existing_account_from_components( + Auth::BasicAuth, + [BasicWallet.into(), contract_package], + ) + .unwrap(); let mut rng = RpoRandomCoin::new(note_package.clone().unwrap_program().hash()); - let counter_note = create_note_from_package( - note_package, - counter_account.id(), - NoteCreationConfig { - tag: NoteTag::with_account_target(counter_account.id()), - ..Default::default() - }, - &mut rng, - ); + let counter_note = NoteBuilder::new(counter_account.id(), &mut rng) + .package((*note_package).clone()) + .build() + .unwrap(); builder.add_output_note(OutputNote::Full(counter_note.clone())); let mut chain = builder.build().expect("failed to build mock chain"); diff --git a/tests/integration-network/src/mockchain/counter_contract_no_auth.rs b/tests/integration-network/src/mockchain/counter_contract_no_auth.rs index 04fffd086..a8c27db13 100644 --- a/tests/integration-network/src/mockchain/counter_contract_no_auth.rs +++ b/tests/integration-network/src/mockchain/counter_contract_no_auth.rs @@ -2,22 +2,22 @@ use miden_client::{ Word, - account::component::BasicWallet, + account::{ + AccountComponent, + component::{BasicWallet, InitStorageData}, + }, crypto::RpoRandomCoin, note::NoteTag, - testing::{AccountState, Auth, MockChain}, + testing::{AccountState, Auth, MockChain, NoteBuilder}, transaction::OutputNote, }; use miden_core::{Felt, FieldElement}; -use miden_protocol::account::{ - AccountBuilder, AccountStorageMode, AccountType, StorageMap, StorageSlot, StorageSlotName, -}; +use miden_protocol::account::{AccountBuilder, AccountStorageMode, AccountType, StorageSlotName}; use super::helpers::{ - NoteCreationConfig, assert_counter_storage, - build_existing_counter_account_builder_with_auth_package, compile_rust_package, - create_note_from_package, execute_tx, + assert_counter_storage, build_existing_counter_account_builder_with_auth_package, execute_tx, }; +use crate::mockchain::helpers::compile_rust_package; /// Tests the counter contract with a "no-auth" authentication component. /// @@ -29,7 +29,7 @@ use super::helpers::{ #[test] pub fn test_counter_contract_no_auth() { // Compile the contracts first (before creating any runtime) - let contract_package = compile_rust_package("../../examples/counter-contract", true); + let counter_package = compile_rust_package("../../examples/counter-contract", true); let note_package = compile_rust_package("../../examples/counter-note", true); let no_auth_auth_component = compile_rust_package("../../examples/auth-component-no-auth", true); @@ -38,18 +38,24 @@ pub fn test_counter_contract_no_auth() { let value = Word::from([Felt::ZERO, Felt::ZERO, Felt::ZERO, Felt::ONE]); let counter_storage_slot = StorageSlotName::new("miden::component::miden_counter_contract::count_map").unwrap(); - let counter_storage_slots = vec![StorageSlot::with_map( - counter_storage_slot.clone(), - StorageMap::with_entries([(key, value)]).unwrap(), - )]; - let mut builder = MockChain::builder(); + let counter_component = { + let mut init_storage_data = InitStorageData::default(); + init_storage_data + .insert_map_entry(counter_storage_slot.clone(), key, value) + .unwrap(); + AccountComponent::from_package(&counter_package, &init_storage_data).unwrap() + }; + + let mut counter_init_storage_data = InitStorageData::default(); + counter_init_storage_data + .insert_map_entry(counter_storage_slot.clone(), key, value) + .expect("failed to insert counter map entry"); let counter_account = build_existing_counter_account_builder_with_auth_package( - contract_package, + counter_component, no_auth_auth_component, vec![], - counter_storage_slots, [0_u8; 32], ) .build_existing() @@ -71,16 +77,13 @@ pub fn test_counter_contract_no_auth() { eprintln!("Sender account ID: {:?}", sender_account.id().to_hex()); // Sender creates the counter note (note script increments counter's storage on consumption) - let mut rng = RpoRandomCoin::new(note_package.unwrap_program().hash()); - let counter_note = create_note_from_package( - note_package.clone(), - sender_account.id(), - NoteCreationConfig { - tag: NoteTag::with_account_target(counter_account.id()), - ..Default::default() - }, - &mut rng, - ); + let rng = RpoRandomCoin::new(note_package.unwrap_program().hash()); + let counter_note = NoteBuilder::new(sender_account.id(), rng) + .package((*note_package).clone()) + .tag(NoteTag::with_account_target(counter_account.id()).into()) + .build() + .unwrap(); + eprintln!("Counter note hash: {:?}", counter_note.id().to_hex()); builder.add_output_note(OutputNote::Full(counter_note.clone())); diff --git a/tests/integration-network/src/mockchain/counter_contract_rust_auth.rs b/tests/integration-network/src/mockchain/counter_contract_rust_auth.rs index 8688104d7..b0757421b 100644 --- a/tests/integration-network/src/mockchain/counter_contract_rust_auth.rs +++ b/tests/integration-network/src/mockchain/counter_contract_rust_auth.rs @@ -5,15 +5,19 @@ //! contract account that uses the Rust-compiled auth component. use miden_client::{ - auth::BasicAuthenticator, crypto::RpoRandomCoin, note::NoteTag, testing::MockChain, + auth::BasicAuthenticator, + crypto::RpoRandomCoin, + note::NoteTag, + testing::{MockChain, NoteBuilder}, transaction::OutputNote, }; use miden_protocol::account::StorageSlotName; use super::helpers::{ - NoteCreationConfig, assert_counter_storage, block_on, build_counter_account_with_rust_rpo_auth, - build_send_notes_script, compile_rust_package, create_note_from_package, + assert_counter_storage, block_on, build_counter_account_with_rust_rpo_auth, + build_send_notes_script, }; +use crate::mockchain::helpers::compile_rust_package; /// Verify that another client (without the RPO-Falcon512 key) cannot create notes for /// the counter account which uses the Rust-compiled RPO-Falcon512 authentication component. @@ -52,16 +56,12 @@ pub fn test_counter_contract_rust_auth_blocks_unauthorized_note_creation() { ); // Positive check: original client (with the key) can create a note - let mut rng = RpoRandomCoin::new(note_package.unwrap_program().hash()); - let own_note = create_note_from_package( - note_package.clone(), - counter_account.id(), - NoteCreationConfig { - tag: NoteTag::with_account_target(counter_account.id()), - ..Default::default() - }, - &mut rng, - ); + let rng = RpoRandomCoin::new(note_package.unwrap_program().hash()); + let own_note = NoteBuilder::new(counter_account.id(), rng) + .package((*note_package).clone()) + .tag(NoteTag::with_account_target(counter_account.id()).into()) + .build() + .expect("failed to build own_note"); let tx_script = build_send_notes_script(&counter_account, std::slice::from_ref(&own_note)); let authenticator = BasicAuthenticator::new(std::slice::from_ref(&secret_key)); @@ -82,15 +82,12 @@ pub fn test_counter_contract_rust_auth_blocks_unauthorized_note_creation() { // Negative check: without the RPO-Falcon512 key, creating output notes should fail. let counter_account = chain.committed_account(counter_account_id).unwrap().clone(); - let forged_note = create_note_from_package( - note_package, - counter_account.id(), - NoteCreationConfig { - tag: NoteTag::with_account_target(counter_account.id()), - ..Default::default() - }, - &mut rng, - ); + let rng = RpoRandomCoin::new(note_package.unwrap_program().hash()); + let forged_note = NoteBuilder::new(counter_account.id(), rng) + .package((*note_package).clone()) + .tag(NoteTag::with_account_target(counter_account.id()).into()) + .build() + .expect("failed to build forged_note"); let tx_script = build_send_notes_script(&counter_account, std::slice::from_ref(&forged_note)); let tx_context_builder = chain diff --git a/tests/integration-network/src/mockchain/helpers.rs b/tests/integration-network/src/mockchain/helpers.rs index 431c0591b..07feb5d0a 100644 --- a/tests/integration-network/src/mockchain/helpers.rs +++ b/tests/integration-network/src/mockchain/helpers.rs @@ -3,31 +3,30 @@ use std::{collections::BTreeSet, future::Future, sync::Arc}; use miden_client::{ - Word, - account::component::BasicWallet, + Deserializable, Word, + account::{ + AccountStorage, StorageSlotName, + component::{BasicWallet, InitStorageData}, + }, asset::FungibleAsset, auth::AuthSecretKey, crypto::FeltRng, - note::{ - Note, NoteAssets, NoteInputs, NoteMetadata, NoteRecipient, NoteScript, NoteTag, NoteType, - }, - testing::{MockChain, TransactionContextBuilder}, + note::{Note, NoteType}, + testing::{MockChain, NoteBuilder, TransactionContextBuilder}, transaction::OutputNote, }; use miden_core::{Felt, FieldElement, crypto::hash::Rpo256}; -use miden_integration_tests::CompilerTestBuilder; use miden_mast_package::Package; use miden_protocol::{ account::{ - Account, AccountBuilder, AccountComponent, AccountComponentMetadata, AccountId, - AccountStorage, AccountStorageMode, AccountType, StorageMap, StorageSlot, StorageSlotName, + Account, AccountBuilder, AccountComponent, AccountId, AccountStorageMode, AccountType, + StorageSlot, }, asset::Asset, note::PartialNote, transaction::TransactionScript, }; use miden_standards::account::interface::{AccountInterface, AccountInterfaceExt}; -use midenc_frontend_wasm::WasmTranslationConfig; use rand::{SeedableRng, rngs::StdRng}; /// Converts a value's felt representation into `miden_core::Felt` elements. @@ -51,105 +50,45 @@ pub(super) fn block_on(future: F) -> F::Output { // COMPILATION // ================================================================================================ -/// Helper to compile a Rust package to a Miden `Package`. -pub(super) fn compile_rust_package(package_path: &str, release: bool) -> Arc { - let config = WasmTranslationConfig::default(); - let mut builder = CompilerTestBuilder::rust_source_cargo_miden(package_path, config, []); - - if release { - builder.with_release(true); +pub(super) fn compile_rust_package(project_path: &str, release: bool) -> Arc { + let mode_flag = if release { "--release" } else { "--dev" }; + let output = std::process::Command::new("miden") + .arg("build") + // Midenup's "miden build" command inherits all of cargo miden's flags. + .arg("--manifest-path") + .arg(std::path::Path::new(project_path).join("Cargo.toml")) + .arg(mode_flag) + .output() + // TODO: Add the cargo install command once `midenup` is published + // in crates.io. + .expect("failed to execute `miden build`. Is midenup installed?. + If not, follow the installation instructions in: https://github.com/0xMiden/midenup"); + + if !output.status.success() { + panic!("miden build failed:\n{}", String::from_utf8_lossy(&output.stderr)) } - let mut test = builder.build(); - test.compile_package() -} - -// NOTE HELPERS -// ================================================================================================ - -/// Configuration for creating a note. -#[derive(Debug, Clone)] -pub(super) struct NoteCreationConfig { - /// The note type (public/private). - pub note_type: NoteType, - /// The note tag. - pub tag: NoteTag, - /// Assets carried by the note. - pub assets: NoteAssets, - /// Note inputs (e.g. target account id, timelock/reclaim height, etc.). - pub inputs: Vec, -} - -impl Default for NoteCreationConfig { - fn default() -> Self { - Self { - note_type: NoteType::Public, - tag: NoteTag::new(0), - assets: Default::default(), - inputs: Default::default(), - } - } -} - -/// Creates a note from a compiled note package without requiring a `miden_client::Client`. -pub(super) fn create_note_from_package( - package: Arc, - sender_id: AccountId, - config: NoteCreationConfig, - rng: &mut impl FeltRng, -) -> Note { - let note_program = package.unwrap_program(); - let note_script = - NoteScript::from_parts(note_program.mast_forest().clone(), note_program.entrypoint()); - - let serial_num = rng.draw_word(); - let note_inputs = NoteInputs::new(config.inputs).unwrap(); - let recipient = NoteRecipient::new(serial_num, note_script, note_inputs); + // Read the .masp artifact from the project's target directory + let masp_path = std::path::Path::new(project_path) + .join("target/miden/release") + .read_dir() + .expect("failed to read target/miden/release") + .filter_map(|e| e.ok()) + .find(|e| e.path().extension().is_some_and(|ext| ext == "masp")) + .map(|entry| entry.path()) + .expect("no .masp file found in target/miden/release"); - let metadata = NoteMetadata::new(sender_id, config.note_type, config.tag); + let masp_bytes = std::fs::read(&masp_path).expect("failed to read .masp artifact"); - Note::new(config.assets, metadata, recipient) + Arc::new(Package::read_from_bytes(&masp_bytes).expect("failed to parse .masp package")) } -// ACCOUNT COMPONENT HELPERS +// NOTE HELPERS // ================================================================================================ -/// Creates an account component from a compiled package's component metadata. -pub(super) fn account_component_from_package( - package: Arc, - storage_slots: Vec, -) -> AccountComponent { - let metadata = AccountComponentMetadata::try_from(package.as_ref()) - .expect("no account component metadata present"); - AccountComponent::new(package.unwrap_library().as_ref().clone(), storage_slots) - .unwrap() - .with_metadata(metadata) -} - -// BASIC WALLET HELPERS +// ACCOUNT COMPONENT HELPERS // ================================================================================================ -/// Builds an account builder for an existing basic-wallet account based on the provided component -/// package. -pub(super) fn build_existing_basic_wallet_account_builder( - wallet_package: Arc, - with_std_basic_wallet: bool, - seed: [u8; 32], -) -> AccountBuilder { - let wallet_component = account_component_from_package(wallet_package, vec![]); - - let mut builder = AccountBuilder::new(seed) - .account_type(AccountType::RegularAccountUpdatableCode) - .storage_mode(AccountStorageMode::Public) - .with_component(wallet_component); - - if with_std_basic_wallet { - builder = builder.with_component(BasicWallet); - } - - builder -} - /// Asserts that the account vault contains a fungible asset from the expected faucet with the /// expected total amount. pub(super) fn assert_account_has_fungible_asset( @@ -213,10 +152,6 @@ pub(super) fn build_asset_transfer_tx( tx_script_package: Arc, rng: &mut impl FeltRng, ) -> (TransactionContextBuilder, Note) { - let note_program = p2id_note_package.unwrap_program(); - let note_script = - NoteScript::from_parts(note_program.mast_forest().clone(), note_program.entrypoint()); - let tx_script_program = tx_script_package.unwrap_program(); let tx_script = TransactionScript::from_parts( tx_script_program.mast_forest().clone(), @@ -224,20 +159,27 @@ pub(super) fn build_asset_transfer_tx( ); let serial_num = rng.draw_word(); - let inputs = NoteInputs::new(to_core_felts(&recipient_id)).unwrap(); - let note_recipient = NoteRecipient::new(serial_num, note_script, inputs); - let config = NoteCreationConfig { - assets: NoteAssets::new(vec![asset.into()]).unwrap(), - ..Default::default() - }; - let metadata = NoteMetadata::new(sender_id, config.note_type, config.tag); - let output_note = Note::new(config.assets, metadata, note_recipient.clone()); + let asset: Asset = asset.into(); + let output_note = NoteBuilder::new(sender_id, rng) + .serial_number(serial_num) + .package((*p2id_note_package).clone()) + .note_inputs(to_core_felts(&recipient_id)) + .unwrap() + .add_assets([asset]) + .tag(0) + .build() + .unwrap(); // Prepare commitment data // This must match the input layout expected by `examples/basic-wallet-tx-script`. - let mut commitment_input: Vec = vec![config.tag.into(), Felt::from(config.note_type)]; - let recipient_digest: [Felt; 4] = note_recipient.digest().into(); + let mut commitment_input: Vec = vec![ + // The output's note tag + Felt::new(0u64), + // The output's note type + Felt::from(NoteType::Public), + ]; + let recipient_digest: [Felt; 4] = output_note.recipient().digest().into(); commitment_input.extend(recipient_digest); let asset_arr: Word = asset.into(); @@ -302,10 +244,9 @@ pub(super) fn assert_counter_storage( /// Builds an account builder for an existing public counter account containing the counter /// contract component and a custom authentication component compiled as a package library. pub(super) fn build_existing_counter_account_builder_with_auth_package( - contract_package: Arc, + counter_component: AccountComponent, auth_component_package: Arc, auth_storage_slots: Vec, - counter_storage_slots: Vec, seed: [u8; 32], ) -> AccountBuilder { let supported_types = BTreeSet::from_iter([AccountType::RegularAccountUpdatableCode]); @@ -315,7 +256,6 @@ pub(super) fn build_existing_counter_account_builder_with_auth_package( ) .unwrap() .with_supported_types(supported_types); - let counter_component = account_component_from_package(contract_package, counter_storage_slots); AccountBuilder::new(seed) .account_type(AccountType::RegularAccountUpdatableCode) @@ -336,10 +276,13 @@ pub(super) fn build_counter_account_with_rust_rpo_auth( ) -> (Account, AuthSecretKey) { let key = Word::from([Felt::ZERO, Felt::ZERO, Felt::ZERO, Felt::ONE]); let value = Word::from([Felt::ZERO, Felt::ZERO, Felt::ZERO, Felt::ONE]); - let counter_storage_slots = vec![StorageSlot::with_map( - counter_storage_slot_name(), - StorageMap::with_entries([(key, value)]).unwrap(), - )]; + let mut counter_init_storage_data = InitStorageData::default(); + counter_init_storage_data + .insert_map_entry(counter_storage_slot_name(), key, value) + .expect("failed to insert counter map entry"); + + let counter_component = + AccountComponent::from_package(&component_package, &counter_init_storage_data).unwrap(); let mut rng = StdRng::seed_from_u64(1); let secret_key = AuthSecretKey::new_falcon512_rpo_with_rng(&mut rng); @@ -349,10 +292,9 @@ pub(super) fn build_counter_account_with_rust_rpo_auth( vec![StorageSlot::with_value(auth_public_key_slot_name(), pk_commitment)]; let account = build_existing_counter_account_builder_with_auth_package( - component_package, + counter_component, auth_component_package, auth_storage_slots, - counter_storage_slots, seed, ) .build_existing() From 3048bbc42b64184bfb0122b400530b4ca7845759 Mon Sep 17 00:00:00 2001 From: Tomas Fabrizio Orsi Date: Mon, 9 Mar 2026 17:56:50 -0300 Subject: [PATCH 2/3] feat: add midenup init to CI Signed-off-by: Tomas Fabrizio Orsi --- .github/workflows/ci.yml | 1 + tests/integration-network/src/mockchain/helpers.rs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6f372f4e..a7d6b2c9d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -323,6 +323,7 @@ jobs: run: | if ! miden help 2>/dev/null; then cargo install --git https://github.com/0xMiden/midenup + midenup init fi - name: Test diff --git a/tests/integration-network/src/mockchain/helpers.rs b/tests/integration-network/src/mockchain/helpers.rs index 6eb9535e5..741e14fc6 100644 --- a/tests/integration-network/src/mockchain/helpers.rs +++ b/tests/integration-network/src/mockchain/helpers.rs @@ -55,8 +55,8 @@ pub(super) fn compile_rust_package(project_path: &str, release: bool) -> Arc Date: Thu, 12 Mar 2026 17:09:28 -0300 Subject: [PATCH 3/3] fix: restore compile_rust_package Signed-off-by: Tomas Fabrizio Orsi Suggested-by: Dennis Zadorozhnyi --- .../src/mockchain/helpers.rs | 39 +++++-------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/tests/integration-network/src/mockchain/helpers.rs b/tests/integration-network/src/mockchain/helpers.rs index 741e14fc6..844a09837 100644 --- a/tests/integration-network/src/mockchain/helpers.rs +++ b/tests/integration-network/src/mockchain/helpers.rs @@ -3,7 +3,7 @@ use std::{collections::BTreeSet, future::Future, sync::Arc}; use miden_client::{ - Deserializable, Word, + Word, account::{ AccountStorage, StorageSlotName, component::{BasicWallet, InitStorageData}, @@ -16,6 +16,7 @@ use miden_client::{ transaction::OutputNote, }; use miden_core::{Felt, FieldElement, crypto::hash::Rpo256}; +use miden_integration_tests::CompilerTestBuilder; use miden_mast_package::Package; use miden_protocol::{ account::{ @@ -27,6 +28,7 @@ use miden_protocol::{ transaction::{TransactionMeasurements, TransactionScript}, }; use miden_standards::account::interface::{AccountInterface, AccountInterfaceExt}; +use midenc_frontend_wasm::WasmTranslationConfig; use rand::{SeedableRng, rngs::StdRng}; /// Converts a value's felt representation into `miden_core::Felt` elements. @@ -51,36 +53,15 @@ pub(super) fn block_on(future: F) -> F::Output { // ================================================================================================ pub(super) fn compile_rust_package(project_path: &str, release: bool) -> Arc { - let mode_flag = if release { "--release" } else { "--dev" }; - let output = std::process::Command::new("miden") - .arg("build") - // Midenup's "miden build" command inherits all of cargo miden's flags. - .current_dir(project_path) - .env("MIDENUP_MANIFEST_URI", format!("file://{project_path}/channel-manifest.json")) - .arg(mode_flag) - .output() - // TODO: Add the cargo install command once `midenup` is published - // in crates.io. - .expect("failed to execute `miden build`. Is midenup installed?. - If not, follow the installation instructions in: https://github.com/0xMiden/midenup"); - - if !output.status.success() { - panic!("miden build failed:\n{}", String::from_utf8_lossy(&output.stderr)) - } - - // Read the .masp artifact from the project's target directory - let masp_path = std::path::Path::new(project_path) - .join("target/miden/release") - .read_dir() - .expect("failed to read target/miden/release") - .filter_map(|e| e.ok()) - .find(|e| e.path().extension().is_some_and(|ext| ext == "masp")) - .map(|entry| entry.path()) - .expect("no .masp file found in target/miden/release"); + let config = WasmTranslationConfig::default(); + let mut builder = CompilerTestBuilder::rust_source_cargo_miden(project_path, config, []); - let masp_bytes = std::fs::read(&masp_path).expect("failed to read .masp artifact"); + if release { + builder.with_release(true); + } - Arc::new(Package::read_from_bytes(&masp_bytes).expect("failed to parse .masp package")) + let mut test = builder.build(); + test.compile_package() } // NOTE HELPERS