@@ -261,7 +261,7 @@ impl CellDepResolver for DefaultCellDepResolver {
261261
262262/// A header_dep resolver use ckb jsonrpc client as backend
263263pub struct DefaultHeaderDepResolver {
264- ckb_client : CkbRpcAsyncClient ,
264+ pub ckb_client : CkbRpcAsyncClient ,
265265}
266266impl DefaultHeaderDepResolver {
267267 pub fn new ( ckb_client : & str ) -> DefaultHeaderDepResolver {
@@ -310,10 +310,10 @@ impl HeaderDepResolver for DefaultHeaderDepResolver {
310310/// A cell collector use ckb-indexer as backend
311311#[ derive( Clone ) ]
312312pub struct DefaultCellCollector {
313- indexer_client : IndexerRpcAsyncClient ,
314- ckb_client : CkbRpcAsyncClient ,
315- offchain : OffchainCellCollector ,
316- acceptable_indexer_leftbehind : u64 ,
313+ pub indexer_client : IndexerRpcAsyncClient ,
314+ pub ckb_client : CkbRpcAsyncClient ,
315+ pub offchain : OffchainCellCollector ,
316+ pub acceptable_indexer_leftbehind : u64 ,
317317}
318318
319319impl DefaultCellCollector {
@@ -328,6 +328,23 @@ impl DefaultCellCollector {
328328 }
329329 }
330330
331+ #[ cfg( not( target_arch = "wasm32" ) ) ]
332+ pub fn new_with_timeout (
333+ ckb_client : & str ,
334+ timeout : std:: time:: Duration ,
335+ ) -> Result < Self , anyhow:: Error > {
336+ let indexer_client =
337+ IndexerRpcAsyncClient :: with_builder ( ckb_client, |builder| builder. timeout ( timeout) ) ?;
338+ let ckb_client =
339+ CkbRpcAsyncClient :: with_builder ( ckb_client, |builder| builder. timeout ( timeout) ) ?;
340+ Ok ( DefaultCellCollector {
341+ indexer_client,
342+ ckb_client,
343+ offchain : OffchainCellCollector :: default ( ) ,
344+ acceptable_indexer_leftbehind : 1 ,
345+ } )
346+ }
347+
331348 /// THe acceptable ckb-indexer leftbehind block number (default = 1)
332349 pub fn acceptable_indexer_leftbehind ( & self ) -> u64 {
333350 self . acceptable_indexer_leftbehind
@@ -486,8 +503,8 @@ impl CellCollector for DefaultCellCollector {
486503 }
487504}
488505
489- struct DefaultTxDepProviderInner {
490- rpc_client : CkbRpcAsyncClient ,
506+ pub struct DefaultTxDepProviderInner {
507+ pub rpc_client : CkbRpcAsyncClient ,
491508 tx_cache : LruCache < Byte32 , TransactionView > ,
492509 cell_cache : LruCache < OutPoint , ( CellOutput , Bytes ) > ,
493510 header_cache : LruCache < Byte32 , HeaderView > ,
@@ -497,7 +514,7 @@ struct DefaultTxDepProviderInner {
497514/// A transaction dependency provider use ckb rpc client as backend, and with LRU cache supported
498515pub struct DefaultTransactionDependencyProvider {
499516 // since we will mainly deal with LruCache, so use Mutex here
500- inner : Arc < Mutex < DefaultTxDepProviderInner > > ,
517+ pub inner : Arc < Mutex < DefaultTxDepProviderInner > > ,
501518}
502519
503520impl Clone for DefaultTransactionDependencyProvider {
0 commit comments