From 1e7b47ec051cec4c0959bda395393e87830cc4e9 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Wed, 18 Mar 2020 11:57:33 +0300 Subject: [PATCH] smartcontract: always use int64 for integers It is good when internal representation is unique. --- pkg/smartcontract/param_type.go | 2 +- pkg/smartcontract/param_type_test.go | 6 +++--- pkg/smartcontract/parameter_test.go | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/smartcontract/param_type.go b/pkg/smartcontract/param_type.go index c0e465afb..a1082e99e 100644 --- a/pkg/smartcontract/param_type.go +++ b/pkg/smartcontract/param_type.go @@ -181,7 +181,7 @@ func adjustValToType(typ ParamType, val string) (interface{}, error) { return nil, errors.New("invalid boolean value") } case IntegerType: - return strconv.Atoi(val) + return strconv.ParseInt(val, 10, 64) case Hash160Type: u, err := address.StringToUint160(val) if err == nil { diff --git a/pkg/smartcontract/param_type_test.go b/pkg/smartcontract/param_type_test.go index 2130ed413..fd562ee15 100644 --- a/pkg/smartcontract/param_type_test.go +++ b/pkg/smartcontract/param_type_test.go @@ -185,15 +185,15 @@ func TestAdjustValToType(t *testing.T) { }, { typ: IntegerType, val: "0", - out: 0, + out: int64(0), }, { typ: IntegerType, val: "42", - out: 42, + out: int64(42), }, { typ: IntegerType, val: "-42", - out: -42, + out: int64(-42), }, { typ: IntegerType, val: "q", diff --git a/pkg/smartcontract/parameter_test.go b/pkg/smartcontract/parameter_test.go index 3135ddd08..55c8c2fd7 100644 --- a/pkg/smartcontract/parameter_test.go +++ b/pkg/smartcontract/parameter_test.go @@ -384,13 +384,13 @@ func TestNewParameterFromString(t *testing.T) { out: Parameter{StringType, "qwerty"}, }, { in: "42", - out: Parameter{IntegerType, 42}, + out: Parameter{IntegerType, int64(42)}, }, { in: "Hello, 世界", out: Parameter{StringType, "Hello, 世界"}, }, { in: `\4\2`, - out: Parameter{IntegerType, 42}, + out: Parameter{IntegerType, int64(42)}, }, { in: `\\4\2`, out: Parameter{StringType, `\42`}, @@ -399,7 +399,7 @@ func TestNewParameterFromString(t *testing.T) { out: Parameter{StringType, `\42`}, }, { in: "int:42", - out: Parameter{IntegerType, 42}, + out: Parameter{IntegerType, int64(42)}, }, { in: "true", out: Parameter{BoolType, true},