Skip to content

Commit 00cc4f2

Browse files
authored
eth/interop: use checkMessagesV2, but fallback to V1 if not found (#522)
1 parent 87b0a27 commit 00cc4f2

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

eth/interop/interop.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,10 @@ func (cl *InteropClient) CheckMessages(ctx context.Context, messages []interopty
5353
if err := cl.maybeDial(ctx); err != nil { // a single dial attempt is made, the next call may retry.
5454
return err
5555
}
56-
return cl.client.CallContext(ctx, nil, "supervisor_checkMessages", messages, minSafety, executingDescriptor)
56+
err := cl.client.CallContext(ctx, nil, "supervisor_checkMessagesV2", messages, minSafety, executingDescriptor)
57+
var x rpc.Error
58+
if err != nil && errors.As(err, &x) && x.ErrorCode() == -32601 { // check if it's the MethodNotFound error code, retry with V1 if so
59+
return cl.client.CallContext(ctx, nil, "supervisor_checkMessages", messages, minSafety)
60+
}
61+
return err
5762
}

0 commit comments

Comments
 (0)