pub type EthSigner = SignerMiddleware<Provider<Http>, Wallet<SigningKey>>;
pub struct EthSigner { /* private fields */ }