tempo_alloy/provider/
ext.rs1use alloy_provider::{
2 Identity, ProviderBuilder,
3 fillers::{JoinFill, RecommendedFillers},
4};
5
6use crate::{TempoFillers, TempoNetwork, fillers::Random2DNonceFiller};
7
8pub trait TempoProviderBuilderExt {
10 fn with_random_2d_nonces(
14 self,
15 ) -> ProviderBuilder<
16 Identity,
17 JoinFill<Identity, TempoFillers<Random2DNonceFiller>>,
18 TempoNetwork,
19 >;
20}
21
22impl TempoProviderBuilderExt
23 for ProviderBuilder<
24 Identity,
25 JoinFill<Identity, <TempoNetwork as RecommendedFillers>::RecommendedFillers>,
26 TempoNetwork,
27 >
28{
29 fn with_random_2d_nonces(
30 self,
31 ) -> ProviderBuilder<
32 Identity,
33 JoinFill<Identity, TempoFillers<Random2DNonceFiller>>,
34 TempoNetwork,
35 > {
36 ProviderBuilder::default().filler(TempoFillers::default())
37 }
38}
39
40#[cfg(test)]
41mod tests {
42 use alloy_provider::{Identity, ProviderBuilder, fillers::JoinFill};
43
44 use crate::{
45 TempoFillers, TempoNetwork, fillers::Random2DNonceFiller,
46 provider::ext::TempoProviderBuilderExt,
47 };
48
49 #[test]
50 fn test_with_random_nonces() {
51 let _: ProviderBuilder<_, JoinFill<Identity, TempoFillers<Random2DNonceFiller>>, _> =
52 ProviderBuilder::new_with_network::<TempoNetwork>().with_random_2d_nonces();
53 }
54}