1 use crate::sign::{ChannelSigner, EcdsaChannelSigner};
3 pub(crate) enum ChannelSignerType<ECS: EcdsaChannelSigner> {
4 // in practice, this will only ever be an EcdsaChannelSigner (specifically, Writeable)
8 impl<ECS: EcdsaChannelSigner> ChannelSignerType<ECS>{
9 pub(crate) fn as_ref(&self) -> &dyn ChannelSigner {
11 ChannelSignerType::Ecdsa(ecs) => ecs
15 pub(crate) fn as_mut(&mut self) -> &mut dyn ChannelSigner {
17 ChannelSignerType::Ecdsa(ecs) => ecs
21 pub(crate) fn as_ecdsa(&self) -> Option<&ECS> {
23 ChannelSignerType::Ecdsa(ecs) => Some(ecs)
27 pub(crate) fn as_mut_ecdsa(&mut self) -> Option<&mut ECS> {
29 ChannelSignerType::Ecdsa(ecs) => Some(ecs)