Skip to content

Commit

Permalink
Fix bug for edge case: locking 0 CELO (#148)
Browse files Browse the repository at this point in the history
  • Loading branch information
eelanagaraj authored Mar 2, 2021
1 parent e05593d commit 2129a39
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions analyzer/txtracer.go
Original file line number Diff line number Diff line change
Expand Up @@ -281,8 +281,11 @@ func (tr *Tracer) TxOpsFromLogs(tx *types.Transaction, receipt *types.Receipt, t
case "GoldLocked":
// lock() [GoldLocked + transfer] => main->lockNonVoting
event := eventRaw.(*contracts.LockedGoldGoldLocked)
transfers = append(transfers, *NewLockGold(event.Account, lockedGoldAddr, event.Value))

// Edge case: locking 0 CELO means there isn't a matching transfer;
// Only store balance-changing (>0) GoldLocked logs.
if event.Value.Cmp(big.NewInt(0)) > 0 {
transfers = append(transfers, *NewLockGold(event.Account, lockedGoldAddr, event.Value))
}
case "GoldRelocked":
// relock() [GoldRelocked] => lockPending->lockNonVoting
event := eventRaw.(*contracts.LockedGoldGoldRelocked)
Expand Down

0 comments on commit 2129a39

Please sign in to comment.