Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(katana): rpc class types improvements #2712

Merged
merged 10 commits into from
Nov 22, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix test
kariy committed Nov 22, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit 8dba1069f57c8e73845c4bae842e871b0b860d33
9 changes: 5 additions & 4 deletions crates/katana/executor/src/implementation/blockifier/state.rs
Original file line number Diff line number Diff line change
@@ -275,7 +275,7 @@ mod tests {
let compiled_hash = felt!("0x456");
let class = DEFAULT_ACCOUNT_CLASS.clone();
let compiled_class = DEFAULT_ACCOUNT_CLASS_CASM.clone();
let legacy_class_hash = felt!("0x111");
let legacy_class_hash = felt!("0x445");
let legacy_class = DEFAULT_LEGACY_ERC20_CLASS.clone();

let provider = katana_provider::test_utils::test_provider();
@@ -285,7 +285,8 @@ mod tests {
provider.set_compiled_class_hash_of_class_hash(class_hash, compiled_hash).unwrap();
provider.set_class(class_hash, class).unwrap();
provider.set_compiled_class(class_hash, compiled_class).unwrap();
provider.set_class(legacy_class_hash, legacy_class).unwrap();
provider.set_class(legacy_class_hash, legacy_class.clone()).unwrap();
provider.set_compiled_class(legacy_class_hash, legacy_class.compile().unwrap()).unwrap();

provider.latest().unwrap()
}
@@ -296,7 +297,7 @@ mod tests {
let cached_state = CachedState::new(StateProviderDb::new(state));

let address = address!("0x67");
let legacy_class_hash = felt!("0x111");
let legacy_class_hash = felt!("0x445");
let storage_key = felt!("0x1");

let api_address = utils::to_blk_address(address);
@@ -405,7 +406,7 @@ mod tests {

let address = address!("0x67");
let class_hash = felt!("0x123");
let legacy_class_hash = felt!("0x111");
let legacy_class_hash = felt!("0x445");

let actual_class_hash = sp.class_hash_of_contract(address)?;
let actual_nonce = sp.nonce(address)?;
4 changes: 2 additions & 2 deletions crates/katana/storage/db/src/tables.rs
Original file line number Diff line number Diff line change
@@ -202,9 +202,9 @@ tables! {
Receipts: (TxNumber) => Receipt,
/// Store compiled classes
CompiledClassHashes: (ClassHash) => CompiledClassHash,
/// Store compiled contract classes according to its compiled class hash
/// Store compiled contract classes according to its class hash
CompiledClasses: (ClassHash) => CompiledClass,
/// Store Sierra classes according to its class hash
/// Store contract classes according to its class hash
Classes: (ClassHash) => ContractClass,
/// Store contract information according to its contract address
ContractInfo: (ContractAddress) => GenericContractInfo,
7 changes: 1 addition & 6 deletions crates/katana/storage/provider/src/providers/db/state.rs
Original file line number Diff line number Diff line change
@@ -113,12 +113,7 @@ where
Tx: DbTx + Send + Sync,
{
fn class(&self, hash: ClassHash) -> ProviderResult<Option<ContractClass>> {
// TODO: change the tables to store ContractClass directly
match self.0.get::<tables::CompiledClasses>(hash)? {
Some(CompiledClass::Class(..)) => Ok(self.0.get::<tables::Classes>(hash)?),
Some(CompiledClass::Legacy(class)) => Ok(Some(ContractClass::Legacy(class))),
None => Ok(None),
}
Ok(self.0.get::<tables::Classes>(hash)?)
}

fn compiled_class(&self, hash: ClassHash) -> ProviderResult<Option<CompiledClass>> {