accounts/abi: Add the original name as json-structtag for tuples.
This commit is contained in:
		
				
					committed by
					
						
						Guillaume Ballet
					
				
			
			
				
	
			
			
			
						parent
						
							67fc0377e1
						
					
				
				
					commit
					5b0d3fa393
				
			@@ -188,6 +188,7 @@ func NewType(t string, components []ArgumentMarshaling) (typ Type, err error) {
 | 
				
			|||||||
			fields = append(fields, reflect.StructField{
 | 
								fields = append(fields, reflect.StructField{
 | 
				
			||||||
				Name: ToCamelCase(c.Name), // reflect.StructOf will panic for any exported field.
 | 
									Name: ToCamelCase(c.Name), // reflect.StructOf will panic for any exported field.
 | 
				
			||||||
				Type: cType.Type,
 | 
									Type: cType.Type,
 | 
				
			||||||
 | 
									Tag:  reflect.StructTag("json:\"" + c.Name + "\""),
 | 
				
			||||||
			})
 | 
								})
 | 
				
			||||||
			elems = append(elems, &cType)
 | 
								elems = append(elems, &cType)
 | 
				
			||||||
			names = append(names, c.Name)
 | 
								names = append(names, c.Name)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -95,8 +95,14 @@ func TestTypeRegexp(t *testing.T) {
 | 
				
			|||||||
		// {"fixed[2]", nil, Type{}},
 | 
							// {"fixed[2]", nil, Type{}},
 | 
				
			||||||
		// {"fixed128x128[]", nil, Type{}},
 | 
							// {"fixed128x128[]", nil, Type{}},
 | 
				
			||||||
		// {"fixed128x128[2]", nil, Type{}},
 | 
							// {"fixed128x128[2]", nil, Type{}},
 | 
				
			||||||
		{"tuple", []ArgumentMarshaling{{Name: "a", Type: "int64"}}, Type{Kind: reflect.Struct, T: TupleTy, Type: reflect.TypeOf(struct{ A int64 }{}), stringKind: "(int64)",
 | 
							{"tuple", []ArgumentMarshaling{{Name: "a", Type: "int64"}}, Type{Kind: reflect.Struct, T: TupleTy, Type: reflect.TypeOf(struct {
 | 
				
			||||||
 | 
								A int64 `json:"a"`
 | 
				
			||||||
 | 
							}{}), stringKind: "(int64)",
 | 
				
			||||||
			TupleElems: []*Type{{Kind: reflect.Int64, T: IntTy, Type: reflect.TypeOf(int64(0)), Size: 64, stringKind: "int64"}}, TupleRawNames: []string{"a"}}},
 | 
								TupleElems: []*Type{{Kind: reflect.Int64, T: IntTy, Type: reflect.TypeOf(int64(0)), Size: 64, stringKind: "int64"}}, TupleRawNames: []string{"a"}}},
 | 
				
			||||||
 | 
							{"tuple with long name", []ArgumentMarshaling{{Name: "aTypicalParamName", Type: "int64"}}, Type{Kind: reflect.Struct, T: TupleTy, Type: reflect.TypeOf(struct {
 | 
				
			||||||
 | 
								ATypicalParamName int64 `json:"aTypicalParamName"`
 | 
				
			||||||
 | 
							}{}), stringKind: "(int64)",
 | 
				
			||||||
 | 
								TupleElems: []*Type{{Kind: reflect.Int64, T: IntTy, Type: reflect.TypeOf(int64(0)), Size: 64, stringKind: "int64"}}, TupleRawNames: []string{"aTypicalParamName"}}},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for _, tt := range tests {
 | 
						for _, tt := range tests {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user