diff options
Diffstat (limited to 'accounts/abi/type.go')
-rw-r--r-- | accounts/abi/type.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/accounts/abi/type.go b/accounts/abi/type.go index 191c29955..ed3e33f39 100644 --- a/accounts/abi/type.go +++ b/accounts/abi/type.go @@ -94,7 +94,7 @@ func NewType(t string) (typ Type, err error) { // Altough we know that this is an array, we cannot return // as we don't know the type of the element, however, if it // is still an array, then don't determine the type. - if typ.Elem.IsArray { + if typ.Elem.IsArray || typ.Elem.IsSlice { return typ, nil } } @@ -117,7 +117,12 @@ func NewType(t string) (typ Type, err error) { varSize = 256 t += "256" } - typ.stringKind = t + + // only set stringKind if not array or slice, as for those, + // the correct string type has been set + if !(typ.IsArray || typ.IsSlice) { + typ.stringKind = t + } switch varType { case "int": |