Skip to content

Commit c2918c2

Browse files
authored
accounts/abi: return toGoType error immediately (ethereum#25565)
1 parent 052c634 commit c2918c2

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

accounts/abi/argument.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,9 @@ func (arguments Arguments) UnpackValues(data []byte) ([]interface{}, error) {
187187
virtualArgs := 0
188188
for index, arg := range nonIndexedArgs {
189189
marshalledValue, err := toGoType((index+virtualArgs)*32, arg.Type, data)
190+
if err != nil {
191+
return nil, err
192+
}
190193
if arg.Type.T == ArrayTy && !isDynamicType(arg.Type) {
191194
// If we have a static array, like [3]uint256, these are coded as
192195
// just like uint256,uint256,uint256.
@@ -204,9 +207,6 @@ func (arguments Arguments) UnpackValues(data []byte) ([]interface{}, error) {
204207
// coded as just like uint256,bool,uint256
205208
virtualArgs += getTypeSize(arg.Type)/32 - 1
206209
}
207-
if err != nil {
208-
return nil, err
209-
}
210210
retval = append(retval, marshalledValue)
211211
}
212212
return retval, nil

accounts/abi/unpack.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,9 @@ func forTupleUnpack(t Type, output []byte) (interface{}, error) {
162162
virtualArgs := 0
163163
for index, elem := range t.TupleElems {
164164
marshalledValue, err := toGoType((index+virtualArgs)*32, *elem, output)
165+
if err != nil {
166+
return nil, err
167+
}
165168
if elem.T == ArrayTy && !isDynamicType(*elem) {
166169
// If we have a static array, like [3]uint256, these are coded as
167170
// just like uint256,uint256,uint256.
@@ -179,9 +182,6 @@ func forTupleUnpack(t Type, output []byte) (interface{}, error) {
179182
// coded as just like uint256,bool,uint256
180183
virtualArgs += getTypeSize(*elem)/32 - 1
181184
}
182-
if err != nil {
183-
return nil, err
184-
}
185185
retval.Field(index).Set(reflect.ValueOf(marshalledValue))
186186
}
187187
return retval.Interface(), nil

0 commit comments

Comments
 (0)