11use std:: fmt:: Debug ;
22
33use katana_gateway_types:: TxTryFromError ;
4- use katana_primitives:: block:: { GasPrices , PartialHeader , PendingBlock } ;
5- use katana_primitives:: transaction:: { TxHash , TxWithHash } ;
6- use katana_primitives:: Felt ;
4+ use katana_primitives:: transaction:: { TxHash , TxNumber , TxWithHash } ;
75use katana_provider:: api:: state:: { StateFactoryProvider , StateProvider } ;
86use katana_rpc:: starknet:: { PendingBlockProvider , StarknetApiResult } ;
9- use katana_rpc_types:: PreConfirmedBlockWithTxs ;
10- use num_traits:: ToPrimitive ;
11- use starknet:: core:: types:: ResourcePrice ;
7+ use katana_rpc_types:: RpcTxWithHash ;
128
139use crate :: full:: pending:: PreconfStateFactory ;
1410
@@ -21,17 +17,17 @@ impl<P: StateFactoryProvider + Debug> PendingBlockProvider for PreconfStateFacto
2117 . transactions
2218 . clone ( )
2319 . into_iter ( )
24- . map ( TxWithHash :: try_from)
20+ . map ( |tx| Ok ( RpcTxWithHash :: from ( TxWithHash :: try_from ( tx ) ? ) ) )
2521 . collect :: < Result < Vec < _ > , TxTryFromError > > ( )
2622 . unwrap ( ) ;
2723
2824 Ok ( Some ( katana_rpc_types:: PreConfirmedBlockWithTxs {
2925 transactions,
3026 block_number : 0 ,
3127 l1_da_mode : block. l1_da_mode ,
32- l1_gas_price : to_gas_prices ( block. l1_gas_price ) ,
33- l2_gas_price : to_gas_prices ( block. l2_gas_price ) ,
34- l1_data_gas_price : to_gas_prices ( block. l1_data_gas_price ) ,
28+ l1_gas_price : block. l1_gas_price ,
29+ l2_gas_price : block. l2_gas_price ,
30+ l1_data_gas_price : block. l1_data_gas_price ,
3531 sequencer_address : block. sequencer_address ,
3632 starknet_version : block. starknet_version ,
3733 timestamp : block. timestamp ,
@@ -49,9 +45,9 @@ impl<P: StateFactoryProvider + Debug> PendingBlockProvider for PreconfStateFacto
4945 transactions : Vec :: new ( ) ,
5046 block_number : 0 ,
5147 l1_da_mode : block. l1_da_mode ,
52- l1_gas_price : to_gas_prices ( block. l1_gas_price ) ,
53- l2_gas_price : to_gas_prices ( block. l2_gas_price ) ,
54- l1_data_gas_price : to_gas_prices ( block. l1_data_gas_price ) ,
48+ l1_gas_price : block. l1_gas_price ,
49+ l2_gas_price : block. l2_gas_price ,
50+ l1_data_gas_price : block. l1_data_gas_price ,
5551 sequencer_address : block. sequencer_address ,
5652 starknet_version : block. starknet_version ,
5753 timestamp : block. timestamp ,
@@ -76,9 +72,9 @@ impl<P: StateFactoryProvider + Debug> PendingBlockProvider for PreconfStateFacto
7672 transactions,
7773 block_number : 0 ,
7874 l1_da_mode : block. l1_da_mode ,
79- l1_gas_price : to_gas_prices ( block. l1_gas_price ) ,
80- l2_gas_price : to_gas_prices ( block. l2_gas_price ) ,
81- l1_data_gas_price : to_gas_prices ( block. l1_data_gas_price ) ,
75+ l1_gas_price : block. l1_gas_price ,
76+ l2_gas_price : block. l2_gas_price ,
77+ l1_data_gas_price : block. l1_data_gas_price ,
8278 sequencer_address : block. sequencer_address ,
8379 starknet_version : block. starknet_version ,
8480 timestamp : block. timestamp ,
@@ -110,23 +106,12 @@ impl<P: StateFactoryProvider + Debug> PendingBlockProvider for PreconfStateFacto
110106
111107 fn get_pending_transaction_by_index (
112108 & self ,
113- hash : TxHash ,
109+ index : TxNumber ,
114110 ) -> StarknetApiResult < Option < katana_rpc_types:: RpcTxWithHash > > {
115111 Ok ( None )
116112 }
117113
118114 fn pending_state ( & self ) -> StarknetApiResult < Option < Box < dyn StateProvider > > > {
119- Some ( Box :: new ( self . state ( ) ) )
115+ Ok ( Some ( Box :: new ( self . state ( ) ) ) )
120116 }
121117}
122-
123- fn to_gas_prices ( prices : ResourcePrice ) -> GasPrices {
124- let eth = prices. price_in_wei . to_u128 ( ) . expect ( "valid u128" ) ;
125- let strk = prices. price_in_fri . to_u128 ( ) . expect ( "valid u128" ) ;
126- // older blocks might have zero gas prices (recent Starknet upgrade has made the minimum gas
127- // prices to 1) we may need to handle this case if we want to be able to compute the
128- // block hash correctly
129- let eth = if eth == 0 { 1 } else { eth } ;
130- let strk = if strk == 0 { 1 } else { strk } ;
131- unsafe { GasPrices :: new_unchecked ( eth, strk) }
132- }
0 commit comments