forked from TrueCloudLab/neoneo-go
Merge pull request #1901 from nspcc-dev/nep5-tracking-fixes
NEP5 tracking fixes
This commit is contained in:
commit
d8c8593410
2 changed files with 11 additions and 9 deletions
|
@ -945,15 +945,14 @@ func (bc *Blockchain) processNEP5Transfer(cache *dao.Cached, transfer *state.NEP
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
bs := balances.Trackers[transfer.Asset]
|
bs := balances.Trackers[transfer.Asset]
|
||||||
if bs.Balance == nil {
|
if bs.Balance != nil {
|
||||||
return
|
bs.Balance.Sub(bs.Balance, transfer.Amount)
|
||||||
}
|
if bs.Balance.Sign() > 0 {
|
||||||
bs.Balance.Sub(bs.Balance, transfer.Amount)
|
bs.LastUpdatedBlock = transfer.Block
|
||||||
if bs.Balance.Sign() > 0 {
|
balances.Trackers[transfer.Asset] = bs
|
||||||
bs.LastUpdatedBlock = transfer.Block
|
} else {
|
||||||
balances.Trackers[transfer.Asset] = bs
|
delete(balances.Trackers, transfer.Asset)
|
||||||
} else {
|
}
|
||||||
delete(balances.Trackers, transfer.Asset)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
transfer.Amount.Neg(transfer.Amount)
|
transfer.Amount.Neg(transfer.Amount)
|
||||||
|
|
|
@ -188,6 +188,9 @@ func NEP5TransferFromNotification(ne NotificationEvent, txHash util.Uint256, hei
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, errors.New("wrong amount type")
|
return nil, errors.New("wrong amount type")
|
||||||
}
|
}
|
||||||
|
if len(bs) > amountSize {
|
||||||
|
return nil, errors.New("integer overflow")
|
||||||
|
}
|
||||||
amount = emit.BytesToInt(bs)
|
amount = emit.BytesToInt(bs)
|
||||||
}
|
}
|
||||||
toAddr := parseUint160(to)
|
toAddr := parseUint160(to)
|
||||||
|
|
Loading…
Reference in a new issue