From 0fd6c633b0cc207c3c1b269f5d64a2c5e540e99d Mon Sep 17 00:00:00 2001 From: xiangxn Date: Tue, 4 Jun 2024 03:10:11 +0800 Subject: [PATCH] Handling return failures --- caller.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/caller.go b/caller.go index eb2e10d..322f387 100644 --- a/caller.go +++ b/caller.go @@ -69,6 +69,9 @@ func (caller *Caller) Call(opts *bind.CallOpts, calls ...*Call) ([]*Call, error) for i, result := range results { call := calls[i] // index always matches call.Failed = !result.Success + if call.Failed { + continue + } if err := call.Unpack(result.ReturnData); err != nil { return calls, fmt.Errorf("failed to unpack call outputs at index [%d]: %v", i, err) }