22#![ allow( clippy:: missing_panics_doc) ]
33#![ allow( missing_docs) ]
44
5- use std:: sync:: Arc ;
6-
75use alloy:: {
86 eips:: BlockNumberOrTag ,
97 network:: Ethereum ,
5452 P : Provider < Ethereum > + Clone ,
5553{
5654 pub provider : RootProvider ,
57- pub contract : TestCounter :: TestCounterInstance < Arc < P > > ,
55+ pub contract : TestCounter :: TestCounterInstance < P > ,
5856 pub scanner : S ,
5957 pub stream : ReceiverStream < Message > ,
6058 pub anvil : AnvilInstance ,
@@ -72,12 +70,12 @@ pub async fn setup_common(
7270) -> anyhow:: Result < (
7371 AnvilInstance ,
7472 RootProvider ,
75- TestCounter :: TestCounterInstance < Arc < RootProvider > > ,
73+ TestCounter :: TestCounterInstance < RootProvider > ,
7674 EventFilter ,
7775) > {
7876 let anvil = spawn_anvil ( block_interval) ?;
7977 let provider = build_provider ( & anvil) . await ?;
80- let contract = deploy_counter ( Arc :: new ( provider. clone ( ) ) ) . await ?;
78+ let contract = deploy_counter ( provider. clone ( ) ) . await ?;
8179
8280 let default_filter = EventFilter :: new ( )
8381 . contract_address ( * contract. address ( ) )
@@ -95,10 +93,8 @@ pub async fn setup_live_scanner(
9593) -> anyhow:: Result < LiveScannerSetup < impl Provider < Ethereum > + Clone > > {
9694 let ( anvil, provider, contract, filter) = setup_common ( block_interval, filter) . await ?;
9795
98- let mut scanner = EventScannerBuilder :: live ( )
99- . block_confirmations ( confirmations)
100- . connect_ws ( anvil. ws_endpoint_url ( ) )
101- . await ?;
96+ let mut scanner =
97+ EventScannerBuilder :: live ( ) . block_confirmations ( confirmations) . connect ( provider. clone ( ) ) ;
10298
10399 let stream = scanner. subscribe ( filter) ;
104100
@@ -116,8 +112,7 @@ pub async fn setup_sync_scanner(
116112 let mut scanner = EventScannerBuilder :: sync ( )
117113 . from_block ( from)
118114 . block_confirmations ( confirmations)
119- . connect_ws ( anvil. ws_endpoint_url ( ) )
120- . await ?;
115+ . connect ( provider. clone ( ) ) ;
121116
122117 let stream = scanner. subscribe ( filter) ;
123118
@@ -135,8 +130,7 @@ pub async fn setup_sync_from_latest_scanner(
135130 let mut scanner = EventScannerBuilder :: sync ( )
136131 . from_latest ( latest)
137132 . block_confirmations ( confirmations)
138- . connect_ws ( anvil. ws_endpoint_url ( ) )
139- . await ?;
133+ . connect ( provider. clone ( ) ) ;
140134
141135 let stream = scanner. subscribe ( filter) ;
142136
@@ -151,11 +145,8 @@ pub async fn setup_historic_scanner(
151145) -> anyhow:: Result < HistoricScannerSetup < impl Provider < Ethereum > + Clone > > {
152146 let ( anvil, provider, contract, filter) = setup_common ( block_interval, filter) . await ?;
153147
154- let mut scanner = EventScannerBuilder :: historic ( )
155- . from_block ( from)
156- . to_block ( to)
157- . connect_ws ( anvil. ws_endpoint_url ( ) )
158- . await ?;
148+ let mut scanner =
149+ EventScannerBuilder :: historic ( ) . from_block ( from) . to_block ( to) . connect ( provider. clone ( ) ) ;
159150
160151 let stream = scanner. subscribe ( filter) ;
161152
@@ -187,7 +178,7 @@ pub async fn setup_latest_scanner(
187178
188179pub async fn reorg_with_new_count_incr_txs < P > (
189180 provider : RootProvider ,
190- contract : TestCounter :: TestCounterInstance < Arc < P > > ,
181+ contract : TestCounter :: TestCounterInstance < P > ,
191182 num_initial_events : u64 ,
192183 num_new_events : u64 ,
193184 reorg_depth : u64 ,
@@ -261,13 +252,14 @@ pub fn spawn_anvil(block_time: Option<f64>) -> anyhow::Result<AnvilInstance> {
261252
262253pub async fn build_provider ( anvil : & AnvilInstance ) -> anyhow:: Result < RootProvider > {
263254 let wallet = anvil. wallet ( ) . expect ( "anvil should return a default wallet" ) ;
264- let provider = ProviderBuilder :: new ( ) . wallet ( wallet) . connect ( anvil. endpoint ( ) . as_str ( ) ) . await ?;
255+ let provider =
256+ ProviderBuilder :: new ( ) . wallet ( wallet) . connect ( anvil. ws_endpoint_url ( ) . as_str ( ) ) . await ?;
265257 Ok ( provider. root ( ) . to_owned ( ) )
266258}
267259
268260pub async fn deploy_counter < P > ( provider : P ) -> anyhow:: Result < TestCounter :: TestCounterInstance < P > >
269261where
270- P : alloy:: providers:: Provider < Ethereum > + Clone ,
262+ P : alloy:: providers:: Provider < Ethereum > ,
271263{
272264 let contract = TestCounter :: deploy ( provider) . await ?;
273265 Ok ( contract)
@@ -283,7 +275,7 @@ pub(crate) trait TestCounterExt {
283275 ) -> anyhow:: Result < LogMetadata < TestCounter :: CountDecreased > > ;
284276}
285277
286- impl < P : Provider + Clone > TestCounterExt for TestCounter :: TestCounterInstance < Arc < P > > {
278+ impl < P : Provider + Clone > TestCounterExt for TestCounter :: TestCounterInstance < P > {
287279 async fn increase_and_get_meta (
288280 & self ,
289281 ) -> anyhow:: Result < LogMetadata < TestCounter :: CountIncreased > > {
0 commit comments