The current retry mechanism of the wallet depends on the API being called as a promise, with the resolve method stored in the redux, to be called again in case of a retry.
This pattern fulfills the goal, but it prevents us from using async/await calls with APIs and from handling specific errors (404, 400, 429, ...) in custom ways. (see discussion).