From 270ea6eec330962d083fb66453cee563985114c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Wed, 16 Mar 2016 11:19:25 +0200 Subject: [PATCH] accounts/abi: handle the "constant" modifier for functions --- accounts/abi/abi.go | 14 +++++++------- accounts/abi/method.go | 7 +++++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/accounts/abi/abi.go b/accounts/abi/abi.go index 324d3c76f1..3704e6262e 100644 --- a/accounts/abi/abi.go +++ b/accounts/abi/abi.go @@ -268,12 +268,12 @@ func set(dst, src reflect.Value, output Argument) error { func (abi *ABI) UnmarshalJSON(data []byte) error { var fields []struct { - Type string - Name string - Const bool - Indexed bool - Inputs []Argument - Outputs []Argument + Type string + Name string + Constant bool + Indexed bool + Inputs []Argument + Outputs []Argument } if err := json.Unmarshal(data, &fields); err != nil { @@ -288,7 +288,7 @@ func (abi *ABI) UnmarshalJSON(data []byte) error { case "function", "": abi.Methods[field.Name] = Method{ Name: field.Name, - Const: field.Const, + Const: field.Constant, Inputs: field.Inputs, Outputs: field.Outputs, } diff --git a/accounts/abi/method.go b/accounts/abi/method.go index e259c09aa9..206c7d408b 100644 --- a/accounts/abi/method.go +++ b/accounts/abi/method.go @@ -67,8 +67,11 @@ func (m Method) String() string { } outputs[i] += output.Type.String() } - - return fmt.Sprintf("function %v(%v) returns(%v)", m.Name, strings.Join(inputs, ", "), strings.Join(outputs, ", ")) + constant := "" + if m.Const { + constant = "constant " + } + return fmt.Sprintf("function %v(%v) %sreturns(%v)", m.Name, strings.Join(inputs, ", "), constant, strings.Join(outputs, ", ")) } func (m Method) Id() []byte {