aboutsummaryrefslogtreecommitdiffstats
path: root/accounts/abi/event.go
diff options
context:
space:
mode:
Diffstat (limited to 'accounts/abi/event.go')
-rw-r--r--accounts/abi/event.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/accounts/abi/event.go b/accounts/abi/event.go
index 44ed7b8df..bd1098d87 100644
--- a/accounts/abi/event.go
+++ b/accounts/abi/event.go
@@ -71,14 +71,16 @@ func (e Event) tupleUnpack(v interface{}, output []byte) error {
if input.Indexed {
// can't read, continue
continue
- } else if input.Type.T == ArrayTy {
- // need to move this up because they read sequentially
- j += input.Type.Size
}
marshalledValue, err := toGoType((i+j)*32, input.Type, output)
if err != nil {
return err
}
+ if input.Type.T == ArrayTy {
+ // combined index ('i' + 'j') need to be adjusted only by size of array, thus
+ // we need to decrement 'j' because 'i' was incremented
+ j += input.Type.Size - 1
+ }
reflectValue := reflect.ValueOf(marshalledValue)
switch value.Kind() {