Wrap an RPC provider so every method call is retried with the policy that
matches its nature: read methods use VIEW_RETRY_POLICY, the
sendTransaction write method uses STATE_CHANGING_RETRY_POLICY, and
anything else is passed through untouched.
The wrapper is transparent: method signatures and return values are
unchanged, so it can replace the underlying provider in place.
Wrap an RPC provider so every method call is retried with the policy that matches its nature: read methods use VIEW_RETRY_POLICY, the
sendTransactionwrite method uses STATE_CHANGING_RETRY_POLICY, and anything else is passed through untouched.The wrapper is transparent: method signatures and return values are unchanged, so it can replace the underlying provider in place.