From a7722f0fa5dc21d1f6e40fa90e0e4ca1ffc82d1d Mon Sep 17 00:00:00 2001 From: Evgeniy Stratonikov Date: Thu, 1 Jul 2021 18:44:00 +0300 Subject: [PATCH] native: save balance value in storage for failed transfers Signed-off-by: Evgeniy Stratonikov --- pkg/core/native/native_nep17.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/core/native/native_nep17.go b/pkg/core/native/native_nep17.go index 4e2b9deb6..bc171c90e 100644 --- a/pkg/core/native/native_nep17.go +++ b/pkg/core/native/native_nep17.go @@ -195,6 +195,9 @@ func (c *nep17TokenNative) updateAccBalance(ic *interop.Context, acc util.Uint16 err := c.incBalance(ic, acc, &si, amount) if err != nil { + if si != nil && amount.Sign() < 0 { + _ = ic.DAO.PutStorageItem(c.ID, key, si) + } return err } if si == nil {