diff --git a/Cargo.lock b/Cargo.lock
index 88adc80814..9974f92fa7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4337,10 +4337,12 @@ dependencies = [
"bs58 0.5.1",
"cosmwasm-schema",
"cosmwasm-std",
+ "cw-storage-plus",
"schemars",
"serde",
"serde_json",
"thiserror",
+ "vergen",
]
[[package]]
@@ -9213,11 +9215,14 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "vergen"
-version = "8.2.6"
+version = "8.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1290fd64cc4e7d3c9b07d7f333ce0ce0007253e32870e632624835cc80b83939"
+checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525"
dependencies = [
"anyhow",
+ "cargo_metadata",
+ "cfg-if",
+ "regex",
"rustc_version 0.4.0",
"rustversion",
"time",
diff --git a/Cargo.toml b/Cargo.toml
index bdce9b228e..e329b82511 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -289,7 +289,7 @@ tungstenite = { version = "0.20.1", default-features = false }
url = "2.4"
utoipa = "4.2.0"
utoipa-swagger-ui = "6.0.0"
-vergen = { version = "=8.2.6", default-features = false }
+vergen = { version = "=8.3.1", default-features = false }
walkdir = "2"
wasm-bindgen-test = "0.3.36"
zeroize = "1.6.0"
diff --git a/common/client-libs/validator-client/src/nyxd/mod.rs b/common/client-libs/validator-client/src/nyxd/mod.rs
index 2fd0f23e76..ec77c2ecad 100644
--- a/common/client-libs/validator-client/src/nyxd/mod.rs
+++ b/common/client-libs/validator-client/src/nyxd/mod.rs
@@ -70,6 +70,8 @@ use crate::http_client;
use crate::{DirectSigningHttpRpcNyxdClient, QueryHttpRpcNyxdClient};
#[cfg(feature = "http-client")]
use cosmrs::rpc::{HttpClient, HttpClientUrl};
+use nym_contracts_common::build_information::CONTRACT_BUILD_INFO_STORAGE_KEY;
+use nym_contracts_common::ContractBuildInformation;
pub mod coin;
pub mod contract_traits;
@@ -328,6 +330,31 @@ where
.await
.map(|block| block.block_id.hash)
}
+
+ pub async fn get_cw2_contract_version(
+ &self,
+ contract_address: &AccountId,
+ ) -> Result