diff --git a/caller.go b/caller.go index 0d8c078..f80abd3 100644 --- a/caller.go +++ b/caller.go @@ -82,7 +82,7 @@ func (caller *Caller) calls(opts *bind.CallOpts, calls ...*Call) ([]*Call, error for i, result := range results { call := calls[i] // index always matches call.Failed = !result.Success - if err := call.Unpack(result.ReturnData); err != nil { + if err := call.Unpack(result.ReturnData); err != nil && !call.CanFail { return calls, fmt.Errorf("failed to unpack call outputs at index [%d]: %v", i, err) } }