pub struct IndexServerBackend { /* private fields */ }Expand description
Scanning backend for BIP0352 index servers.
Connects to a BIP0352-compatible index server (e.g., BlindBit oracle) that provides pre-computed tweak data per block. This enables lightweight scanning with minimal bandwidth – the client only performs ECDH and script pubkey derivation, not full transaction parsing.
§Construction
ⓘ
// Unauthenticated
let backend = IndexServerBackend::new("http://localhost:8080");
// With optional auth token
let backend = IndexServerBackend::with_auth("http://localhost:8080", "my-token");§No Retry Logic
Connection errors bubble up immediately. The caller owns retry policy.
Implementations§
Source§impl IndexServerBackend
impl IndexServerBackend
Sourcepub fn new(base_url: &str) -> IndexServerBackend
pub fn new(base_url: &str) -> IndexServerBackend
Create a new index server backend.
The base_url trailing slash is trimmed for consistent path joining.
Sourcepub fn with_auth(base_url: &str, token: &str) -> IndexServerBackend
pub fn with_auth(base_url: &str, token: &str) -> IndexServerBackend
Create a new index server backend with an authorization token.
The token is sent as a Bearer token in the Authorization header.
Trait Implementations§
Source§impl ScanBackend for IndexServerBackend
impl ScanBackend for IndexServerBackend
Source§fn scan_range(
&self,
from_height: u32,
to_height: u32,
scan_secret: &ScanSecretKey,
spend_pubkey: &SpendPublicKey,
labels: &LabelManager,
on_match: &mut dyn FnMut(DetectedOutput),
on_progress: &mut dyn FnMut(u32),
) -> Result<(), ScanError>
fn scan_range( &self, from_height: u32, to_height: u32, scan_secret: &ScanSecretKey, spend_pubkey: &SpendPublicKey, labels: &LabelManager, on_match: &mut dyn FnMut(DetectedOutput), on_progress: &mut dyn FnMut(u32), ) -> Result<(), ScanError>
Scan a range of blocks
[from_height, to_height] for SP payments. Read moreSource§fn scan_transaction(
&self,
_txid: &Txid,
_scan_secret: &ScanSecretKey,
_spend_pubkey: &SpendPublicKey,
_labels: &LabelManager,
) -> Result<Vec<DetectedOutput>, ScanError>
fn scan_transaction( &self, _txid: &Txid, _scan_secret: &ScanSecretKey, _spend_pubkey: &SpendPublicKey, _labels: &LabelManager, ) -> Result<Vec<DetectedOutput>, ScanError>
Scan a single transaction by txid. Read more
Auto Trait Implementations§
impl Freeze for IndexServerBackend
impl RefUnwindSafe for IndexServerBackend
impl Send for IndexServerBackend
impl Sync for IndexServerBackend
impl Unpin for IndexServerBackend
impl UnsafeUnpin for IndexServerBackend
impl UnwindSafe for IndexServerBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more