From d20bccb5e2acaf3796eae9d3a5af0012eef6dea6 Mon Sep 17 00:00:00 2001 From: Dariusz Depta <141360751+DariuszDepta@users.noreply.github.com> Date: Mon, 30 Jun 2025 16:13:50 +0200 Subject: [PATCH 1/2] Upgraded dependencies. Fixed StdError issues. --- Cargo.lock | 437 ++++++++++++++++++++---------- Cargo.toml | 14 +- sylvia-derive/Cargo.toml | 2 +- sylvia-derive/src/contract/mt.rs | 6 +- sylvia-derive/src/interface/mt.rs | 2 +- sylvia-derive/src/lib.rs | 2 +- sylvia/src/into_response.rs | 11 +- sylvia/src/multitest.rs | 18 +- 8 files changed, 316 insertions(+), 176 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ed6f03ee..b77a6898 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,21 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - [[package]] name = "ahash" version = "0.8.12" @@ -103,7 +88,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -116,7 +101,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -156,7 +141,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -178,24 +163,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.74" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets", -] +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "base16ct" @@ -244,9 +214,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "const-oid" @@ -271,15 +241,15 @@ dependencies = [ [[package]] name = "cosmwasm-core" -version = "3.0.0-rc.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10492ce426180bb1a84d056cef0a38c82bce63b4ee333ac689807d418d74d5a9" +checksum = "09f86359c565ec8dc6f1b39e51fff1f63f712767d77529ff46d0d466ea37cd34" [[package]] name = "cosmwasm-crypto" -version = "3.0.0-rc.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "383f3314a0b39f3e926bbbfb3c3fc5d86bb832adc445c29525c9d7ce249e946f" +checksum = "3e9d0e376c224afcb401809f50209b7787390041e8898684ccbd3ecac9be299d" dependencies = [ "ark-bls12-381", "ark-ec", @@ -302,23 +272,24 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "3.0.0-rc.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac4e791098c89ad6e2b3828f77334906f12f7ea58846406a2562c6daf984c1f" +checksum = "58e3ed1b8f1b9df2a30c03b6c25177acdb15f5de0cfcd6ad708f0fbd9d9c7c91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] name = "cosmwasm-schema" -version = "3.0.0-rc.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5f3bb8f36b6d520a4c529249be471d1fa18cef460cea66f430af6094c13efe2" +checksum = "2e476f2415bf6c582d3a6743de056d6a217933b753aa4994cdb9c6a89d09a97c" dependencies = [ "cosmwasm-schema-derive", - "schemars", + "cw-schema", + "schemars 0.8.22", "serde", "serde_json", "thiserror 1.0.69", @@ -326,20 +297,20 @@ dependencies = [ [[package]] name = "cosmwasm-schema-derive" -version = "3.0.0-rc.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "209f03994e18ba5de1b07fcd607acefc6587c24263d117f6d1fb10c471222d4c" +checksum = "e652d98c68f04e4f7e97b16009a94ccf550341b091213c15bbe3eb2d14139709" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] name = "cosmwasm-std" -version = "3.0.0-rc.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a509852d24b93d7a808d638c9509e7bd3119895adaddf764f0090d10a7ad6c" +checksum = "c145f354e0dac3734bf62872ab8969e03bbd36b6c67e189cc7c15a8a47d19aab" dependencies = [ "base64", "bech32", @@ -347,11 +318,12 @@ dependencies = [ "cosmwasm-core", "cosmwasm-crypto", "cosmwasm-derive", + "cw-schema", "derive_more", "hex", "rand_core", "rmp-serde", - "schemars", + "schemars 0.8.22", "serde", "serde_json", "sha2", @@ -439,17 +411,15 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] name = "cw-multi-test" -version = "3.0.0-rc.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8272912061e29b9ffba740807663c8a6f3b4853ad71a1b31af2f87390de59625" +checksum = "aaf005a12b5c38a7574e9552459b7280e4f31efc9812a2a2c05caf66aa0a5956" dependencies = [ - "anyhow", - "backtrace", "bech32", "cosmwasm-schema", "cosmwasm-std", @@ -457,36 +427,99 @@ dependencies = [ "cw-utils", "itertools 0.14.0", "prost", - "schemars", + "schemars 0.8.22", "serde", "sha2", - "thiserror 2.0.12", +] + +[[package]] +name = "cw-schema" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79a9a8e4486ac59db0e97a84304bc0fb869b543af8a08c53f971238a13e25079" +dependencies = [ + "cw-schema-derive", + "indexmap", + "schemars 1.0.3", + "serde", + "serde_with", + "siphasher", + "typeid", +] + +[[package]] +name = "cw-schema-derive" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31d3e652162f453ced896b72bad35fe6746ad2cf770e125f9a27f20838250111" +dependencies = [ + "heck", + "itertools 0.13.0", + "owo-colors", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] name = "cw-storage-plus" -version = "3.0.0-rc.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5dfef8c232811e438fc6413c452eaef5e2f1d5c8a2d55ae18329744a8c28f0" +checksum = "7ffe14a1c713486ec9f07059afcce49a9cd68657aaf2e2a736cd3bbf487de8e2" dependencies = [ "cosmwasm-std", - "schemars", + "schemars 0.8.22", "serde", ] [[package]] name = "cw-utils" -version = "3.0.0-rc.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b7c16a6188df881f99f5720642f3c4971f6ceb335a78e2beeb4fee4c5bb93eb" +checksum = "8667e96f2c65cf7f4c6c66bfd6ee46909c40827bc1caea0409234e34f03cf061" dependencies = [ "cosmwasm-schema", "cosmwasm-std", - "schemars", + "schemars 0.8.22", "serde", "thiserror 2.0.12", ] +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.104", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.104", +] + [[package]] name = "der" version = "0.7.10" @@ -514,7 +547,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", "unicode-xid", ] @@ -582,7 +615,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -626,7 +659,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -679,12 +712,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - [[package]] name = "glob" version = "0.3.2" @@ -721,6 +748,18 @@ dependencies = [ "allocator-api2", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + [[package]] name = "hex" version = "0.4.3" @@ -736,16 +775,39 @@ dependencies = [ "digest", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", "hashbrown 0.15.4", ] +[[package]] +name = "is-terminal" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys", +] + +[[package]] +name = "is_ci" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" + [[package]] name = "itertools" version = "0.13.0" @@ -811,24 +873,15 @@ checksum = "00af7901ba50898c9e545c24d5c580c96a982298134e8037d8978b6594782c07" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "miniz_oxide" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" -dependencies = [ - "adler2", -] +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "num-bigint" @@ -858,21 +911,22 @@ dependencies = [ "autocfg", ] -[[package]] -name = "object" -version = "0.36.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -dependencies = [ - "memchr", -] - [[package]] name = "once_cell" version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "owo-colors" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e" +dependencies = [ + "supports-color 2.1.0", + "supports-color 3.0.2", +] + [[package]] name = "p256" version = "0.13.2" @@ -953,9 +1007,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", "prost-derive", @@ -963,15 +1017,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -1032,6 +1086,26 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "rfc6979" version = "0.4.0" @@ -1065,10 +1139,15 @@ dependencies = [ ] [[package]] -name = "rustc-demangle" -version = "0.1.24" +name = "runtime-macros-derive" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "41546a79334a36521cffad0a130eb92732f4d4f3b96cb2d5368ebcc1d1771c85" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] [[package]] name = "rustc_version" @@ -1092,7 +1171,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" dependencies = [ "dyn-clone", - "schemars_derive", + "schemars_derive 0.8.22", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1375ba8ef45a6f15d83fa8748f1079428295d403d6ea991d09ab100155fbc06d" +dependencies = [ + "dyn-clone", + "ref-cast", + "schemars_derive 1.0.3", "serde", "serde_json", ] @@ -1106,7 +1198,19 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.101", + "syn 2.0.104", +] + +[[package]] +name = "schemars_derive" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b13ed22d6d49fe23712e068770b5c4df4a693a2b02eeff8e7ca3135627a24f6" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.104", ] [[package]] @@ -1154,7 +1258,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -1165,7 +1269,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -1189,6 +1293,29 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf65a400f8f66fb7b0552869ad70157166676db75ed8181f8104ea91cf9d0b42" +dependencies = [ + "serde", + "serde_derive", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81679d9ed988d5e9a5e6531dc3f2c28efbd639cbd1dfb628df08edea6004da77" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "sha2" version = "0.10.9" @@ -1210,21 +1337,52 @@ dependencies = [ "rand_core", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "static_assertions" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" +[[package]] +name = "supports-color" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" +dependencies = [ + "is-terminal", + "is_ci", +] + +[[package]] +name = "supports-color" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6" +dependencies = [ + "is_ci", +] + [[package]] name = "sylvia" -version = "2.0.0-rc.1" +version = "2.0.0" dependencies = [ "anyhow", "cosmwasm-schema", @@ -1234,7 +1392,7 @@ dependencies = [ "cw-utils", "itertools 0.14.0", "konst", - "schemars", + "schemars 0.8.22", "serde", "serde-cw-value", "sylvia-derive", @@ -1244,7 +1402,7 @@ dependencies = [ [[package]] name = "sylvia-derive" -version = "2.0.0-rc.1" +version = "2.0.0" dependencies = [ "convert_case", "cosmwasm-schema", @@ -1256,25 +1414,14 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "schemars", + "runtime-macros-derive", + "schemars 0.8.22", "serde", "sylvia", - "sylvia-runtime-macros", - "syn 2.0.101", + "syn 2.0.104", "thiserror 2.0.12", ] -[[package]] -name = "sylvia-runtime-macros" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e4c15b0f4cb3e31149f4d59bb13e095b880f2e2f087308f8577e30f123ecaa" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "syn" version = "1.0.109" @@ -1287,9 +1434,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.101" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -1337,7 +1484,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -1348,7 +1495,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -1407,6 +1554,12 @@ dependencies = [ "toml", ] +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + [[package]] name = "typenum" version = "1.18.0" @@ -1454,9 +1607,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "winapi-util" @@ -1542,31 +1695,31 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" dependencies = [ "memchr", ] [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] [[package]] @@ -1586,5 +1739,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.104", ] diff --git a/Cargo.toml b/Cargo.toml index b11a2762..9cae9cf3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,18 +4,18 @@ exclude = ["examples/*"] resolver = "2" [workspace.package] -version = "2.0.0-rc.1" +version = "2.0.0" [workspace.dependencies] anyhow = "1.0.98" -cosmwasm-schema = "3.0.0-rc.0" -cosmwasm-std = "3.0.0-rc.0" -cw-multi-test = "3.0.0-rc.0" -cw-storage-plus = "3.0.0-rc.0" -cw-utils = "3.0.0-rc.0" +cosmwasm-schema = "3.0.1" +cosmwasm-std = "3.0.1" +cw-multi-test = "3.0.0" +cw-storage-plus = "3.0.0" +cw-utils = "3.0.0" schemars = "0.8.22" serde = { version = "1.0.219", default-features = false, features = ["derive"] } -sylvia-derive = { version = "2.0.0-rc.1", path = "sylvia-derive" } +sylvia-derive = { version = "2.0.0", path = "sylvia-derive" } thiserror = "2.0.12" [workspace.metadata.docs.rs] diff --git a/sylvia-derive/Cargo.toml b/sylvia-derive/Cargo.toml index 63bbf336..9c119584 100644 --- a/sylvia-derive/Cargo.toml +++ b/sylvia-derive/Cargo.toml @@ -33,7 +33,7 @@ proc-macro-crate = "3.3.0" itertools = "0.14.0" [dev-dependencies] -sylvia-runtime-macros = "0.7.0" +runtime-macros-derive = "0.8.0" sylvia = { path = "../sylvia", features = [ "mt", "stargate", diff --git a/sylvia-derive/src/contract/mt.rs b/sylvia-derive/src/contract/mt.rs index 8232f609..dfcd8d09 100644 --- a/sylvia-derive/src/contract/mt.rs +++ b/sylvia-derive/src/contract/mt.rs @@ -417,7 +417,7 @@ impl<'a> MtHelpers<'a> { label, admin, ) - .map_err(|err| err.downcast().unwrap()) + .map_err(|err| StdError::msg(err.to_string()).into()) .map(|addr| #sylvia ::multitest::Proxy { contract_addr: addr, app: code_id.app, @@ -450,7 +450,7 @@ impl<'a> MtHelpers<'a> { let app_response = (*code_id.app) .app_mut() .execute(sender.clone(), msg.into()) - .map_err(|err| err.downcast::< #error_type >().unwrap())?; + .map_err(|err| StdError::msg(err.to_string()).into())?; #sylvia:: cw_utils::parse_instantiate_response_data(app_response.data.unwrap().as_slice()) .map_err(|err| Into::into( #sylvia ::cw_std::StdError::generic_err(err.to_string()))) @@ -685,7 +685,7 @@ impl EmitMethods for MsgVariant<'_> { (*self.app) .app_mut() .wasm_sudo(self.contract_addr.clone(), &msg) - .map_err(|err| err.downcast().unwrap()) + .map_err(|err| StdError::msg(err.to_string()).into()) } }, MsgType::Migrate => quote! { diff --git a/sylvia-derive/src/interface/mt.rs b/sylvia-derive/src/interface/mt.rs index 0fb4f348..6dcc62ff 100644 --- a/sylvia-derive/src/interface/mt.rs +++ b/sylvia-derive/src/interface/mt.rs @@ -230,7 +230,7 @@ impl EmitMethods for MsgVariant<'_> { (*self.app) .app_mut() .wasm_sudo(self.contract_addr.clone(), &msg) - .map_err(|err| err.downcast().unwrap()) + .map_err(|err| StdError::msg(err.to_string()).into()) } }, MsgType::Migrate => quote! { diff --git a/sylvia-derive/src/lib.rs b/sylvia-derive/src/lib.rs index df15979a..6cd86bb2 100644 --- a/sylvia-derive/src/lib.rs +++ b/sylvia-derive/src/lib.rs @@ -832,7 +832,7 @@ fn entry_points_impl(attr: TokenStream2, item: TokenStream2) -> TokenStream2 { mod test { use std::{env, fs}; - use sylvia_runtime_macros::emulate_attribute_expansion_fallible; + use runtime_macros_derive::emulate_attribute_expansion_fallible; use crate::{contract_impl, interface_impl}; diff --git a/sylvia/src/into_response.rs b/sylvia/src/into_response.rs index 8311ce4b..3008d429 100644 --- a/sylvia/src/into_response.rs +++ b/sylvia/src/into_response.rs @@ -15,16 +15,14 @@ impl IntoMsg for SubMsg { CosmosMsg::Staking(staking) => CosmosMsg::Staking(staking), #[cfg(feature = "staking")] CosmosMsg::Distribution(distribution) => CosmosMsg::Distribution(distribution), - CosmosMsg::Custom(_) => Err(StdError::generic_err( - "Custom Empty message should not be sent", - ))?, + CosmosMsg::Custom(_) => Err(StdError::msg("Custom Empty message should not be sent"))?, #[cfg(feature = "stargate")] CosmosMsg::Ibc(ibc) => CosmosMsg::Ibc(ibc), #[cfg(feature = "cosmwasm_2_0")] CosmosMsg::Any(any) => CosmosMsg::Any(any), #[cfg(feature = "stargate")] CosmosMsg::Gov(msg) => CosmosMsg::Gov(msg), - _ => return Err(StdError::generic_err(format!( + _ => return Err(StdError::msg(format!( "Unknown message variant: {:?}. Please make sure you are using up-to-date Sylvia version, and if so please issue this bug on the Sylvia repository.", self ))), @@ -93,9 +91,6 @@ mod tests { resp = resp.add_message(CosmosMsg::Custom(Empty {})); let err = IntoResponse::::into_response(resp).unwrap_err(); - assert_eq!( - err, - StdError::generic_err("Custom Empty message should not be sent") - ); + assert_eq!("Custom Empty message should not be sent", err.to_string()); } } diff --git a/sylvia/src/multitest.rs b/sylvia/src/multitest.rs index 89c1f20f..e49e899c 100644 --- a/sylvia/src/multitest.rs +++ b/sylvia/src/multitest.rs @@ -301,20 +301,12 @@ where &self.msg, self.funds, ) - .map_err(|err| { - if err.is::() { - err.downcast::().unwrap() - } else if err.is::() { - err.downcast::().unwrap().into() - } else { - StdError::generic_err(err.to_string()).into() - } - }) + .map_err(|err| StdError::msg(err.to_string()).into()) } } -/// Intermiediate proxy to set additional information -/// before sending an migrate message. +/// Intermediate proxy to set additional information +/// before sending a migrate message. #[must_use] pub struct MigrateProxy<'a, 'app, Error, Msg, MtApp, ExecC> where @@ -330,7 +322,7 @@ where impl<'a, 'app, Error, Msg, MtApp, ExecC> MigrateProxy<'a, 'app, Error, Msg, MtApp, ExecC> where Msg: Serialize + Debug, - Error: Debug + Display + Send + Sync + 'static, + Error: From + Debug + Display + Send + Sync + 'static, ExecC: cosmwasm_std::CustomMsg + 'static, MtApp: Executor, { @@ -358,7 +350,7 @@ where &self.msg, new_code_id, ) - .map_err(|err| err.downcast().unwrap()) + .map_err(|err| StdError::msg(err.to_string()).into()) } } From 32925e6548a29f73be05b916339a4a3a31f76067 Mon Sep 17 00:00:00 2001 From: Dariusz Depta <141360751+DariuszDepta@users.noreply.github.com> Date: Mon, 30 Jun 2025 16:43:31 +0200 Subject: [PATCH 2/2] Updates. --- .../src/contract/communication/wrapper_msg.rs | 4 ++-- sylvia-derive/src/types/interfaces.rs | 2 +- sylvia/tests/custom_msg.rs | 1 + sylvia/tests/reply_data.rs | 14 ++++---------- sylvia/tests/reply_dispatch.rs | 11 +++++------ 5 files changed, 13 insertions(+), 19 deletions(-) diff --git a/sylvia-derive/src/contract/communication/wrapper_msg.rs b/sylvia-derive/src/contract/communication/wrapper_msg.rs index f17dc5a2..559c1506 100644 --- a/sylvia-derive/src/contract/communication/wrapper_msg.rs +++ b/sylvia-derive/src/contract/communication/wrapper_msg.rs @@ -95,14 +95,14 @@ impl<'a> GlueMessage<'a> { let mut response_schemas_calls = interfaces.emit_response_schemas_calls(msg_ty, contract); response_schemas_calls - .push(quote! {<#contract as #sylvia ::types::ContractApi> :: #enum_accessor ::response_schemas_impl()}); + .push(quote! {<#contract as #sylvia ::types::ContractApi> :: #enum_accessor ::response_schemas_cw()}); let response_schemas = match msg_ty { MsgType::Query => { quote! { #[cfg(not(target_arch = "wasm32"))] impl #bracketed_wrapper_generics #sylvia ::cw_schema::QueryResponses for #contract_enum_name #bracketed_wrapper_generics #full_where_clause { - fn response_schemas_impl() -> std::collections::BTreeMap { + fn response_schemas_cw() -> std::collections::BTreeMap { let responses = [#(#response_schemas_calls),*]; responses.into_iter().flatten().collect() } diff --git a/sylvia-derive/src/types/interfaces.rs b/sylvia-derive/src/types/interfaces.rs index 5558ae36..2e61cc22 100644 --- a/sylvia-derive/src/types/interfaces.rs +++ b/sylvia-derive/src/types/interfaces.rs @@ -105,7 +105,7 @@ impl Interfaces { let type_name = msg_ty.as_accessor_name(); quote! { - <#contract as #module ::sv::InterfaceMessagesApi> :: #type_name :: response_schemas_impl() + <#contract as #module ::sv::InterfaceMessagesApi> :: #type_name :: response_schemas_cw() } }) .collect() diff --git a/sylvia/tests/custom_msg.rs b/sylvia/tests/custom_msg.rs index 6b1626b1..fb70d4d9 100644 --- a/sylvia/tests/custom_msg.rs +++ b/sylvia/tests/custom_msg.rs @@ -1,3 +1,4 @@ +use cosmwasm_schema::cw_schema::Schemaifier; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use sylvia::ctx::{ExecCtx, InstantiateCtx, MigrateCtx, QueryCtx, SudoCtx}; diff --git a/sylvia/tests/reply_data.rs b/sylvia/tests/reply_data.rs index b38a3e72..270ed9b2 100644 --- a/sylvia/tests/reply_data.rs +++ b/sylvia/tests/reply_data.rs @@ -296,10 +296,7 @@ fn data_raw() { .send_message_expecting_data(None, DATA_RAW_REPLY_ID) .call(&owner) .unwrap_err(); - assert_eq!( - err, - StdError::generic_err("Missing reply data field.").into() - ); + assert_eq!(err, StdError::msg("Missing reply data field.").into()); contract .send_message_expecting_data(data.clone(), DATA_RAW_REPLY_ID) @@ -336,7 +333,7 @@ fn data_opt() { .unwrap_err(); assert_eq!( err, - StdError::generic_err( + StdError::msg( "Invalid reply data at block height: 12345, transaction id: 0.\nSerde error while deserializing Error parsing into type alloc::string::String: expected value at line 1 column 1" ).into() ); @@ -369,10 +366,7 @@ fn data() { .send_message_expecting_data(None, DATA_REPLY_ID) .call(&owner) .unwrap_err(); - assert_eq!( - err, - StdError::generic_err("Missing reply data field.").into() - ); + assert_eq!(err, StdError::msg("Missing reply data field.").into()); let err = contract .send_message_expecting_data(invalid_data, DATA_REPLY_ID) @@ -380,7 +374,7 @@ fn data() { .unwrap_err(); assert_eq!( err, - StdError::generic_err( + StdError::msg( "Invalid reply data at block height: 12345, transaction id: 0.\nSerde error while deserializing Error parsing into type alloc::string::String: expected value at line 1 column 1" ).into() ); diff --git a/sylvia/tests/reply_dispatch.rs b/sylvia/tests/reply_dispatch.rs index 824cdc30..b52e0d6f 100644 --- a/sylvia/tests/reply_dispatch.rs +++ b/sylvia/tests/reply_dispatch.rs @@ -61,7 +61,7 @@ pub struct InstantiatePayload { pub sender: Addr, } -#[derive(Error, Debug, PartialEq)] +#[derive(Error, Debug)] pub enum ContractError { #[error("{0}")] Std(#[from] StdError), @@ -307,7 +307,7 @@ mod tests { // Should not dispatch if expected success and execution failed let err = contract.call_remote_success(true).call(&owner).unwrap_err(); - assert_eq!(err, StdError::generic_err("Failed as requested").into()); + assert!(err.to_string().contains("Failed as requested")); let last_reply = contract.last_reply().unwrap(); assert_eq!(last_reply, REMOTE_INSTANTIATED_REPLY_ID); @@ -357,9 +357,8 @@ mod tests { .call_remote_unknown_id(false, unknown_reply_id) .call(&owner) .unwrap_err(); - assert_eq!( - err, - StdError::generic_err(format!("Unknown reply id: {}.", unknown_reply_id)).into() - ); + assert!(err + .to_string() + .contains(&format!("Unknown reply id: {}.", unknown_reply_id))); } }