Skip to content

Commit

Permalink
feat(starknet_patricia,starknet_committer): stop using custom Nonce type
Browse files Browse the repository at this point in the history
  • Loading branch information
dorimedini-starkware committed Feb 6, 2025
1 parent d4803a6 commit 6743852
Show file tree
Hide file tree
Showing 14 changed files with 25 additions and 37 deletions.
4 changes: 2 additions & 2 deletions crates/starknet_committer/src/block_committer/commit.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::collections::HashMap;

use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_patricia::patricia_merkle_tree::types::{NodeIndex, SortedLeafIndices};
use starknet_patricia::storage::map_storage::MapStorage;
use tracing::{info, warn};
Expand All @@ -18,7 +18,7 @@ use crate::forest::original_skeleton_forest::{ForestSortedIndices, OriginalSkele
use crate::forest::updated_skeleton_forest::UpdatedSkeletonForest;
use crate::hash_function::hash::TreeHashFunctionImpl;
use crate::patricia_merkle_tree::leaf::leaf_impl::ContractState;
use crate::patricia_merkle_tree::types::{from_class_hash_for_node_index, Nonce};
use crate::patricia_merkle_tree::types::from_class_hash_for_node_index;

type BlockCommitmentResult<T> = Result<T, BlockCommitmentError>;

Expand Down
8 changes: 2 additions & 6 deletions crates/starknet_committer/src/block_committer/input.rs
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
use std::collections::{HashMap, HashSet};
use std::fmt::Debug;

use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::node_data::leaf::{LeafModifications, SkeletonLeaf};
use starknet_patricia::patricia_merkle_tree::types::NodeIndex;
use starknet_patricia::storage::storage_trait::{StorageKey, StorageValue};
use starknet_types_core::felt::Felt;
use tracing::level_filters::LevelFilter;

use crate::patricia_merkle_tree::types::{
from_class_hash_for_node_index,
CompiledClassHash,
Nonce,
};
use crate::patricia_merkle_tree::types::{from_class_hash_for_node_index, CompiledClassHash};

#[cfg(test)]
#[path = "input_test.rs"]
Expand Down
3 changes: 1 addition & 2 deletions crates/starknet_committer/src/forest/filled_forest.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::collections::HashMap;

use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::filled_tree::tree::FilledTree;
use starknet_patricia::patricia_merkle_tree::node_data::leaf::LeafModifications;
Expand All @@ -22,7 +22,6 @@ use crate::patricia_merkle_tree::types::{
ClassesTrie,
CompiledClassHash,
ContractsTrie,
Nonce,
StorageTrieMap,
};

Expand Down
4 changes: 2 additions & 2 deletions crates/starknet_committer/src/forest/skeleton_forest_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::collections::HashMap;

use pretty_assertions::assert_eq;
use rstest::rstest;
use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::external_test_utils::{
create_32_bytes_entry,
Expand Down Expand Up @@ -33,7 +33,7 @@ use crate::block_committer::input::{
};
use crate::forest::original_skeleton_forest::{ForestSortedIndices, OriginalSkeletonForest};
use crate::patricia_merkle_tree::leaf::leaf_impl::ContractState;
use crate::patricia_merkle_tree::types::{CompiledClassHash, Nonce};
use crate::patricia_merkle_tree::types::CompiledClassHash;

macro_rules! compare_skeleton_tree {
($actual_skeleton:expr, $expected_skeleton:expr, $expected_indices:expr) => {{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::collections::HashMap;

use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_patricia::patricia_merkle_tree::node_data::leaf::{LeafModifications, SkeletonLeaf};
use starknet_patricia::patricia_merkle_tree::types::NodeIndex;
use starknet_patricia::patricia_merkle_tree::updated_skeleton_tree::tree::{
Expand All @@ -13,7 +13,6 @@ use crate::block_committer::input::from_contract_address_for_node_index;
use crate::forest::forest_errors::{ForestError, ForestResult};
use crate::forest::original_skeleton_forest::OriginalSkeletonForest;
use crate::patricia_merkle_tree::leaf::leaf_impl::ContractState;
use crate::patricia_merkle_tree::types::Nonce;

pub(crate) struct UpdatedSkeletonForest {
pub(crate) classes_trie: UpdatedSkeletonTreeImpl,
Expand Down
4 changes: 2 additions & 2 deletions crates/starknet_committer/src/hash_function/hash_test.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hex;
use rstest::rstest;
use starknet_api::core::ClassHash;
use starknet_api::core::{ClassHash, Nonce};
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::node_data::inner_node::{
BinaryData,
Expand All @@ -16,7 +16,7 @@ use starknet_types_core::hash::Pedersen;
use crate::block_committer::input::StarknetStorageValue;
use crate::hash_function::hash::TreeHashFunctionImpl;
use crate::patricia_merkle_tree::leaf::leaf_impl::ContractState;
use crate::patricia_merkle_tree::types::{CompiledClassHash, Nonce};
use crate::patricia_merkle_tree::types::CompiledClassHash;

#[rstest]
// Random StateTreeTuples and the expected hash results were generated and computed elsewhere.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use starknet_api::core::ClassHash;
use starknet_api::core::{ClassHash, Nonce};
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::filled_tree::tree::{FilledTree, FilledTreeImpl};
use starknet_patricia::patricia_merkle_tree::node_data::errors::{LeafError, LeafResult};
Expand All @@ -9,7 +9,7 @@ use starknet_types_core::felt::Felt;

use crate::block_committer::input::StarknetStorageValue;
use crate::hash_function::hash::TreeHashFunctionImpl;
use crate::patricia_merkle_tree::types::{CompiledClassHash, Nonce};
use crate::patricia_merkle_tree::types::CompiledClassHash;

#[derive(Clone, Debug, Default, Eq, PartialEq)]
pub struct ContractState {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::collections::HashMap;

use serde_json::Value;
use starknet_api::core::ClassHash;
use starknet_api::core::{ClassHash, Nonce};
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::types::SubTreeHeight;
use starknet_patricia::storage::db_object::{DBObject, Deserializable};
Expand All @@ -11,7 +11,7 @@ use starknet_types_core::felt::Felt;

use crate::block_committer::input::StarknetStorageValue;
use crate::patricia_merkle_tree::leaf::leaf_impl::ContractState;
use crate::patricia_merkle_tree::types::{fixed_hex_string_no_prefix, CompiledClassHash, Nonce};
use crate::patricia_merkle_tree::types::{fixed_hex_string_no_prefix, CompiledClassHash};

impl DBObject for StarknetStorageValue {
/// Serializes the value into a 32-byte vector.
Expand Down Expand Up @@ -98,7 +98,7 @@ impl Deserializable for ContractState {
get_leaf_key(get_key_from_map(&deserialized_map, "storage_commitment_tree")?, "root")?;

Ok(Self {
nonce: Nonce::from_hex(&nonce_as_hex)?,
nonce: Nonce(Felt::from_hex(&nonce_as_hex)?),
storage_root_hash: HashOutput::from_hex(&root_hash_as_hex)?,
class_hash: ClassHash(Felt::from_hex(&class_hash_as_hex)?),
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::fmt::Debug;

use rstest::rstest;
use starknet_api::core::ClassHash;
use starknet_api::core::{ClassHash, Nonce};
use starknet_api::felt;
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::node_data::leaf::Leaf;
Expand All @@ -11,7 +11,7 @@ use starknet_types_core::felt::Felt;

use crate::block_committer::input::StarknetStorageValue;
use crate::patricia_merkle_tree::leaf::leaf_impl::ContractState;
use crate::patricia_merkle_tree::types::{CompiledClassHash, Nonce};
use crate::patricia_merkle_tree::types::CompiledClassHash;

#[rstest]
#[case::zero_storage_leaf(StarknetStorageValue(Felt::ZERO))]
Expand Down Expand Up @@ -63,7 +63,7 @@ fn test_deserialize_contract_state_without_nonce() {
let contract_state = ContractState::deserialize(&serialized).unwrap();

// Validate the fields (nonce should be the default "0")
assert_eq!(contract_state.nonce, Nonce::from_hex("0x0").unwrap());
assert_eq!(contract_state.nonce, Nonce(Felt::ZERO));
assert_eq!(contract_state.class_hash, ClassHash(felt!("0x1234abcd")));
assert_eq!(contract_state.storage_root_hash, HashOutput::from_hex("0x5678").unwrap());
}
5 changes: 0 additions & 5 deletions crates/starknet_committer/src/patricia_merkle_tree/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ pub fn from_class_hash_for_node_index(class_hash: &ClassHash) -> NodeIndex {
NodeIndex::from_leaf_felt(&class_hash.0)
}

#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
pub struct Nonce(pub Felt);

impl_from_hex_for_felt_wrapper!(Nonce);

#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct CompiledClassHash(pub Felt);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
use std::collections::HashMap;

use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_committer::block_committer::input::{
ConfigImpl,
Input,
StarknetStorageKey,
StarknetStorageValue,
StateDiff,
};
use starknet_committer::patricia_merkle_tree::types::{CompiledClassHash, Nonce};
use starknet_committer::patricia_merkle_tree::types::CompiledClassHash;
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::storage::errors::DeserializationError;
use starknet_patricia::storage::storage_trait::{StorageKey, StorageValue};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ use std::collections::HashMap;

use assert_matches::assert_matches;
use pretty_assertions::assert_eq;
use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_committer::block_committer::input::{
ConfigImpl,
Input,
StarknetStorageKey,
StarknetStorageValue,
StateDiff,
};
use starknet_committer::patricia_merkle_tree::types::{CompiledClassHash, Nonce};
use starknet_committer::patricia_merkle_tree::types::CompiledClassHash;
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::storage::errors::DeserializationError;
use starknet_patricia::storage::storage_trait::{StorageKey, StorageValue};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use std::fmt::Debug;

use ethnum::U256;
use serde_json::json;
use starknet_api::core::{ClassHash, ContractAddress};
use starknet_api::core::{ClassHash, ContractAddress, Nonce};
use starknet_committer::block_committer::input::{
StarknetStorageKey,
StarknetStorageValue,
Expand All @@ -13,7 +13,7 @@ use starknet_committer::forest::filled_forest::FilledForest;
use starknet_committer::hash_function::hash::TreeHashFunctionImpl;
use starknet_committer::patricia_merkle_tree::leaf::leaf_impl::ContractState;
use starknet_committer::patricia_merkle_tree::tree::OriginalSkeletonStorageTrieConfig;
use starknet_committer::patricia_merkle_tree::types::{CompiledClassHash, Nonce};
use starknet_committer::patricia_merkle_tree::types::CompiledClassHash;
use starknet_patricia::hash::hash_trait::HashOutput;
use starknet_patricia::patricia_merkle_tree::external_test_utils::single_tree_flow_test;
use starknet_patricia::patricia_merkle_tree::filled_tree::node::FilledNode;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use rand::prelude::IteratorRandom;
use rand::Rng;
use rand_distr::num_traits::ToPrimitive;
use rand_distr::{Distribution, Geometric};
use starknet_api::core::{ClassHash, ContractAddress, PATRICIA_KEY_UPPER_BOUND};
use starknet_api::core::{ClassHash, ContractAddress, Nonce, PATRICIA_KEY_UPPER_BOUND};
use starknet_api::felt;
use starknet_committer::block_committer::input::StarknetStorageValue;
use starknet_committer::forest::filled_forest::FilledForest;
Expand All @@ -15,7 +15,6 @@ use starknet_committer::patricia_merkle_tree::types::{
ClassesTrie,
CompiledClassHash,
ContractsTrie,
Nonce,
StorageTrie,
StorageTrieMap,
};
Expand Down

0 comments on commit 6743852

Please sign in to comment.