From 9267a2af024549e547dc208e2030ea5d6632b430 Mon Sep 17 00:00:00 2001 From: Cyrill Leutwiler Date: Thu, 31 Oct 2024 14:52:06 +0100 Subject: [PATCH] use the long revive version string in the contract metadata (#109) --- crates/solidity/src/project/contract/metadata.rs | 11 ++++++----- crates/solidity/src/project/contract/mod.rs | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crates/solidity/src/project/contract/metadata.rs b/crates/solidity/src/project/contract/metadata.rs index 8b81b56..c7bc4ea 100644 --- a/crates/solidity/src/project/contract/metadata.rs +++ b/crates/solidity/src/project/contract/metadata.rs @@ -2,6 +2,8 @@ use serde::Serialize; +use crate::ResolcVersion; + /// The Solidity contract metadata. /// Is used to append the metadata hash to the contract bytecode. #[derive(Debug, Serialize)] @@ -9,11 +11,11 @@ pub struct Metadata { /// The `solc` metadata. pub solc_metadata: serde_json::Value, /// The `solc` version. - pub solc_version: semver::Version, + pub solc_version: String, /// The pallet revive edition. pub revive_pallet_version: Option, /// The PolkaVM compiler version. - pub revive_version: semver::Version, + pub revive_version: String, /// The PolkaVM compiler optimizer settings. pub optimizer_settings: revive_llvm_context::OptimizerSettings, } @@ -22,16 +24,15 @@ impl Metadata { /// A shortcut constructor. pub fn new( solc_metadata: serde_json::Value, - solc_version: semver::Version, + solc_version: String, revive_pallet_version: Option, - revive_version: semver::Version, optimizer_settings: revive_llvm_context::OptimizerSettings, ) -> Self { Self { solc_metadata, solc_version, revive_pallet_version, - revive_version, + revive_version: ResolcVersion::default().long, optimizer_settings, } } diff --git a/crates/solidity/src/project/contract/mod.rs b/crates/solidity/src/project/contract/mod.rs index 1721484..fdbdb3f 100644 --- a/crates/solidity/src/project/contract/mod.rs +++ b/crates/solidity/src/project/contract/mod.rs @@ -89,9 +89,8 @@ impl Contract { let metadata = Metadata::new( self.metadata_json.take(), - version.default.clone(), + version.long.clone(), version.l2_revision.clone(), - semver::Version::parse(env!("CARGO_PKG_VERSION")).expect("Always valid"), optimizer.settings().to_owned(), ); let metadata_json = serde_json::to_value(&metadata).expect("Always valid");