Merge remote-tracking branch 'origin/main' into resolc.js

This commit is contained in:
Sebastian Miasojed
2024-11-06 15:04:34 +01:00
143 changed files with 14572 additions and 5271 deletions
@@ -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,
/// The zkVM `solc` edition.
pub solc_zkvm_edition: Option<semver::Version>,
pub solc_version: String,
/// The pallet revive edition.
pub revive_pallet_version: Option<semver::Version>,
/// The PolkaVM compiler version.
pub zk_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_zkvm_edition: Option<semver::Version>,
zk_version: semver::Version,
solc_version: String,
revive_pallet_version: Option<semver::Version>,
optimizer_settings: revive_llvm_context::OptimizerSettings,
) -> Self {
Self {
solc_metadata,
solc_version,
solc_zkvm_edition,
zk_version,
revive_pallet_version,
revive_version: ResolcVersion::default().long,
optimizer_settings,
}
}
+2 -5
View File
@@ -78,7 +78,6 @@ impl Contract {
mut self,
project: Project,
optimizer_settings: revive_llvm_context::OptimizerSettings,
is_system_mode: bool,
include_metadata_hash: bool,
debug_config: Option<revive_llvm_context::DebugConfig>,
) -> anyhow::Result<ContractBuild> {
@@ -90,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");
@@ -127,8 +125,7 @@ impl Contract {
context.set_solidity_data(revive_llvm_context::PolkaVMContextSolidityData::default());
match self.ir {
IR::Yul(_) => {
let yul_data = revive_llvm_context::PolkaVMContextYulData::new(is_system_mode);
context.set_yul_data(yul_data);
context.set_yul_data(Default::default());
}
IR::EVMLA(_) => {
let evmla_data = revive_llvm_context::PolkaVMContextEVMLAData::new(version.default);
-6
View File
@@ -64,9 +64,7 @@ impl Project {
pub fn compile(
self,
optimizer_settings: revive_llvm_context::OptimizerSettings,
is_system_mode: bool,
include_metadata_hash: bool,
bytecode_encoding_testing: bool,
debug_config: Option<revive_llvm_context::DebugConfig>,
) -> anyhow::Result<Build> {
let project = self.clone();
@@ -80,9 +78,7 @@ impl Project {
let process_input = ProcessInput::new(
contract,
project.clone(),
is_system_mode,
include_metadata_hash,
bytecode_encoding_testing,
optimizer_settings.clone(),
debug_config.clone(),
);
@@ -255,7 +251,6 @@ impl revive_llvm_context::PolkaVMDependency for Project {
project: Self,
identifier: &str,
optimizer_settings: revive_llvm_context::OptimizerSettings,
is_system_mode: bool,
include_metadata_hash: bool,
debug_config: Option<revive_llvm_context::DebugConfig>,
) -> anyhow::Result<String> {
@@ -275,7 +270,6 @@ impl revive_llvm_context::PolkaVMDependency for Project {
.compile(
project,
optimizer_settings,
is_system_mode,
include_metadata_hash,
debug_config,
)