core: do not store NEP5 transfer log in memory

Traversing transfer log instead of accumulating and returning it
is faster and takes less memory.
This commit is contained in:
Evgenii Stratonikov 2020-08-06 14:20:36 +03:00
parent 022fb04077
commit 7bd4488ff9
4 changed files with 10 additions and 9 deletions

View file

@ -726,9 +726,8 @@ func (s *Server) getNEP5Transfers(ps request.Params) (interface{}, *response.Err
Received: []result.NEP5Transfer{},
Sent: []result.NEP5Transfer{},
}
lg := s.chain.GetNEP5TransferLog(u)
tr := new(state.NEP5Transfer)
err = lg.ForEach(state.NEP5TransferSize, tr, func() error {
err = s.chain.ForEachNEP5Transfer(u, tr, func() error {
transfer := result.NEP5Transfer{
Timestamp: tr.Timestamp,
Asset: tr.Asset,