@@ -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,24 @@ impl DefaultCellCollector {
328328 }
329329 }
330330
331+
332+ #[ cfg( not( target_arch = "wasm32" ) ) ]
333+ pub fn new_with_timeout (
334+ ckb_client : & str ,
335+ timeout : std:: time:: Duration ,
336+ ) -> Result < Self , anyhow:: Error > {
337+ let indexer_client =
338+ IndexerRpcAsyncClient :: with_builder ( ckb_client, |builder| builder. timeout ( timeout) ) ?;
339+ let ckb_client =
340+ CkbRpcAsyncClient :: with_builder ( ckb_client, |builder| builder. timeout ( timeout) ) ?;
341+ Ok ( DefaultCellCollector {
342+ indexer_client,
343+ ckb_client,
344+ offchain : OffchainCellCollector :: default ( ) ,
345+ acceptable_indexer_leftbehind : 1 ,
346+ } )
347+ }
348+
331349 /// THe acceptable ckb-indexer leftbehind block number (default = 1)
332350 pub fn acceptable_indexer_leftbehind ( & self ) -> u64 {
333351 self . acceptable_indexer_leftbehind
@@ -486,8 +504,8 @@ impl CellCollector for DefaultCellCollector {
486504 }
487505}
488506
489- struct DefaultTxDepProviderInner {
490- rpc_client : CkbRpcAsyncClient ,
507+ pub struct DefaultTxDepProviderInner {
508+ pub rpc_client : CkbRpcAsyncClient ,
491509 tx_cache : LruCache < Byte32 , TransactionView > ,
492510 cell_cache : LruCache < OutPoint , ( CellOutput , Bytes ) > ,
493511 header_cache : LruCache < Byte32 , HeaderView > ,
@@ -497,7 +515,7 @@ struct DefaultTxDepProviderInner {
497515/// A transaction dependency provider use ckb rpc client as backend, and with LRU cache supported
498516pub struct DefaultTransactionDependencyProvider {
499517 // since we will mainly deal with LruCache, so use Mutex here
500- inner : Arc < Mutex < DefaultTxDepProviderInner > > ,
518+ pub inner : Arc < Mutex < DefaultTxDepProviderInner > > ,
501519}
502520
503521impl Clone for DefaultTransactionDependencyProvider {
0 commit comments