pub struct BdkStorage { /* private fields */ }Expand description
BDK KV store operations
Implementations§
Source§impl BdkStorage
impl BdkStorage
Sourcepub async fn track_receive_address(
&self,
address: &str,
quote_id: &str,
) -> Result<(), Error>
pub async fn track_receive_address( &self, address: &str, quote_id: &str, ) -> Result<(), Error>
Track a generated receive address by quote ID.
Sourcepub async fn get_quote_id_by_receive_address(
&self,
address: &str,
) -> Result<Option<String>, Error>
pub async fn get_quote_id_by_receive_address( &self, address: &str, ) -> Result<Option<String>, Error>
Get the quote ID for a tracked receive address.
Sourcepub async fn get_tracked_receive_addresses(&self) -> Result<Vec<String>, Error>
pub async fn get_tracked_receive_addresses(&self) -> Result<Vec<String>, Error>
Get all tracked receive addresses.
Sourcepub async fn create_receive_intent_if_absent(
&self,
intent: &ReceiveIntentRecord,
) -> Result<bool, Error>
pub async fn create_receive_intent_if_absent( &self, intent: &ReceiveIntentRecord, ) -> Result<bool, Error>
Store a new receive intent if no intent already tracks the same outpoint.
Uses the outpoint as a secondary index key to ensure idempotent
detection. Returns true if the intent was created, false if a
duplicate outpoint was found (silently skipped).
Sourcepub async fn get_receive_intent(
&self,
intent_id: &Uuid,
) -> Result<Option<ReceiveIntentRecord>, Error>
pub async fn get_receive_intent( &self, intent_id: &Uuid, ) -> Result<Option<ReceiveIntentRecord>, Error>
Get a receive intent by ID.
Sourcepub async fn get_all_receive_intents(
&self,
) -> Result<Vec<ReceiveIntentRecord>, Error>
pub async fn get_all_receive_intents( &self, ) -> Result<Vec<ReceiveIntentRecord>, Error>
Get all active receive intents.
Sourcepub async fn finalize_receive_intent(
&self,
intent_id: &Uuid,
record: &FinalizedReceiveIntentRecord,
) -> Result<(), Error>
pub async fn finalize_receive_intent( &self, intent_id: &Uuid, record: &FinalizedReceiveIntentRecord, ) -> Result<(), Error>
Atomically finalize an active receive intent and create a tombstone.
Sourcepub async fn get_finalized_receive_intents_by_quote_id(
&self,
quote_id: &str,
) -> Result<Vec<FinalizedReceiveIntentRecord>, Error>
pub async fn get_finalized_receive_intents_by_quote_id( &self, quote_id: &str, ) -> Result<Vec<FinalizedReceiveIntentRecord>, Error>
Look up finalized receive intent tombstones by quote ID.
The index is stored as one key per finalized intent under the
per-quote secondary namespace
finalized_receive_intent_by_quote__<quote_id>, so listing the
namespace yields all finalized intent IDs for this quote.
Source§impl BdkStorage
impl BdkStorage
Sourcepub async fn create_send_intent_if_absent(
&self,
intent: &SendIntentRecord,
) -> Result<(), Error>
pub async fn create_send_intent_if_absent( &self, intent: &SendIntentRecord, ) -> Result<(), Error>
Store a new send intent and quote-id index atomically.
Sourcepub async fn create_or_retry_failed_send_intent(
&self,
intent: &SendIntentRecord,
) -> Result<SendIntentRecord, Error>
pub async fn create_or_retry_failed_send_intent( &self, intent: &SendIntentRecord, ) -> Result<SendIntentRecord, Error>
Store a new send intent, or re-queue an existing failed intent with the same quote id.
Sourcepub async fn get_send_intent(
&self,
intent_id: &Uuid,
) -> Result<Option<SendIntentRecord>, Error>
pub async fn get_send_intent( &self, intent_id: &Uuid, ) -> Result<Option<SendIntentRecord>, Error>
Get a send intent by ID
Sourcepub async fn update_send_intent(
&self,
intent_id: &Uuid,
new_state: &SendIntentState,
) -> Result<(), Error>
pub async fn update_send_intent( &self, intent_id: &Uuid, new_state: &SendIntentState, ) -> Result<(), Error>
Update a send intent’s state
Sourcepub async fn delete_send_intent(&self, intent_id: &Uuid) -> Result<(), Error>
pub async fn delete_send_intent(&self, intent_id: &Uuid) -> Result<(), Error>
Delete a send intent
Sourcepub async fn get_all_send_intents(&self) -> Result<Vec<SendIntentRecord>, Error>
pub async fn get_all_send_intents(&self) -> Result<Vec<SendIntentRecord>, Error>
Get all send intents
Sourcepub async fn get_pending_send_intents(
&self,
) -> Result<Vec<SendIntentRecord>, Error>
pub async fn get_pending_send_intents( &self, ) -> Result<Vec<SendIntentRecord>, Error>
Get all pending send intents (filtering by state)
Sourcepub async fn add_failed_send_attempt(
&self,
record: &FailedSendAttemptRecord,
) -> Result<(), Error>
pub async fn add_failed_send_attempt( &self, record: &FailedSendAttemptRecord, ) -> Result<(), Error>
Store a failed pre-sign send attempt tombstone.
Sourcepub async fn get_failed_send_attempts_by_quote_id(
&self,
quote_id: &str,
) -> Result<Vec<FailedSendAttemptRecord>, Error>
pub async fn get_failed_send_attempts_by_quote_id( &self, quote_id: &str, ) -> Result<Vec<FailedSendAttemptRecord>, Error>
List failed pre-sign send attempts for a quote id.
Sourcepub async fn store_send_batch(
&self,
batch: &SendBatchRecord,
) -> Result<(), Error>
pub async fn store_send_batch( &self, batch: &SendBatchRecord, ) -> Result<(), Error>
Store a new send batch
Sourcepub async fn get_send_batch(
&self,
batch_id: &Uuid,
) -> Result<Option<SendBatchRecord>, Error>
pub async fn get_send_batch( &self, batch_id: &Uuid, ) -> Result<Option<SendBatchRecord>, Error>
Get a send batch by ID
Sourcepub async fn update_send_batch(
&self,
batch_id: &Uuid,
new_state: &SendBatchState,
) -> Result<(), Error>
pub async fn update_send_batch( &self, batch_id: &Uuid, new_state: &SendBatchState, ) -> Result<(), Error>
Update a send batch’s state
Sourcepub async fn delete_send_batch(&self, batch_id: &Uuid) -> Result<(), Error>
pub async fn delete_send_batch(&self, batch_id: &Uuid) -> Result<(), Error>
Delete a send batch
Sourcepub async fn get_all_send_batches(&self) -> Result<Vec<SendBatchRecord>, Error>
pub async fn get_all_send_batches(&self) -> Result<Vec<SendBatchRecord>, Error>
Get all send batches
Sourcepub async fn get_finalized_intent(
&self,
intent_id: &Uuid,
) -> Result<Option<FinalizedSendIntentRecord>, Error>
pub async fn get_finalized_intent( &self, intent_id: &Uuid, ) -> Result<Option<FinalizedSendIntentRecord>, Error>
Look up a finalized intent tombstone by intent ID.
Sourcepub async fn get_finalized_intent_by_quote_id(
&self,
quote_id: &str,
) -> Result<Option<FinalizedSendIntentRecord>, Error>
pub async fn get_finalized_intent_by_quote_id( &self, quote_id: &str, ) -> Result<Option<FinalizedSendIntentRecord>, Error>
Look up a finalized intent tombstone by quote ID.
Sourcepub async fn get_send_intent_by_quote_id(
&self,
quote_id: &str,
) -> Result<Option<SendIntentRecord>, Error>
pub async fn get_send_intent_by_quote_id( &self, quote_id: &str, ) -> Result<Option<SendIntentRecord>, Error>
Look up a send intent by quote ID.
Scans all active intents and returns the first match.
Sourcepub async fn finalize_send_intent(
&self,
intent_id: &Uuid,
record: &FinalizedSendIntentRecord,
) -> Result<(), Error>
pub async fn finalize_send_intent( &self, intent_id: &Uuid, record: &FinalizedSendIntentRecord, ) -> Result<(), Error>
Atomically finalize an active send intent and create a tombstone.
Trait Implementations§
Source§impl Clone for BdkStorage
impl Clone for BdkStorage
Source§fn clone(&self) -> BdkStorage
fn clone(&self) -> BdkStorage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more