22use crate :: { FlowBuilder , DELEGATE_PROXY_INIT , EXECUTOR_INIT } ;
33use alloy:: {
44 hex,
5- network:: TransactionBuilder ,
5+ network:: TransactionBuilder , // Added Ethereum
66 primitives:: { address, bytes, uint, Address , U256 } ,
7- providers:: { ext:: AnvilApi , layers:: AnvilProvider , Provider , ProviderBuilder , RootProvider } ,
7+ // Removed EthereumSigner, node_bindings::Anvil
8+ providers:: {
9+ ext:: AnvilApi ,
10+ fillers:: { BlobGasFiller , ChainIdFiller , FillProvider , GasFiller , JoinFill , NonceFiller } , // Corrected filler paths
11+ layers:: AnvilProvider ,
12+ Identity , Provider , ProviderBuilder , RootProvider ,
13+ } ,
814 rpc:: types:: TransactionRequest ,
915 sol,
1016 sol_types:: { SolCall , SolConstructor } ,
11- transports:: http:: { reqwest:: Url , Client , Http } ,
1217} ;
1318use core:: str;
1419
20+ // Type alias for the complex provider type using LocalWallet as signer
21+ type AnvilTestProvider = FillProvider <
22+ JoinFill <
23+ Identity ,
24+ JoinFill < GasFiller , JoinFill < BlobGasFiller , JoinFill < NonceFiller , ChainIdFiller > > >
25+ > ,
26+ AnvilProvider < RootProvider > ,
27+ > ;
28+
1529// Constants
1630const BUDGET : U256 = uint ! ( 1000000000000000000000_ U256 ) ; // 1000e18
1731const TWO_ETH : U256 = uint ! ( 2000000000000000000_ U256 ) ; // 2e18
@@ -22,7 +36,7 @@ const WETH9: Address = address!("c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2");
2236const MORPHO : Address = address ! ( "BBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb" ) ;
2337
2438// Test helpers
25- async fn setup_provider ( ) -> AnvilProvider < RootProvider < Http < Client > > , Http < Client > > {
39+ async fn setup_provider ( ) -> AnvilTestProvider {
2640 let provider = get_provider ( ) ;
2741 provider
2842 . anvil_set_balance ( WALLET , BUDGET + U256 :: from ( 10u64 . pow ( 18 ) ) )
@@ -35,7 +49,7 @@ async fn setup_provider() -> AnvilProvider<RootProvider<Http<Client>>, Http<Clie
3549 provider
3650}
3751
38- async fn deploy_executor ( provider : & AnvilProvider < RootProvider < Http < Client > > , Http < Client > > ) -> Address {
52+ async fn deploy_executor ( provider : & AnvilTestProvider ) -> Address {
3953 let tx = TransactionRequest :: default ( )
4054 . with_from ( WALLET )
4155 . with_deploy_code ( EXECUTOR_INIT )
@@ -51,7 +65,7 @@ async fn deploy_executor(provider: &AnvilProvider<RootProvider<Http<Client>>, Ht
5165 assert ! ( receipt. status( ) ) ;
5266 receipt. contract_address . unwrap ( )
5367}
54- fn get_provider ( ) -> AnvilProvider < RootProvider < Http < Client > > , Http < Client > > {
68+ fn get_provider ( ) -> AnvilTestProvider {
5569 ProviderBuilder :: new ( ) . on_anvil_with_config ( |anvil| {
5670 anvil
5771 . fork ( std:: env:: var ( "ETH_RPC_URL" ) . expect ( "failed to retrieve ETH_RPC_URL url from env" ) )
0 commit comments