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§

source

fn new() -> Box<dyn ChannelExtension<N>>where Self: Sized,

Constructs boxed extension objects which can be inserted into channel extension pipeline

source

fn build_graph( &self, tx_graph: &mut TxGraph<'_>, remote: bool ) -> Result<(), <N as Nomenclature>::Error>

Applies state to the channel transaction graph

Implementors§

source§

impl ChannelExtension<BoltExt> for AnchorOutputs

source§

impl ChannelExtension<BoltExt> for BoltChannel

source§

impl ChannelExtension<BoltExt> for Htlc

source§

impl<N> ChannelExtension<N> for Bip96where Self: Extension<N>, N: Nomenclature, N::State: State,

source§

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.