diff options
author | Jeffrey Wilcke <geffobscura@gmail.com> | 2016-05-11 19:21:25 +0800 |
---|---|---|
committer | Jeffrey Wilcke <geffobscura@gmail.com> | 2016-05-11 19:36:27 +0800 |
commit | 91a7a4a7867718ccb6c9620120a1be5680ad0abd (patch) | |
tree | f8b6b278efe61a68c6a6c0bc88d0b7ca792ccd9d /accounts/abi/bind/template.go | |
parent | 5782164a35ea8acdb09507a604c45941051fd5f3 (diff) | |
download | go-tangerine-91a7a4a7867718ccb6c9620120a1be5680ad0abd.tar go-tangerine-91a7a4a7867718ccb6c9620120a1be5680ad0abd.tar.gz go-tangerine-91a7a4a7867718ccb6c9620120a1be5680ad0abd.tar.bz2 go-tangerine-91a7a4a7867718ccb6c9620120a1be5680ad0abd.tar.lz go-tangerine-91a7a4a7867718ccb6c9620120a1be5680ad0abd.tar.xz go-tangerine-91a7a4a7867718ccb6c9620120a1be5680ad0abd.tar.zst go-tangerine-91a7a4a7867718ccb6c9620120a1be5680ad0abd.zip |
accounts/abi: fixed unpacking in to already slice interfaces
Previously it was assumed that wheneven type `[]interface{}` was given
that the interface was empty. The abigen rightfully assumed that
interface slices which already have pre-allocated variable sets to be
assigned.
This PR fixes that by checking that the given `[]interface{}` is larger
than zero and assigns each value using the generic `set` function (this
function has also been moved to abi/reflect.go) and checks whether the
assignment was possible.
The generic assignment function `set` now also deals with pointers
(useful for interface slice mentioned above) by dereferencing the
pointer until it finds a setable type.
Diffstat (limited to 'accounts/abi/bind/template.go')
0 files changed, 0 insertions, 0 deletions