pub struct DefaultCellCollector {
pub indexer_client: IndexerRpcAsyncClient,
pub ckb_client: CkbRpcAsyncClient,
pub offchain: OffchainCellCollector,
pub acceptable_indexer_leftbehind: u64,
}Expand description
A cell collector use ckb-indexer as backend
Fields§
§indexer_client: IndexerRpcAsyncClient§ckb_client: CkbRpcAsyncClient§offchain: OffchainCellCollector§acceptable_indexer_leftbehind: u64Implementations§
Source§impl DefaultCellCollector
impl DefaultCellCollector
pub fn new(ckb_client: &str) -> DefaultCellCollector
pub fn new_with_timeout( ckb_client: &str, timeout: Duration, ) -> Result<Self, Error>
Sourcepub fn acceptable_indexer_leftbehind(&self) -> u64
pub fn acceptable_indexer_leftbehind(&self) -> u64
THe acceptable ckb-indexer leftbehind block number (default = 1)
Sourcepub fn set_acceptable_indexer_leftbehind(&mut self, value: u64)
pub fn set_acceptable_indexer_leftbehind(&mut self, value: u64)
Set the acceptable ckb-indexer leftbehind block number
Sourcepub fn check_ckb_chain(&mut self) -> Result<(), CellCollectorError>
pub fn check_ckb_chain(&mut self) -> Result<(), CellCollectorError>
wrapper check_ckb_chain_async future
Sourcepub async fn check_ckb_chain_async(&mut self) -> Result<(), CellCollectorError>
pub async fn check_ckb_chain_async(&mut self) -> Result<(), CellCollectorError>
Check if ckb-indexer synced with ckb node. This will check every 50ms for 100 times (more than 5s in total, since ckb-indexer’s poll interval is 2.0s).
Trait Implementations§
Source§impl CellCollector for DefaultCellCollector
impl CellCollector for DefaultCellCollector
Source§fn collect_live_cells_async<'life0, 'life1, 'async_trait>(
&'life0 mut self,
query: &'life1 CellQueryOptions,
apply_changes: bool,
) -> Pin<Box<dyn Future<Output = Result<(Vec<LiveCell>, u64), CellCollectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn collect_live_cells_async<'life0, 'life1, 'async_trait>(
&'life0 mut self,
query: &'life1 CellQueryOptions,
apply_changes: bool,
) -> Pin<Box<dyn Future<Output = Result<(Vec<LiveCell>, u64), CellCollectorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Collect live cells by query options, if
apply_changes is true will
mark all collected cells as dead cells.Source§fn lock_cell(
&mut self,
out_point: OutPoint,
tip_block_number: u64,
) -> Result<(), CellCollectorError>
fn lock_cell( &mut self, out_point: OutPoint, tip_block_number: u64, ) -> Result<(), CellCollectorError>
Mark this cell as dead cell
Source§fn apply_tx(
&mut self,
tx: Transaction,
tip_block_number: u64,
) -> Result<(), CellCollectorError>
fn apply_tx( &mut self, tx: Transaction, tip_block_number: u64, ) -> Result<(), CellCollectorError>
Mark all inputs as dead cells and outputs as live cells in the transaction.
Source§fn collect_live_cells(
&mut self,
query: &CellQueryOptions,
apply_changes: bool,
) -> Result<(Vec<LiveCell>, u64), CellCollectorError>
fn collect_live_cells( &mut self, query: &CellQueryOptions, apply_changes: bool, ) -> Result<(Vec<LiveCell>, u64), CellCollectorError>
Collect live cells by query options, if
apply_changes is true will
mark all collected cells as dead cells.Source§impl Clone for DefaultCellCollector
impl Clone for DefaultCellCollector
Source§fn clone(&self) -> DefaultCellCollector
fn clone(&self) -> DefaultCellCollector
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !Freeze for DefaultCellCollector
impl !RefUnwindSafe for DefaultCellCollector
impl Send for DefaultCellCollector
impl Sync for DefaultCellCollector
impl Unpin for DefaultCellCollector
impl !UnwindSafe for DefaultCellCollector
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more