hopr_api/chain/
tickets.rs1use std::error::Error;
2
3use futures::future::BoxFuture;
4pub use hopr_internal_types::prelude::AcknowledgedTicket;
5
6use crate::{chain::ChainReceipt, db::TicketSelector};
7
8#[async_trait::async_trait]
10pub trait ChainWriteTicketOperations {
11 type Error: Error + Send + Sync + 'static;
12 async fn redeem_ticket(
14 &self,
15 ticket: AcknowledgedTicket,
16 ) -> Result<BoxFuture<'_, Result<ChainReceipt, Self::Error>>, Self::Error>;
17
18 async fn redeem_tickets_via_selector(
20 &self,
21 selector: TicketSelector,
22 ) -> Result<Vec<BoxFuture<'_, Result<ChainReceipt, Self::Error>>>, Self::Error>;
23}