Trait lnp::extension::ChannelExtension
source · pub trait ChannelExtension<N>where
N: Nomenclature,
N::State: State,
Self: Extension<N>,{
// Required methods
fn new() -> Box<dyn ChannelExtension<N>>
where Self: Sized;
fn build_graph(
&self,
tx_graph: &mut TxGraph<'_>,
remote: bool
) -> Result<(), <N as Nomenclature>::Error>;
}
Required Methods§
sourcefn new() -> Box<dyn ChannelExtension<N>>where
Self: Sized,
fn new() -> Box<dyn ChannelExtension<N>>where Self: Sized,
Constructs boxed extension objects which can be inserted into channel extension pipeline
sourcefn build_graph(
&self,
tx_graph: &mut TxGraph<'_>,
remote: bool
) -> Result<(), <N as Nomenclature>::Error>
fn build_graph( &self, tx_graph: &mut TxGraph<'_>, remote: bool ) -> Result<(), <N as Nomenclature>::Error>
Applies state to the channel transaction graph
Implementors§
impl ChannelExtension<BoltExt> for AnchorOutputs
impl ChannelExtension<BoltExt> for BoltChannel
impl ChannelExtension<BoltExt> for Htlc
impl<N> ChannelExtension<N> for Bip96where Self: Extension<N>, N: Nomenclature, N::State: State,
impl<N> ChannelExtension<N> for Channel<N>where N: 'static + Nomenclature, N::State: State,
Channel is the extension to itself :) so it receives the same input as any other extension and just forwards it to them. This is required for channel composebility.