Trait ProviderLayer

Source
pub trait ProviderLayer<P: Provider<N>, N: Network = Ethereum> {
    type Provider: Provider<N>;

    // Required method
    fn layer(&self, inner: P) -> Self::Provider;
}
Expand description

A layering abstraction in the vein of tower::Layer

Required Associated Types§

Source

type Provider: Provider<N>

The provider constructed by this layer.

Required Methods§

Source

fn layer(&self, inner: P) -> Self::Provider

Wrap the given provider in the layer’s provider.

Implementors§

Source§

impl<L, R, P, N> ProviderLayer<P, N> for JoinFill<L, R>
where L: TxFiller<N>, R: TxFiller<N>, P: Provider<N>, N: Network,

Source§

impl<P> ProviderLayer<P> for AnvilLayer
where P: Provider,

Available on crate feature anvil-node only.
Source§

impl<P, N> ProviderLayer<P, N> for CacheLayer
where P: Provider<N>, N: Network,

Available on non-WebAssembly only.
Source§

impl<P, N> ProviderLayer<P, N> for ChainLayer
where P: Provider<N>, N: Network,

Source§

impl<P, N> ProviderLayer<P, N> for MockLayer
where P: Provider<N>, N: Network,

Available on non-WebAssembly only.
Source§

impl<P, N> ProviderLayer<P, N> for Identity
where N: Network, P: Provider<N>,

Source§

impl<P, N, Inner, Outer> ProviderLayer<P, N> for Stack<Inner, Outer>
where N: Network, P: Provider<N>, Inner: ProviderLayer<P, N>, Outer: ProviderLayer<Inner::Provider, N>,

Source§

type Provider = <Outer as ProviderLayer<<Inner as ProviderLayer<P, N>>::Provider, N>>::Provider