MulticallRetryable
Documentation for eth_defi.event_reader.multicall_batcher.MulticallRetryable exception.
- exception MulticallRetryable
Bases:
ExceptionTransient Multicall transport or payload failure.
This exception is used for failures that can plausibly recover by retrying the same historical block with a smaller batch size, a different fallback endpoint, or after a short provider outage. Typical examples are HTTP timeouts, connection failures, request-rate errors and out-of-gas Multicall payloads caused by an expensive target contract.
It deliberately does not represent missing historical state. For errors such as
missing trie node,metadata is not foundandlayer stale,MulticallHistoricalDataUnavailableis raised instead. Retrying those errors with a smaller batch wastes RPC capacity because the selected node lacks the data regardless of payload size.Callers may retry this error locally. When using a multi-provider RPC configuration, normal fallback rotation is also appropriate.
Retain transport diagnostics and the completed physical-request prefix.
Reduced-batch recovery can fail after earlier fragments succeeded. The retry coordinator needs their outputs to resume at the first unread input instead of charging the provider again for completed work.
- Parameters
message – Failure description from the transport wrapper.
status_code – HTTP status when available, including rate limits.
headers – Response headers used by provider retry policy.
completed_results – Ordered
(success, return_data)prefix.
- Returns
None.
- __init__(message, status_code=None, headers=None, completed_results=None)
Retain transport diagnostics and the completed physical-request prefix.
Reduced-batch recovery can fail after earlier fragments succeeded. The retry coordinator needs their outputs to resume at the first unread input instead of charging the provider again for completed work.
- Parameters
message (str) – Failure description from the transport wrapper.
status_code (Optional[int]) – HTTP status when available, including rate limits.
headers (Optional[dict]) – Response headers used by provider retry policy.
completed_results (Optional[list[tuple[bool, bytes]]]) – Ordered
(success, return_data)prefix.
- Returns
None.
- Return type
None
- completed_results
Ordered
(success, return_data)from physical chunks completed before this failure. Retries resume after these inputs, not at zero.
- __new__(**kwargs)
- add_note(note, /)
Add a note to the exception
- with_traceback(tb, /)
Set self.__traceback__ to tb and return self.