diff --git a/.circleci/config.yml b/.circleci/config.yml
index 47fcbc2eba..a128bc9878 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -4,6 +4,7 @@ workflows:
test:
# Keep those job names in sync with .mergify.yml
jobs:
+ - arm64
- package_crypto
- package_schema
- package_std
@@ -52,6 +53,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 ccfd7d7815..2b6a2750bd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,11 @@ and this project adheres to
## [Unreleased]
+### Changed
+
+- cosmwasm-vm: Upgrade Wasmer to 2.2.0 and bump `MODULE_SERIALIZATION_VERSION`
+ to "v3-wasmer1".
+
## [0.16.4] - 2022-02-18
### Changed
diff --git a/Cargo.lock b/Cargo.lock
index eb6919926e..574aa66a9a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -642,6 +642,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.7"
@@ -1000,11 +1020,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",
]
@@ -1771,9 +1792,9 @@ checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
[[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",
@@ -1797,9 +1818,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",
@@ -1816,9 +1837,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",
@@ -1837,9 +1858,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",
@@ -1856,9 +1877,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",
@@ -1868,9 +1889,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",
@@ -1890,15 +1911,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",
@@ -1913,11 +1936,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",
@@ -1932,9 +1956,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",
@@ -1944,11 +1968,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",
@@ -1956,9 +1980,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",
@@ -1969,13 +1993,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 01a7de2cd2..351932e8e2 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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 940b2d4914..b22dd8e171 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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 f5b394edc0..ac86b71f5a 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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 e0a9553a40..e2b63e51d8 100644
--- a/contracts/hackatom/Cargo.lock
+++ b/contracts/hackatom/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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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/ibc-reflect-send/Cargo.lock b/contracts/ibc-reflect-send/Cargo.lock
index f1645740a5..a5631443b7 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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 9e1a0839dd..750d52965e 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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 538567d552..023d82a8a3 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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 c100c791b5..eed6aa7486 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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 1a40dfe2ba..30441ed5cf 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 = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[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/vm/Cargo.toml b/packages/vm/Cargo.toml
index f943f01bff..b28de6b49a 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 b471c47c3b..164b4b23d7 100644
--- a/packages/vm/src/modules/file_system_cache.rs
+++ b/packages/vm/src/modules/file_system_cache.rs
@@ -6,6 +6,7 @@ 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.
@@ -30,13 +31,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 +50,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 +81,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 +126,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)
}
}
@@ -132,6 +146,14 @@ mod tests {
const TESTING_MEMORY_LIMIT: Option = Some(Size::mebi(16));
const TESTING_GAS_LIMIT: u64 = 5_000;
+ const SOME_WAT: &str = r#"(module
+ (type $t0 (func (param i32) (result i32)))
+ (func $add_one (export "add_one") (type $t0) (param $p0 i32) (result i32)
+ get_local $p0
+ i32.const 1
+ i32.add))
+ "#;
+
#[test]
fn file_system_cache_run() {
let tmp_dir = TempDir::new().unwrap();
@@ -176,4 +198,25 @@ mod tests {
assert_eq!(result[0].unwrap_i32(), 43);
}
}
+
+ #[test]
+ fn file_system_cache_store_uses_expected_path() {
+ let tmp_dir = TempDir::new().unwrap();
+ let mut cache = unsafe { FileSystemCache::new(tmp_dir.path()).unwrap() };
+
+ // Create module
+ let wasm = wat::parse_str(SOME_WAT).unwrap();
+ let checksum = Checksum::generate(&wasm);
+
+ // Store module
+ let module = compile(&wasm, None).unwrap();
+ cache.store(&checksum, &module).unwrap();
+
+ 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..f724fdaad4
--- /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);
+ }
+}