diff --git a/accounts/abi/type.go b/accounts/abi/type.go index a1f13ffa29f3..cec1ce8f5653 100644 --- a/accounts/abi/type.go +++ b/accounts/abi/type.go @@ -103,7 +103,11 @@ func NewType(t string) (typ Type, err error) { return typ, err } // parse the type and size of the abi-type. - parsedType := typeRegex.FindAllStringSubmatch(t, -1)[0] + matches := typeRegex.FindAllStringSubmatch(t, -1) + if len(matches) == 0 { + return Type{}, fmt.Errorf("invalid type '%v'", t) + } + parsedType := matches[0] // varSize is the size of the variable var varSize int if len(parsedType[3]) > 0 {