Jeffrey Wilcke 9 лет назад
Родитель
Сommit
47372813ef
2 измененных файлов с 5 добавлено и 5 удалено
  1. 2 3
      accounts/abi/abi.go
  2. 3 2
      accounts/abi/type.go

+ 2 - 3
accounts/abi/abi.go

@@ -91,9 +91,8 @@ func toGoSlice(i int, t Argument, output []byte) (interface{}, error) {
 	// first we need to create a slice of the type
 	var refSlice reflect.Value
 	switch elem.T {
-	case IntTy, UintTy, BoolTy: //we need to create the correct type of array otherwise we see the following issue;
-		//cannot unmarshal []*big.Int in to []uint32 as described in
-		//https://github.com/ethereum/go-ethereum/issues/2802
+	case IntTy, UintTy, BoolTy:
+		// create a new reference slice matching the element type
 		switch t.Type.Kind {
 		case reflect.Bool:
 			refSlice = reflect.ValueOf([]bool(nil))

+ 3 - 2
accounts/abi/type.go

@@ -91,8 +91,9 @@ func NewType(t string) (typ Type, err error) {
 		}
 		typ.Elem = &sliceType
 		typ.stringKind = sliceType.stringKind + t[len(res[1]):]
-		//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
+		// 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 {
 			return typ, nil
 		}