From 8054a68300a8ad02d6f23af00517889857b62f81 Mon Sep 17 00:00:00 2001 From: Guillaume Ballet Date: Tue, 14 Apr 2020 11:24:18 +0200 Subject: [PATCH] accounts/abi: Work around the uin64 conversion issue --- les/utils/expiredvalue.go | 5 ++++- les/utils/expiredvalue_test.go | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/les/utils/expiredvalue.go b/les/utils/expiredvalue.go index 2d6e5d4bb8..85f9b88b7b 100644 --- a/les/utils/expiredvalue.go +++ b/les/utils/expiredvalue.go @@ -92,7 +92,10 @@ func (e *ExpiredValue) Add(amount int64, logOffset Fixed64) int64 { e.Exp = integer } if base >= 0 || uint64(-base) <= e.Base { - e.Base += uint64(base) + // This is a temporary fix to circumvent a golang + // uint conversion issue on arm64, which needs to + // be investigated further. FIXME + e.Base = uint64(int64(e.Base) + int64(base)) return amount } net := int64(-float64(e.Base) / factor) diff --git a/les/utils/expiredvalue_test.go b/les/utils/expiredvalue_test.go index 4894a12b12..fa22d58274 100644 --- a/les/utils/expiredvalue_test.go +++ b/les/utils/expiredvalue_test.go @@ -16,7 +16,9 @@ package utils -import "testing" +import ( + "testing" +) func TestValueExpiration(t *testing.T) { var cases = []struct {