diff --git a/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/mod.rs b/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/mod.rs index f1f7d8f9f..25cbed27f 100644 --- a/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/mod.rs +++ b/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/mod.rs @@ -1,82 +1,82 @@ -use serde::{Deserialize, Deserializer, Serialize, Serializer}; -use starknet_rs_core::types::CompressedLegacyContractClass; - -use crate::contract_class::deprecated::rpc_contract_class::DeprecatedContractClass; +//use crate::contract_class::deprecated::rpc_contract_class::DeprecatedContractClass; use crate::contract_class::Cairo0Json; use crate::error::{DevnetResult, Error}; use crate::felt::Felt; use crate::traits::HashProducer; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use starknet_api::deprecated_contract_class::ContractClass; +use starknet_rs_core::types::CompressedLegacyContractClass; pub mod abi_entry; pub mod json_contract_class; pub mod rpc_contract_class; #[derive(Debug, Clone, Eq, PartialEq)] -pub enum Cairo0ContractClass { +pub enum StarknetApiContractClass { // TODO: remove once starknet_api raised RawJson(Cairo0Json), - Rpc(DeprecatedContractClass), + Rpc(ContractClass), } -impl Serialize for Cairo0ContractClass { +impl Serialize for StarknetApiContractClass { fn serialize(&self, serializer: S) -> Result where S: Serializer, { match self { - Cairo0ContractClass::RawJson(contract_json) => contract_json.serialize(serializer), - Cairo0ContractClass::Rpc(contract) => contract.serialize(serializer), + StarknetApiContractClass::RawJson(contract_json) => contract_json.serialize(serializer), + StarknetApiContractClass::Rpc(contract) => contract.serialize(serializer), } } } -impl<'de> Deserialize<'de> for Cairo0ContractClass { +impl<'de> Deserialize<'de> for StarknetApiContractClass { fn deserialize(deserializer: D) -> Result where D: Deserializer<'de>, { - Ok(Cairo0ContractClass::Rpc(DeprecatedContractClass::deserialize(deserializer)?)) + Ok(StarknetApiContractClass::Rpc(ContractClass::deserialize(deserializer)?)) } } -impl From for Cairo0ContractClass { +impl From for StarknetApiContractClass { fn from(value: Cairo0Json) -> Self { - Cairo0ContractClass::RawJson(value) + StarknetApiContractClass::RawJson(value) } } -impl From for Cairo0ContractClass { - fn from(value: DeprecatedContractClass) -> Self { - Cairo0ContractClass::Rpc(value) +impl From for StarknetApiContractClass { + fn from(value: ContractClass) -> Self { + StarknetApiContractClass::Rpc(value) } } -impl HashProducer for Cairo0ContractClass { +impl HashProducer for StarknetApiContractClass { type Error = Error; fn generate_hash(&self) -> DevnetResult { match self { - Cairo0ContractClass::RawJson(contract_json) => Ok(contract_json.generate_hash()?), - Cairo0ContractClass::Rpc(contract) => Ok(contract.generate_hash()?), + StarknetApiContractClass::RawJson(contract_json) => Ok(contract_json.generate_hash()?), + StarknetApiContractClass::Rpc(contract) => Ok(contract.generate_hash()?), } } } -impl TryInto for Cairo0ContractClass { +impl TryInto for StarknetApiContractClass { type Error = Error; fn try_into(self) -> Result { match self { - Cairo0ContractClass::Rpc(contract_class) => contract_class.try_into(), - Cairo0ContractClass::RawJson(contract_class) => contract_class.try_into(), + StarknetApiContractClass::Rpc(contract_class) => contract_class.try_into(), + StarknetApiContractClass::RawJson(contract_class) => contract_class.try_into(), } } } -impl TryFrom for blockifier::execution::contract_class::ContractClassV0 { +impl TryFrom for blockifier::execution::contract_class::ContractClassV0 { type Error = Error; - fn try_from(value: Cairo0ContractClass) -> Result { + fn try_from(value: StarknetApiContractClass) -> Result { match value { - Cairo0ContractClass::RawJson(contract_class) => contract_class.try_into(), - Cairo0ContractClass::Rpc(contract_class) => contract_class.try_into(), + StarknetApiContractClass::RawJson(contract_class) => contract_class.try_into(), + StarknetApiContractClass::Rpc(contract_class) => contract_class.try_into(), } } } diff --git a/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/rpc_contract_class.rs b/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/rpc_contract_class.rs index e54145123..5c02bfeca 100644 --- a/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/rpc_contract_class.rs +++ b/crates/starknet-devnet-types/src/rpc/contract_class/deprecated/rpc_contract_class.rs @@ -1,7 +1,3 @@ -use serde::{Deserialize, Serialize}; -use serde_json::Value; -use starknet_rs_core::types::{CompressedLegacyContractClass, LegacyEntryPointsByType}; - use crate::contract_class::deprecated::abi_entry::{AbiEntry, AbiEntryType}; use crate::contract_class::Cairo0Json; use crate::error::{DevnetResult, Error, JsonError}; @@ -11,6 +7,10 @@ use crate::serde_helpers::base_64_gzipped_json_string::{ serialize_program_to_base64, }; use crate::traits::HashProducer; +use serde::{Deserialize, Serialize}; +use serde_json::Value; +use starknet_api::deprecated_contract_class::ContractClass; +use starknet_rs_core::types::{CompressedLegacyContractClass, LegacyEntryPointsByType}; #[derive(Debug, Clone, Eq, PartialEq, Deserialize, Serialize)] pub struct ContractClassAbiEntryWithType { @@ -68,7 +68,7 @@ impl Default for DeprecatedContractClass { } } -impl HashProducer for DeprecatedContractClass { +impl HashProducer for ContractClass { type Error = Error; fn generate_hash(&self) -> DevnetResult { let json_value: Cairo0Json = self.clone().try_into()?; diff --git a/crates/starknet-devnet/tests/test_simulate_transactions.rs b/crates/starknet-devnet/tests/test_simulate_transactions.rs index 812c615aa..30a88c720 100644 --- a/crates/starknet-devnet/tests/test_simulate_transactions.rs +++ b/crates/starknet-devnet/tests/test_simulate_transactions.rs @@ -103,7 +103,7 @@ mod simulation_tests { let contract_artifact: Arc = Arc::new(serde_json::from_value(contract_json.inner).unwrap()); - let max_fee = FieldElement::ZERO; // TODO try 1e18 as u128 instead + let max_fee = FieldElement::from(1e18 as u128); // TODO try 1e18 as u128 instead - Done let nonce = FieldElement::ZERO; let signature = account