diff --git a/.circleci/config.yml b/.circleci/config.yml
index 6a52c55692..3603e4fe5c 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,6 +7,7 @@ workflows:
test:
# Keep those job names in sync with .mergify.yml
jobs:
+ - arm64
- package_crypto
- package_schema
- package_std
@@ -60,6 +61,68 @@ workflows:
ignore: /.*/
jobs:
+ arm64:
+ machine:
+ image: ubuntu-2004:202101-01
+ resource_class: arm.large
+ steps:
+ - checkout
+ - run:
+ name: Install Rust
+ command: |
+ wget https://static.rust-lang.org/rustup/dist/aarch64-unknown-linux-gnu/rustup-init
+ chmod +x rustup-init
+ ./rustup-init -y --default-toolchain 1.54.0 --profile minimal
+ - run:
+ name: Version information
+ command: rustc --version; cargo --version; rustup --version; rustup target list --installed
+ - run:
+ name: Add wasm32 target
+ command: rustup target add wasm32-unknown-unknown && rustup target list --installed
+ - restore_cache:
+ keys:
+ - cargocache-v2-arm64-rust:1.54.0-{{ checksum "Cargo.lock" }}
+ - run:
+ name: "contracts/crypto-verify: integration-test"
+ working_directory: ~/project/contracts/crypto-verify
+ command: cargo wasm --locked && cargo integration-test --locked
+ - run:
+ name: "contracts/hackatom: integration-test"
+ working_directory: ~/project/contracts/hackatom
+ command: cargo wasm --locked && cargo integration-test --locked
+ - run:
+ name: "contracts/queue: integration-test"
+ working_directory: ~/project/contracts/queue
+ command: cargo wasm --locked && cargo integration-test --locked
+ - run:
+ name: "contracts/reflect: integration-test"
+ working_directory: ~/project/contracts/reflect
+ command: cargo wasm --locked && cargo integration-test --locked
+ - run:
+ name: "contracts/staking: integration-test"
+ working_directory: ~/project/contracts/staking
+ command: cargo wasm --locked && cargo integration-test --locked
+ - run:
+ name: "packages/crypto: test"
+ working_directory: ~/project/packages/crypto
+ command: cargo test --locked
+ - run:
+ name: "packages/std: test"
+ working_directory: ~/project/packages/std
+ command: cargo test --locked
+ - run:
+ name: "packages/vm: test"
+ working_directory: ~/project/packages/vm
+ # use all features
+ command: cargo test --locked --features iterator,staking,stargate
+ - save_cache:
+ paths:
+ - ~/.cargo/registry
+ - target/debug/.fingerprint
+ - target/debug/build
+ - target/debug/deps
+ key: cargocache-v2-arm64-rust:1.54.0-{{ checksum "Cargo.lock" }}
+
package_crypto:
docker:
- image: rust:1.54.0
diff --git a/CHANGELOG.md b/CHANGELOG.md
index df7504f2a6..96002ca5f2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,7 +12,10 @@ and this project adheres to
`SubMsgResult`. Both types are equal when serialized but `ContractResult` is
documented to be the result of a contract execution, which is not the case
here. ([#1232])
+- cosmwasm-vm: Upgrade Wasmer to 2.2.0 and bump `MODULE_SERIALIZATION_VERSION`
+ to "v3-wasmer1". ([#1224])
+[#1224]: https://github.com/CosmWasm/cosmwasm/pull/1224
[#1232]: https://github.com/CosmWasm/cosmwasm/pull/1232
## [1.0.0-beta5] - 2022-02-08
diff --git a/Cargo.lock b/Cargo.lock
index 709b164cfc..d3683b96f9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -83,7 +83,7 @@ dependencies = [
"cfg-if",
"libc",
"miniz_oxide",
- "object",
+ "object 0.27.1",
"rustc-demangle",
]
@@ -613,9 +613,9 @@ checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf"
[[package]]
name = "dynasm"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab1096ebdaa974cd6a41a743e94dfa00cce9bfbf4690bcc73fdec6a903938ccc"
+checksum = "47b1801e630bd336d0bbbdbf814de6cc749c9a400c7e3d995e6adfd455d0c83c"
dependencies = [
"bitflags",
"byteorder",
@@ -628,9 +628,9 @@ dependencies = [
[[package]]
name = "dynasmrt"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c20c69d1e16ae47889b47c301c790f48615cd9bfbdf586e3f6d4fde64af3d259"
+checksum = "1d428afc93ad288f6dffc1fa5f4a78201ad2eec33c5a522e51c181009eb09061"
dependencies = [
"byteorder",
"dynasm",
@@ -691,6 +691,26 @@ version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e4f5d6e192964d498b45abee72ca445e91909094bc8e8791259e82c2a0d1aa6"
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.8"
@@ -1061,8 +1081,18 @@ name = "object"
version = "0.27.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "object"
+version = "0.28.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1863,9 +1893,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1890,9 +1920,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1909,9 +1939,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1930,9 +1960,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1949,9 +1979,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1961,9 +1991,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1983,15 +2013,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -2006,11 +2038,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -2025,9 +2058,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -2037,11 +2070,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -2049,9 +2082,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -2062,13 +2095,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/burner/Cargo.lock b/contracts/burner/Cargo.lock
index 0c0a97f0a7..07ca932cee 100644
--- a/contracts/burner/Cargo.lock
+++ b/contracts/burner/Cargo.lock
@@ -493,6 +493,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -802,11 +822,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1426,9 +1447,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1452,9 +1473,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1471,9 +1492,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1492,9 +1513,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1511,9 +1532,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1523,9 +1544,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1545,15 +1566,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1568,11 +1591,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1587,9 +1611,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1599,11 +1623,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1611,9 +1635,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1624,13 +1648,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/crypto-verify/Cargo.lock b/contracts/crypto-verify/Cargo.lock
index 16ec896c31..7530f02b59 100644
--- a/contracts/crypto-verify/Cargo.lock
+++ b/contracts/crypto-verify/Cargo.lock
@@ -520,6 +520,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -841,11 +861,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1493,9 +1514,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1519,9 +1540,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1538,9 +1559,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1559,9 +1580,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1578,9 +1599,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1590,9 +1611,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1612,15 +1633,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1635,11 +1658,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1654,9 +1678,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1666,11 +1690,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1678,9 +1702,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1691,13 +1715,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/floaty/Cargo.lock b/contracts/floaty/Cargo.lock
index c3b8f508ee..7cd43fc807 100644
--- a/contracts/floaty/Cargo.lock
+++ b/contracts/floaty/Cargo.lock
@@ -490,6 +490,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -813,11 +833,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1437,9 +1458,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1463,9 +1484,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1482,9 +1503,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1503,9 +1524,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1522,9 +1543,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1534,9 +1555,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1556,15 +1577,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1579,11 +1602,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1598,9 +1622,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1610,11 +1634,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1622,9 +1646,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1635,13 +1659,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/hackatom/Cargo.lock b/contracts/hackatom/Cargo.lock
index 2a94bcd188..63851c9c82 100644
--- a/contracts/hackatom/Cargo.lock
+++ b/contracts/hackatom/Cargo.lock
@@ -519,6 +519,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -843,11 +863,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1479,9 +1500,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1505,9 +1526,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1524,9 +1545,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1545,9 +1566,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1564,9 +1585,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1576,9 +1597,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1598,15 +1619,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1621,11 +1644,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1640,9 +1664,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1652,11 +1676,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1664,9 +1688,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1677,13 +1701,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/ibc-reflect-send/Cargo.lock b/contracts/ibc-reflect-send/Cargo.lock
index dfed3912bd..073136629f 100644
--- a/contracts/ibc-reflect-send/Cargo.lock
+++ b/contracts/ibc-reflect-send/Cargo.lock
@@ -490,6 +490,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -811,11 +831,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1435,9 +1456,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1461,9 +1482,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1480,9 +1501,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1501,9 +1522,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1520,9 +1541,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1532,9 +1553,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1554,15 +1575,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1577,11 +1600,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1596,9 +1620,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1608,11 +1632,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1620,9 +1644,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1633,13 +1657,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/ibc-reflect/Cargo.lock b/contracts/ibc-reflect/Cargo.lock
index 598453e55b..b7f8694f49 100644
--- a/contracts/ibc-reflect/Cargo.lock
+++ b/contracts/ibc-reflect/Cargo.lock
@@ -490,6 +490,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -811,11 +831,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1435,9 +1456,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1461,9 +1482,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1480,9 +1501,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1501,9 +1522,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1520,9 +1541,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1532,9 +1553,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1554,15 +1575,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1577,11 +1600,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1596,9 +1620,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1608,11 +1632,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1620,9 +1644,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1633,13 +1657,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/queue/Cargo.lock b/contracts/queue/Cargo.lock
index 1bdd053708..c6af4f8b34 100644
--- a/contracts/queue/Cargo.lock
+++ b/contracts/queue/Cargo.lock
@@ -482,6 +482,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -791,11 +811,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1426,9 +1447,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1452,9 +1473,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1471,9 +1492,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1492,9 +1513,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1511,9 +1532,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1523,9 +1544,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1545,15 +1566,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1568,11 +1591,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1587,9 +1611,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1599,11 +1623,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1611,9 +1635,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1624,13 +1648,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/reflect/Cargo.lock b/contracts/reflect/Cargo.lock
index 574aad9b1f..c68b9ccda2 100644
--- a/contracts/reflect/Cargo.lock
+++ b/contracts/reflect/Cargo.lock
@@ -490,6 +490,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -799,11 +819,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1436,9 +1457,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1462,9 +1483,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1481,9 +1502,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1502,9 +1523,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1521,9 +1542,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1533,9 +1554,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1555,15 +1576,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1578,11 +1601,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1597,9 +1621,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1609,11 +1633,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1621,9 +1645,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1634,13 +1658,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/contracts/staking/Cargo.lock b/contracts/staking/Cargo.lock
index 343da037c3..8977445057 100644
--- a/contracts/staking/Cargo.lock
+++ b/contracts/staking/Cargo.lock
@@ -496,6 +496,26 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "enum-iterator"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6"
+dependencies = [
+ "enum-iterator-derive",
+]
+
+[[package]]
+name = "enum-iterator-derive"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "enumset"
version = "1.0.7"
@@ -805,11 +825,12 @@ dependencies = [
[[package]]
name = "object"
-version = "0.27.1"
+version = "0.28.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
+checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
dependencies = [
"crc32fast",
+ "hashbrown",
"indexmap",
"memchr",
]
@@ -1463,9 +1484,9 @@ checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"
[[package]]
name = "wasmer"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f0188c23fc1b7de9bd7f8b834d0b1cd5edbe66e287452e8ce36d24418114f7"
+checksum = "bfc7dff846db3f38f8ed0be4a009fdfeb729cf1f94a2c7fb6ff2fec01cefa110"
dependencies = [
"cfg-if",
"indexmap",
@@ -1489,9 +1510,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88c51cc589772c5f90bd329244c2416976d6cb2ee00d59429aaa8f421d9fe447"
+checksum = "8c91abf22b16dad3826ec0d0e3ec0a8304262a6c7a14e16528c536131b80e63d"
dependencies = [
"enumset",
"loupe",
@@ -1508,9 +1529,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-cranelift"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09691e3e323b4e1128d2127f60f9cd988b66ce49afc8184b071c2b5ab16793f2"
+checksum = "7624a1f496b163139a7e0b442426cad805bec70486900287506f9d15a29323ab"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1529,9 +1550,9 @@ dependencies = [
[[package]]
name = "wasmer-compiler-singlepass"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271d3da24c5d1a8bb3f9fc3944ba96d2588b6fa16a0bcef91765db853aeccac4"
+checksum = "4b63c1538ffb4b0e09edaebfcac35c34141d5944c52f77d137cbe0b634bd40fa"
dependencies = [
"byteorder",
"dynasm",
@@ -1548,9 +1569,9 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f5cb7b09640e09f1215da95d6fb7477d2db572f064b803ff705f39ff079cc5"
+checksum = "933b23b5cee0f58aa6c17c6de7e1f3007279357e0d555f22e24d6b395cfe7f89"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -1560,9 +1581,9 @@ dependencies = [
[[package]]
name = "wasmer-engine"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab20311c354fe2c12bc766417e0a1a45f399c1cd8ff262127d1dc86d0588971a"
+checksum = "41db0ac4df90610cda8320cfd5abf90c6ec90e298b6fe5a09a81dff718b55640"
dependencies = [
"backtrace",
"enumset",
@@ -1582,15 +1603,17 @@ dependencies = [
[[package]]
name = "wasmer-engine-dylib"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dd5b7a74731e1dcccaf10a8ff5f72216c82f12972ce17cc81c6caa1afff75ea"
+checksum = "591683f3356ac31cc88aaecaf77ac2cc9f456014348b01af46c164f44f531162"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"libloading",
"loupe",
+ "object 0.28.3",
"rkyv",
"serde",
"tempfile",
@@ -1605,11 +1628,12 @@ dependencies = [
[[package]]
name = "wasmer-engine-universal"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfeae8d5b825ad7abcf9a34e66eb11e1507b21020efe7bbf9897e3dd8d7869e2"
+checksum = "dccfde103e9b87427099a6de344b7c791574f307d035c8c7dbbc00974c1af0c1"
dependencies = [
"cfg-if",
+ "enum-iterator",
"enumset",
"leb128",
"loupe",
@@ -1624,9 +1648,9 @@ dependencies = [
[[package]]
name = "wasmer-middlewares"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61a73bda8608a4ca56142b7849ccf4847cda566267d0071664ca06c6f4fbff1"
+checksum = "be816528dd62f037ae935977b643bb4237e10be9e32826e2f3eb1f911eaccc97"
dependencies = [
"loupe",
"wasmer",
@@ -1636,11 +1660,11 @@ dependencies = [
[[package]]
name = "wasmer-object"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4714e4f3bdc3b2157c24284417d19cd99de036da31d00ec5664712dcb72f7"
+checksum = "1d0c4005592998bd840f2289102ef9c67b6138338ed78e1fc0809586aa229040"
dependencies = [
- "object 0.27.1",
+ "object 0.28.3",
"thiserror",
"wasmer-compiler",
"wasmer-types",
@@ -1648,9 +1672,9 @@ dependencies = [
[[package]]
name = "wasmer-types"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "434e1c0177da0a74ecca90b2aa7d5e86198260f07e8ba83be89feb5f0a4aeead"
+checksum = "4deb854f178265a76b59823c41547d259c65da3687b606b0b9c12d80ab950e3e"
dependencies = [
"indexmap",
"loupe",
@@ -1661,13 +1685,14 @@ dependencies = [
[[package]]
name = "wasmer-vm"
-version = "2.1.1"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc8f964ebba70d9f81340228b98a164782591f00239fc7f01e1b67afcf0e0156"
+checksum = "5dbc5c989cb14a102433927e630473da52f83d82c469acd5cfa8fc7efacc1e70"
dependencies = [
"backtrace",
"cc",
"cfg-if",
+ "enum-iterator",
"indexmap",
"libc",
"loupe",
diff --git a/packages/profiler/Cargo.toml b/packages/profiler/Cargo.toml
index 24997dfb1d..7c4280d391 100644
--- a/packages/profiler/Cargo.toml
+++ b/packages/profiler/Cargo.toml
@@ -14,9 +14,9 @@ cosmwasm-vm = { path = "../vm" }
cosmwasm-std = { path = "../std" }
loupe = "0.1.3"
walrus = "0.19.0"
-wasmer = { version = "2.1.1", default-features = false, features = ["compiler"] }
-wasmer-types = "2.1.1"
-wasmer-vm = "2.1.1"
+wasmer = { version = "=2.2.0", default-features = false, features = ["compiler"] }
+wasmer-types = "=2.2.0"
+wasmer-vm = "=2.2.0"
# wasmer = { git = "https://github.com/wasmerio/wasmer", rev = "877ce1f7c44fad853c", default-features = false, features = ["compiler"] }
# wasmer-types = { git = "https://github.com/wasmerio/wasmer", rev = "877ce1f7c44fad853c" }
# wasmer-vm = { git = "https://github.com/wasmerio/wasmer", rev = "877ce1f7c44fad853c" }
@@ -24,5 +24,5 @@ hackatom = { path = "../../contracts/hackatom", default-features = false }
csv = "1.1.6"
[dev-dependencies]
-wasmer = { version = "2.1.1", features = ["compiler"] }
+wasmer = { version = "=2.2.0", features = ["compiler"] }
# wasmer = { git = "https://github.com/wasmerio/wasmer", rev = "877ce1f7c44fad853c", features = ["compiler"] }
diff --git a/packages/vm/Cargo.toml b/packages/vm/Cargo.toml
index 7f1cbc72a9..b110a75892 100644
--- a/packages/vm/Cargo.toml
+++ b/packages/vm/Cargo.toml
@@ -45,8 +45,8 @@ serde = { version = "1.0.103", default-features = false, features = ["derive", "
serde_json = "1.0"
sha2 = "0.9.1"
thiserror = "1.0"
-wasmer = { version = "2.1.1", default-features = false, features = ["cranelift", "universal", "singlepass"] }
-wasmer-middlewares = "2.1.1"
+wasmer = { version = "=2.2.0", default-features = false, features = ["cranelift", "universal", "singlepass"] }
+wasmer-middlewares = "=2.2.0"
loupe = "0.1.3"
# Wasmer git/local (used for quick local debugging or patching)
diff --git a/packages/vm/src/modules/file_system_cache.rs b/packages/vm/src/modules/file_system_cache.rs
index 886af4ecb7..a8e2f97a38 100644
--- a/packages/vm/src/modules/file_system_cache.rs
+++ b/packages/vm/src/modules/file_system_cache.rs
@@ -7,6 +7,8 @@ use wasmer::{DeserializeError, Module, Store};
use crate::checksum::Checksum;
use crate::errors::{VmError, VmResult};
+use crate::modules::current_wasmer_module_version;
+
/// Bump this version whenever the module system changes in a way
/// that old stored modules would be corrupt when loaded in the new system.
/// This needs to be done e.g. when switching between the jit/native engine.
@@ -30,13 +32,14 @@ use crate::errors::{VmError, VmResult};
/// Version for cosmwasm_vm 1.0.0-beta5 / wasmvm 1.0.0-beta6 that ships with Wasmer 2.1.1.
/// - **v3**:
/// Version for Wasmer 2.2.0 which contains a [module breaking change to 2.1.x](https://github.com/wasmerio/wasmer/pull/2747).
-const MODULE_SERIALIZATION_VERSION: &str = "v2";
+const MODULE_SERIALIZATION_VERSION: &str = "v3";
/// Representation of a directory that contains compiled Wasm artifacts.
pub struct FileSystemCache {
/// The base path this cache operates in. Within this path, versioned directories are created.
/// A sophisticated version of this cache might be able to read multiple input versions in the future.
base_path: PathBuf,
+ wasmer_module_version: u32,
}
impl FileSystemCache {
@@ -48,12 +51,17 @@ impl FileSystemCache {
/// This method is unsafe because there's no way to ensure the artifacts
/// stored in this cache haven't been corrupted or tampered with.
pub unsafe fn new(path: impl Into) -> io::Result {
+ let wasmer_module_version = current_wasmer_module_version();
+
let path: PathBuf = path.into();
if path.exists() {
let metadata = path.metadata()?;
if metadata.is_dir() {
if !metadata.permissions().readonly() {
- Ok(Self { base_path: path })
+ Ok(Self {
+ base_path: path,
+ wasmer_module_version,
+ })
} else {
// This directory is readonly.
Err(io::Error::new(
@@ -74,7 +82,10 @@ impl FileSystemCache {
} else {
// Create the directory and any parent directories if they don't yet exist.
fs::create_dir_all(&path)?;
- Ok(Self { base_path: path })
+ Ok(Self {
+ base_path: path,
+ wasmer_module_version,
+ })
}
}
@@ -116,7 +127,11 @@ impl FileSystemCache {
/// The path to the latest version of the modules.
fn latest_modules_path(&self) -> PathBuf {
- self.base_path.join(MODULE_SERIALIZATION_VERSION)
+ let version = format!(
+ "{}-wasmer{}",
+ MODULE_SERIALIZATION_VERSION, self.wasmer_module_version
+ );
+ self.base_path.join(version)
}
}
@@ -189,8 +204,11 @@ mod tests {
let module = compile(&wasm, None, &[]).unwrap();
cache.store(&checksum, &module).unwrap();
- let file_path = format!("{}/v2/{}", tmp_dir.path().to_string_lossy(), checksum);
- let serialized_module = fs::read(file_path).unwrap();
- assert_eq!(serialized_module.len(), 1040);
+ let file_path = format!(
+ "{}/v3-wasmer1/{}",
+ tmp_dir.path().to_string_lossy(),
+ checksum
+ );
+ let _serialized_module = fs::read(file_path).unwrap();
}
}
diff --git a/packages/vm/src/modules/mod.rs b/packages/vm/src/modules/mod.rs
index 7647c1da71..c00ebae121 100644
--- a/packages/vm/src/modules/mod.rs
+++ b/packages/vm/src/modules/mod.rs
@@ -2,7 +2,9 @@ mod file_system_cache;
mod in_memory_cache;
mod pinned_memory_cache;
mod sized_module;
+mod versioning;
pub use file_system_cache::FileSystemCache;
pub use in_memory_cache::InMemoryCache;
pub use pinned_memory_cache::PinnedMemoryCache;
+pub use versioning::current_wasmer_module_version;
diff --git a/packages/vm/src/modules/versioning.rs b/packages/vm/src/modules/versioning.rs
new file mode 100644
index 0000000000..8b3d9f4883
--- /dev/null
+++ b/packages/vm/src/modules/versioning.rs
@@ -0,0 +1,56 @@
+use std::convert::TryInto;
+
+use crate::wasm_backend::compile;
+
+/// This header prefix contains the module type (wasmer-universal) and
+/// the magic value WASMER\0\0.
+/// The full header also contains a little endian encoded uint32 version number
+/// and a length that we do not check.
+const EXPECTED_MODULE_HEADER_PREFIX: &[u8] = b"wasmer-universalWASMER\0\0";
+
+const ENGINE_TYPE_LEN: usize = 16; // https://github.com/wasmerio/wasmer/blob/2.2.0-rc1/lib/engine-universal/src/artifact.rs#L48
+const METADATA_HEADER_LEN: usize = 16; // https://github.com/wasmerio/wasmer/blob/2.2.0-rc1/lib/engine/src/artifact.rs#L251-L252
+
+fn current_wasmer_module_header() -> Vec {
+ // echo "(module)" > my.wat && wat2wasm my.wat && hexdump -C my.wasm
+ const WASM: &[u8] = b"\x00\x61\x73\x6d\x01\x00\x00\x00";
+ let module = compile(WASM, None, &[]).unwrap();
+ let mut bytes = module.serialize().unwrap_or_default();
+
+ bytes.truncate(ENGINE_TYPE_LEN + METADATA_HEADER_LEN);
+ bytes
+}
+
+/// Obtains the module version from Wasmer that is currently used.
+/// As long as the overall format does not change, this returns a
+/// counter (1 for Wasmer 2.2.0). When the format changes in an
+/// unexpected way (e.g. a different engine is used or the meta
+/// format changes), this panics. That way we can ensure an
+/// incompatible module format can be found early in the development
+/// cycle.
+pub fn current_wasmer_module_version() -> u32 {
+ let header = current_wasmer_module_header();
+ if !header.starts_with(EXPECTED_MODULE_HEADER_PREFIX) {
+ panic!("Wasmer module format changed. Please update the expected version accordingly and bump MODULE_SERIALIZATION_VERSION.");
+ }
+
+ let metadata = &header[header.len() - METADATA_HEADER_LEN..];
+ u32::from_le_bytes((&metadata[8..12]).try_into().unwrap())
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn current_wasmer_module_header_works() {
+ let header = current_wasmer_module_header();
+ assert!(header.starts_with(EXPECTED_MODULE_HEADER_PREFIX));
+ }
+
+ #[test]
+ fn current_wasmer_module_version_works() {
+ let version = current_wasmer_module_version();
+ assert_eq!(version, 1);
+ }
+}