File tree Expand file tree Collapse file tree 4 files changed +20
-8
lines changed
Expand file tree Collapse file tree 4 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -236,7 +236,6 @@ impl Node {
236236 self . task_manager
237237 . task_spawner ( )
238238 . build_task ( )
239- . graceful_shutdown ( )
240239 . name ( "Pipeline" )
241240 . spawn ( self . pipeline . into_future ( ) ) ;
242241
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ use katana_primitives::Felt;
77use katana_provider:: api:: contract:: ContractClassProvider ;
88use katana_provider:: api:: state:: { StateProofProvider , StateProvider , StateRootProvider } ;
99use katana_provider:: { ProviderError , ProviderResult } ;
10- use katana_trie :: MultiProof ;
10+ use katana_rpc_types :: ConversionError ;
1111use tokio:: runtime;
1212
1313pub struct PendingStateProvider {
@@ -65,11 +65,13 @@ impl ContractClassProvider for PendingStateProvider {
6565 let result = runtime:: Builder :: new_current_thread ( )
6666 . build ( )
6767 . unwrap ( )
68- . block_on ( self . gateway . get_class ( hash, block_id ) ) ;
68+ . block_on ( self . gateway . get_class ( hash, katana_gateway :: types :: BlockId :: Pending ) ) ;
6969
7070 match result {
7171 Ok ( class) => {
72- let class = class. try_into ( ) . map_err ( |e| ProviderError :: Other ( e. to_string ( ) ) ) ?;
72+ let class = class
73+ . try_into ( )
74+ . map_err ( |e : ConversionError | ProviderError :: Other ( e. to_string ( ) ) ) ?;
7375 Ok ( Some ( class) )
7476 }
7577
@@ -99,3 +101,7 @@ impl ContractClassProvider for PendingStateProvider {
99101 self . base . compiled_class_hash_of_class_hash ( hash)
100102 }
101103}
104+
105+ impl StateRootProvider for PendingStateProvider { }
106+
107+ impl StateProofProvider for PendingStateProvider { }
Original file line number Diff line number Diff line change @@ -82,7 +82,7 @@ pub struct StarknetApi<P: TransactionPool> {
8282struct StarknetApiInner < P : TransactionPool > {
8383 chain_spec : Arc < ChainSpec > ,
8484 pool : P ,
85- pending_provider : Arc < dyn PendingBlockProvider > ,
85+ // pending_provider: Arc<dyn PendingBlockProvider>,
8686 storage : BlockchainProvider < Box < dyn Database > > ,
8787 forked_client : Option < ForkedClient > ,
8888 task_spawner : TaskSpawner ,
Original file line number Diff line number Diff line change @@ -45,17 +45,24 @@ where
4545 let span = info_span ! ( "state_trie.compute_state_root" , %block_number) ;
4646 let _enter = span. enter ( ) ;
4747
48- let expected_state_root = self
48+ let header = self
4949 . provider
5050 . header ( block_number. into ( ) ) ?
51- . map ( |header| header. state_root )
5251 . ok_or ( Error :: MissingBlockHeader ( block_number) ) ?;
5352
53+ dbg ! ( & header) ;
54+
55+ let expected_state_root = header. state_root ;
56+
5457 let state_update = self
5558 . provider
5659 . state_update ( block_number. into ( ) ) ?
5760 . ok_or ( Error :: MissingStateUpdate ( block_number) ) ?;
5861
62+ if header. number >= 12400 {
63+ println ! ( "{:#?}" , state_update) ;
64+ }
65+
5966 let computed_contract_trie_root =
6067 self . provider . trie_insert_contract_updates ( block_number, & state_update) ?;
6168
7582 "Computed classes trie root."
7683 ) ;
7784
78- let computed_state_root = if computed_class_trie_root == Felt :: ZERO {
85+ let computed_state_root = if dbg ! ( computed_class_trie_root == Felt :: ZERO ) {
7986 computed_contract_trie_root
8087 } else {
8188 Poseidon :: hash_array ( & [
You can’t perform that action at this time.
0 commit comments