pub trait RedshiftManager {
    // Required methods
    async fn init_redshift(
        &self,
        utxo: OutPoint,
        recipient: RedshiftRecipient,
        introduction_node: Option<PublicKey>,
        connection_string: Option<&str>
    ) -> Result<Redshift, MutinyError>;
    fn get_redshift(
        &self,
        id: &[u8; 16]
    ) -> Result<Option<Redshift>, MutinyError>;
    async fn attempt_payments(&self, rs: Redshift) -> Result<(), MutinyError>;
    async fn close_channels(&self, rs: Redshift) -> Result<(), MutinyError>;
}

Required Methods§

source

async fn init_redshift( &self, utxo: OutPoint, recipient: RedshiftRecipient, introduction_node: Option<PublicKey>, connection_string: Option<&str> ) -> Result<Redshift, MutinyError>

Initializes a redshift. Creates a new node and attempts to open a channel to the introduction node.

source

fn get_redshift(&self, id: &[u8; 16]) -> Result<Option<Redshift>, MutinyError>

source

async fn attempt_payments(&self, rs: Redshift) -> Result<(), MutinyError>

source

async fn close_channels(&self, rs: Redshift) -> Result<(), MutinyError>

Object Safety§

This trait is not object safe.

Implementors§