From dae713022a8895503d7c68b6aac630b2381a8eef Mon Sep 17 00:00:00 2001 From: Tom French Date: Sat, 25 May 2024 15:06:39 +0100 Subject: [PATCH] chore: avoid manual creation of contract artifact in wasm --- compiler/wasm/src/compile.rs | 20 +++----------------- compiler/wasm/src/compile_new.rs | 16 ++-------------- 2 files changed, 5 insertions(+), 31 deletions(-) diff --git a/compiler/wasm/src/compile.rs b/compiler/wasm/src/compile.rs index 57b17a6f79e..f1495e0b438 100644 --- a/compiler/wasm/src/compile.rs +++ b/compiler/wasm/src/compile.rs @@ -3,15 +3,11 @@ use fm::FileManager; use gloo_utils::format::JsValueSerdeExt; use js_sys::{JsString, Object}; use nargo::{ - artifacts::{ - contract::{ContractArtifact, ContractFunctionArtifact}, - program::ProgramArtifact, - }, + artifacts::{contract::ContractArtifact, program::ProgramArtifact}, parse_all, }; use noirc_driver::{ add_dep, file_manager_with_stdlib, prepare_crate, prepare_dependency, CompileOptions, - NOIR_ARTIFACT_VERSION_STRING, }; use noirc_evaluator::errors::SsaReport; use noirc_frontend::{ @@ -220,19 +216,9 @@ pub fn compile_contract( let optimized_contract = nargo::ops::transform_contract(compiled_contract, compile_options.expression_width); + let warnings = optimized_contract.warnings.clone(); - let functions = - optimized_contract.functions.into_iter().map(ContractFunctionArtifact::from).collect(); - - let contract_artifact = ContractArtifact { - noir_version: String::from(NOIR_ARTIFACT_VERSION_STRING), - name: optimized_contract.name, - functions, - outputs: optimized_contract.outputs.into(), - file_map: optimized_contract.file_map, - }; - - Ok(JsCompileContractResult::new(contract_artifact, optimized_contract.warnings)) + Ok(JsCompileContractResult::new(optimized_contract.into(), warnings)) } fn prepare_context( diff --git a/compiler/wasm/src/compile_new.rs b/compiler/wasm/src/compile_new.rs index 4f11cafb975..d5f02833521 100644 --- a/compiler/wasm/src/compile_new.rs +++ b/compiler/wasm/src/compile_new.rs @@ -4,11 +4,9 @@ use crate::compile::{ }; use crate::errors::{CompileError, JsCompileError}; use acvm::acir::circuit::ExpressionWidth; -use nargo::artifacts::contract::{ContractArtifact, ContractFunctionArtifact}; use nargo::parse_all; use noirc_driver::{ add_dep, compile_contract, compile_main, prepare_crate, prepare_dependency, CompileOptions, - NOIR_ARTIFACT_VERSION_STRING, }; use noirc_frontend::{ graph::{CrateId, CrateName}, @@ -148,19 +146,9 @@ impl CompilerContext { let optimized_contract = nargo::ops::transform_contract(compiled_contract, compile_options.expression_width); + let warnings = optimized_contract.warnings.clone(); - let functions = - optimized_contract.functions.into_iter().map(ContractFunctionArtifact::from).collect(); - - let contract_artifact = ContractArtifact { - noir_version: String::from(NOIR_ARTIFACT_VERSION_STRING), - name: optimized_contract.name, - functions, - outputs: optimized_contract.outputs.into(), - file_map: optimized_contract.file_map, - }; - - Ok(JsCompileContractResult::new(contract_artifact, optimized_contract.warnings)) + Ok(JsCompileContractResult::new(optimized_contract.into(), warnings)) } }