Trait 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§

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 Bip96
where 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.