fix(wallet): Fixed missing loop for transfers loading.
Made channel for transfers loading buffered - non-blocking
This commit is contained in:
parent
ce45a7b1e8
commit
2f515447d2
|
@ -323,23 +323,25 @@ func loadTransfersLoop(ctx context.Context, account common.Address, blockDAO *Bl
|
||||||
|
|
||||||
log.Debug("loadTransfersLoop start", "chain", chainClient.ChainID, "account", account)
|
log.Debug("loadTransfersLoop start", "chain", chainClient.ChainID, "account", account)
|
||||||
|
|
||||||
select {
|
for {
|
||||||
case <-ctx.Done():
|
select {
|
||||||
log.Info("loadTransfersLoop error", "chain", chainClient.ChainID, "account", account, "error", ctx.Err())
|
case <-ctx.Done():
|
||||||
return
|
log.Info("loadTransfersLoop error", "chain", chainClient.ChainID, "account", account, "error", ctx.Err())
|
||||||
case dbHeaders := <-blocksLoadedCh:
|
return
|
||||||
log.Debug("loadTransfersOnDemand transfers received", "chain", chainClient.ChainID, "account", account, "headers", len(dbHeaders))
|
case dbHeaders := <-blocksLoadedCh:
|
||||||
|
log.Debug("loadTransfersOnDemand transfers received", "chain", chainClient.ChainID, "account", account, "headers", len(dbHeaders))
|
||||||
|
|
||||||
blockNums := make([]*big.Int, len(dbHeaders))
|
blockNums := make([]*big.Int, len(dbHeaders))
|
||||||
for i, dbHeader := range dbHeaders {
|
for i, dbHeader := range dbHeaders {
|
||||||
blockNums[i] = dbHeader.Number
|
blockNums[i] = dbHeader.Number
|
||||||
|
}
|
||||||
|
|
||||||
|
blocksByAddress := map[common.Address][]*big.Int{account: blockNums}
|
||||||
|
go func() {
|
||||||
|
_ = loadTransfers(ctx, []common.Address{account}, blockDAO, db, chainClient, noBlockLimit,
|
||||||
|
blocksByAddress, transactionManager, tokenManager, feed)
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
blocksByAddress := map[common.Address][]*big.Int{account: blockNums}
|
|
||||||
go func() {
|
|
||||||
_ = loadTransfers(ctx, []common.Address{account}, blockDAO, db, chainClient, noBlockLimit,
|
|
||||||
blocksByAddress, transactionManager, tokenManager, feed)
|
|
||||||
}()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -357,7 +359,7 @@ func newLoadBlocksAndTransfersCommand(account common.Address, db *Database,
|
||||||
errorsCount: 0,
|
errorsCount: 0,
|
||||||
transactionManager: transactionManager,
|
transactionManager: transactionManager,
|
||||||
tokenManager: tokenManager,
|
tokenManager: tokenManager,
|
||||||
blocksLoadedCh: make(chan []*DBHeader),
|
blocksLoadedCh: make(chan []*DBHeader, 100),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue