From 55a85d404d3b86ad3b5d658d0dc3907273bc1973 Mon Sep 17 00:00:00 2001 From: Kariy Date: Mon, 8 Jan 2024 17:47:01 +0900 Subject: [PATCH 1/3] replace compiled class hash with class hash --- crates/katana/core/src/accounts.rs | 32 +++++------------------------ crates/katana/core/src/utils/mod.rs | 8 ++++---- 2 files changed, 9 insertions(+), 31 deletions(-) diff --git a/crates/katana/core/src/accounts.rs b/crates/katana/core/src/accounts.rs index 25ff933c12..f602a38e34 100644 --- a/crates/katana/core/src/accounts.rs +++ b/crates/katana/core/src/accounts.rs @@ -1,8 +1,6 @@ use std::fmt::Display; -use std::sync::Arc; use anyhow::Result; -use blockifier::execution::contract_class::ContractClass; use katana_primitives::contract::ContractAddress; use katana_primitives::FieldElement; use katana_provider::traits::state::StateWriter; @@ -14,9 +12,7 @@ use starknet::core::serde::unsigned_field_element::UfeHex; use starknet::core::utils::{get_contract_address, get_storage_var_address}; use starknet::signers::SigningKey; -use crate::constants::{ - FEE_TOKEN_ADDRESS, OZ_V1_ACCOUNT_CONTRACT_COMPILED, OZ_V1_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, -}; +use crate::constants::{FEE_TOKEN_ADDRESS, OZ_V1_ACCOUNT_CONTRACT_CLASS_HASH}; #[serde_as] #[derive(Debug, Clone, Serialize)] @@ -31,18 +27,11 @@ pub struct Account { pub address: FieldElement, #[serde_as(as = "UfeHex")] pub class_hash: FieldElement, - #[serde(skip_serializing)] - pub contract_class: Arc, } impl Account { #[must_use] - pub fn new( - private_key: FieldElement, - balance: FieldElement, - class_hash: FieldElement, - contract_class: Arc, - ) -> Self { + pub fn new(private_key: FieldElement, balance: FieldElement, class_hash: FieldElement) -> Self { let public_key = public_key_from_private_key(private_key); let address = get_contract_address( FieldElement::from(666u32), @@ -51,7 +40,7 @@ impl Account { FieldElement::ZERO, ); - Self { address, public_key, balance, class_hash, private_key, contract_class } + Self { address, public_key, balance, class_hash, private_key } } // TODO: separate fund logic from this struct - implement FeeToken type @@ -104,7 +93,6 @@ pub struct DevAccountGenerator { pub seed: [u8; 32], pub balance: FieldElement, pub class_hash: FieldElement, - pub contract_class: Arc, } impl DevAccountGenerator { @@ -114,8 +102,7 @@ impl DevAccountGenerator { total, seed: [0u8; 32], balance: FieldElement::ZERO, - class_hash: (*OZ_V1_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH), - contract_class: Arc::new((*OZ_V1_ACCOUNT_CONTRACT_COMPILED).clone()), + class_hash: (*OZ_V1_ACCOUNT_CONTRACT_CLASS_HASH), } } @@ -127,10 +114,6 @@ impl DevAccountGenerator { Self { balance, ..self } } - pub fn with_class(self, class_hash: FieldElement, contract_class: Arc) -> Self { - Self { class_hash, contract_class, ..self } - } - /// Generate `total` number of accounts based on the `seed`. #[must_use] pub fn generate(&self) -> Vec { @@ -147,12 +130,7 @@ impl DevAccountGenerator { let private_key = FieldElement::from_bytes_be(&private_key_bytes) .expect("able to create FieldElement from bytes"); - Account::new( - private_key, - self.balance, - self.class_hash, - self.contract_class.clone(), - ) + Account::new(private_key, self.balance, self.class_hash) }) .collect() } diff --git a/crates/katana/core/src/utils/mod.rs b/crates/katana/core/src/utils/mod.rs index 26bae491be..91c5529a06 100644 --- a/crates/katana/core/src/utils/mod.rs +++ b/crates/katana/core/src/utils/mod.rs @@ -42,14 +42,14 @@ pub(super) fn get_genesis_states_for_testing() -> StateUpdatesWithDeclaredClasse ]); let declared_sierra_classes = HashMap::from([( - *OZ_V1_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, + *OZ_V1_ACCOUNT_CONTRACT_CLASS_HASH, OZ_V1_ACCOUNT_CONTRACT.clone().flatten().unwrap(), )]); let declared_compiled_classes = HashMap::from([ - (*UDC_COMPILED_CLASS_HASH, (*UDC_CONTRACT).clone()), - (*ERC20_CONTRACT_COMPILED_CLASS_HASH, (*ERC20_CONTRACT).clone()), - (*OZ_V1_ACCOUNT_CONTRACT_COMPILED_CLASS_HASH, (*OZ_V1_ACCOUNT_CONTRACT_COMPILED).clone()), + (*UDC_CLASS_HASH, (*UDC_CONTRACT).clone()), + (*ERC20_CONTRACT_CLASS_HASH, (*ERC20_CONTRACT).clone()), + (*OZ_V1_ACCOUNT_CONTRACT_CLASS_HASH, (*OZ_V1_ACCOUNT_CONTRACT_COMPILED).clone()), ]); StateUpdatesWithDeclaredClasses { From b97626b07a64bbcd5b26ccfbc60c271137aecc1a Mon Sep 17 00:00:00 2001 From: Kariy Date: Mon, 8 Jan 2024 18:24:57 +0900 Subject: [PATCH 2/3] replace old address --- crates/katana/core/contracts/messaging/cairo/Makefile | 2 +- crates/katana/core/contracts/messaging/cairo/account_l2.json | 2 +- crates/katana/core/contracts/messaging/solidity/Makefile | 2 +- crates/torii/types-test/Scarb.toml | 2 +- examples/rpc/starknet/starknet_getClassAt.hurl | 2 +- examples/rpc/starknet/starknet_getClassHashAt.hurl | 2 +- examples/rpc/starknet/starknet_getNonce.hurl | 2 +- examples/spawn-and-move/Scarb.toml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/katana/core/contracts/messaging/cairo/Makefile b/crates/katana/core/contracts/messaging/cairo/Makefile index 48d76a402b..aac32186a6 100644 --- a/crates/katana/core/contracts/messaging/cairo/Makefile +++ b/crates/katana/core/contracts/messaging/cairo/Makefile @@ -1,5 +1,5 @@ ACCOUNT_L2=./account_l2.json -ACCOUNT_L2_ADDR=0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624 +ACCOUNT_L2_ADDR=0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 L2_PRIVATE_KEY=0x1800000000300000180000000000030000000000003006001800006600 # Build files helpers. diff --git a/crates/katana/core/contracts/messaging/cairo/account_l2.json b/crates/katana/core/contracts/messaging/cairo/account_l2.json index 32f05e685d..788b31022a 100644 --- a/crates/katana/core/contracts/messaging/cairo/account_l2.json +++ b/crates/katana/core/contracts/messaging/cairo/account_l2.json @@ -8,6 +8,6 @@ "deployment": { "status": "deployed", "class_hash": "0x4d07e40e93398ed3c76981e72dd1fd22557a78ce36c0515f679e27f0bb5bc5f", - "address": "0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624" + "address": "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" } } diff --git a/crates/katana/core/contracts/messaging/solidity/Makefile b/crates/katana/core/contracts/messaging/solidity/Makefile index 4baa800e98..1291370c05 100644 --- a/crates/katana/core/contracts/messaging/solidity/Makefile +++ b/crates/katana/core/contracts/messaging/solidity/Makefile @@ -9,7 +9,7 @@ export $(shell sed 's/=.*//' .env) # Addresses fixed here for easy testing. C_MSG_L2_ADDR=0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 -L2_ACCOUNT=0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624 +L2_ACCOUNT=0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03 L2_CONTRACT_ADDR=0x0429a64d97c1422a37a09fc7406f35c264be59b744aaff5a79d59393eb1bc7e1 deploy_messaging_contracts: diff --git a/crates/torii/types-test/Scarb.toml b/crates/torii/types-test/Scarb.toml index 261261212c..192864a255 100644 --- a/crates/torii/types-test/Scarb.toml +++ b/crates/torii/types-test/Scarb.toml @@ -21,6 +21,6 @@ build-external-contracts = [ ] # socials.x = "https://twitter.com/dojostarknet" [tool.dojo.env] -account_address = "0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624" +account_address = "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" private_key = "0x1800000000300000180000000000030000000000003006001800006600" rpc_url = "http://localhost:5050/" diff --git a/examples/rpc/starknet/starknet_getClassAt.hurl b/examples/rpc/starknet/starknet_getClassAt.hurl index fe0a0a4ff0..fe08b17864 100644 --- a/examples/rpc/starknet/starknet_getClassAt.hurl +++ b/examples/rpc/starknet/starknet_getClassAt.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getClassAt", "params": [ "latest", - "0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624" + "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" ], "id":1 } diff --git a/examples/rpc/starknet/starknet_getClassHashAt.hurl b/examples/rpc/starknet/starknet_getClassHashAt.hurl index 83238f1469..3df06a3733 100644 --- a/examples/rpc/starknet/starknet_getClassHashAt.hurl +++ b/examples/rpc/starknet/starknet_getClassHashAt.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getClassHashAt", "params": [ "pending", - "0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624" + "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" ], "id": 1 } diff --git a/examples/rpc/starknet/starknet_getNonce.hurl b/examples/rpc/starknet/starknet_getNonce.hurl index 57a08672e8..736c1cb15b 100644 --- a/examples/rpc/starknet/starknet_getNonce.hurl +++ b/examples/rpc/starknet/starknet_getNonce.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getNonce", "params": [ "latest", - "0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624" + "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" ], "id":1 } diff --git a/examples/spawn-and-move/Scarb.toml b/examples/spawn-and-move/Scarb.toml index 7662632bfb..ecc01f66c9 100644 --- a/examples/spawn-and-move/Scarb.toml +++ b/examples/spawn-and-move/Scarb.toml @@ -23,6 +23,6 @@ name = "example" rpc_url = "http://localhost:5050/" # Default account for katana with seed = 0 -account_address = "0x9238c8ca6b3c6ab45a793593b13d98797ccd3bda179d313553e51fee114624" +account_address = "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03" private_key = "0x1800000000300000180000000000030000000000003006001800006600" world_address = "0x5010c31f127114c6198df8a5239e2b7a5151e1156fb43791e37e7385faa8138" From 261fbbb5ac68735ff7edb40a4f483f7ded9f6604 Mon Sep 17 00:00:00 2001 From: Kariy Date: Mon, 8 Jan 2024 18:50:55 +0900 Subject: [PATCH 3/3] fix --- examples/rpc/starknet/starknet_getClass.hurl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/rpc/starknet/starknet_getClass.hurl b/examples/rpc/starknet/starknet_getClass.hurl index 1d76919b52..38de6935a1 100644 --- a/examples/rpc/starknet/starknet_getClass.hurl +++ b/examples/rpc/starknet/starknet_getClass.hurl @@ -5,7 +5,7 @@ Content-Type: application/json "method": "starknet_getClass", "params": [ "latest", - "0x016c6081eb34ad1e0c5513234ed0c025b3c7f305902d291bad534cd6474c85bc" + "0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c" ], "id":1 }