mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-06-15 17:21:09 +00:00
use the long revive version string in the contract metadata (#109)
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
|
|
||||||
|
use crate::ResolcVersion;
|
||||||
|
|
||||||
/// The Solidity contract metadata.
|
/// The Solidity contract metadata.
|
||||||
/// Is used to append the metadata hash to the contract bytecode.
|
/// Is used to append the metadata hash to the contract bytecode.
|
||||||
#[derive(Debug, Serialize)]
|
#[derive(Debug, Serialize)]
|
||||||
@@ -9,11 +11,11 @@ pub struct Metadata {
|
|||||||
/// The `solc` metadata.
|
/// The `solc` metadata.
|
||||||
pub solc_metadata: serde_json::Value,
|
pub solc_metadata: serde_json::Value,
|
||||||
/// The `solc` version.
|
/// The `solc` version.
|
||||||
pub solc_version: semver::Version,
|
pub solc_version: String,
|
||||||
/// The pallet revive edition.
|
/// The pallet revive edition.
|
||||||
pub revive_pallet_version: Option<semver::Version>,
|
pub revive_pallet_version: Option<semver::Version>,
|
||||||
/// The PolkaVM compiler version.
|
/// The PolkaVM compiler version.
|
||||||
pub revive_version: semver::Version,
|
pub revive_version: String,
|
||||||
/// The PolkaVM compiler optimizer settings.
|
/// The PolkaVM compiler optimizer settings.
|
||||||
pub optimizer_settings: revive_llvm_context::OptimizerSettings,
|
pub optimizer_settings: revive_llvm_context::OptimizerSettings,
|
||||||
}
|
}
|
||||||
@@ -22,16 +24,15 @@ impl Metadata {
|
|||||||
/// A shortcut constructor.
|
/// A shortcut constructor.
|
||||||
pub fn new(
|
pub fn new(
|
||||||
solc_metadata: serde_json::Value,
|
solc_metadata: serde_json::Value,
|
||||||
solc_version: semver::Version,
|
solc_version: String,
|
||||||
revive_pallet_version: Option<semver::Version>,
|
revive_pallet_version: Option<semver::Version>,
|
||||||
revive_version: semver::Version,
|
|
||||||
optimizer_settings: revive_llvm_context::OptimizerSettings,
|
optimizer_settings: revive_llvm_context::OptimizerSettings,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
Self {
|
Self {
|
||||||
solc_metadata,
|
solc_metadata,
|
||||||
solc_version,
|
solc_version,
|
||||||
revive_pallet_version,
|
revive_pallet_version,
|
||||||
revive_version,
|
revive_version: ResolcVersion::default().long,
|
||||||
optimizer_settings,
|
optimizer_settings,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,9 +89,8 @@ impl Contract {
|
|||||||
|
|
||||||
let metadata = Metadata::new(
|
let metadata = Metadata::new(
|
||||||
self.metadata_json.take(),
|
self.metadata_json.take(),
|
||||||
version.default.clone(),
|
version.long.clone(),
|
||||||
version.l2_revision.clone(),
|
version.l2_revision.clone(),
|
||||||
semver::Version::parse(env!("CARGO_PKG_VERSION")).expect("Always valid"),
|
|
||||||
optimizer.settings().to_owned(),
|
optimizer.settings().to_owned(),
|
||||||
);
|
);
|
||||||
let metadata_json = serde_json::to_value(&metadata).expect("Always valid");
|
let metadata_json = serde_json::to_value(&metadata).expect("Always valid");
|
||||||
|
|||||||
Reference in New Issue
Block a user