This commit updates the rust-toolchain to the current stable version
1.59, and fixes a number of new clippy warnings from that change.
Other changes:
- updates backoff to 0.4
- updates swap to 2021 edition
- updates comfy-table to 5.0
- updates monero-wallet to 2021 edition
- updates moneor-harness to 2021 edition
- updates bdk and rust_decimal
- updates tokio-util to 0.7
- updates workflow to use actions/setup-python@3
- updates pem and serde_with
- adds stable rust toolchain notice to readme
This config setting makes backoff stop retrying if we didn't get an
error within this timeframe.
For us, this results in backoff not actually doing anything.
The connection to kraken is very long-running. It might be active
for hours without failing. However, the default value for
`max_elapsed_time` is set to 15 minutes. As such, once the connection
fails any time after that, backoff doesn't actually retry the operation
but just gives up.
Fixes#303.
In order to be able to re-connect on certain errors, we model
connection errors separately from parsing errors. We also change
the API of the whole module to no longer forward all errors to
the subscribers but instead, only update the subscribers with
either a latest rate or a permanent failure in case we exhausted
all our options to re-connect the websocket.
To model all of this properly, we introduce to sub-modules so that
each submodule can have their own `Error` type.
Resolves#297.
Instead of leaking the tokio::sync:⌚:Receiver type in our
return value, we create a newtype that implements the desired
interface. This allows us to get rid of the `RateService` structs
and instead implement `LatestRate` directly on top of this struct.
Given that `LatestRate` is only used within the event_loop module,
we move the definition of this type into there.