* Upgrade monero-wallet-rpc to `v0.18.3.1`
* Give feedback to user about state of monero refresh and retry if fails
This commit changes the following behaviour in the refresh functionality of the monero wallet
- Allows for multiple retries because in some cases users have experienced an issue where the wallet rpc returns `no connection to daemon` even though the daemon is available. I'm not 100% sure why this happens but retrying often fixes the issue
- Attempt to print the current sync height while the wallet is syncing. This only works to some degree because the `monero-wallet-rpc` stops responding (or takes a long time to respond) while it's refreshing
- The `monero-wallet-rpc` is started with the `--no-initial-sync` flag which ensures that as soon as it's started, it's ready to respond to requests
---------
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
Co-authored-by: Byron Hambly <byron@hambly.dev>
* Bump Monero CLI for macos aarch64 to match other platforms
* Check hash on download of monero cli
* change panic to bail
---------
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1428: Fix issue where Windows cannot open ASB wallet to create lock XMR transaction r=delta1 a=pokkst
It seems on Windows that opening an already opened wallet results in an error/crash. This does not seem to be the case for Linux and macOS. Removing this line fixed the issue on Windows, and had no regressions on macOS/Linux from my testing.
Co-authored-by: pokkst <pokkst@protonmail.com>
some of the dependency updates are requiring a higher version of the
rust toolchain. bump to 1.67 and fix new clippy lints.
also fix dprint to 0.39.1 because 0.40 has breaking changes.
- upgrades to bdk 0.24 #1198
- adds a regression test for opening older wallets #1183
- adds a migration for older wallets that encounter the ChecksumMismatch
error #1182
Immediately fetch transaction status upon subscription instead of waiting 1 minute
(cherry picked from commit 5662f7fe81b1d93eed73621dd102f0fac3d59811)
- bdk to 0.22.0 #1126
- ecdsa_fun to 7c3d592 #1127
- sigma_fun to 7c3d592 #1128
- sha2 to 0.10.2 #948
- serde to 1.0.144 #1115
- bitcoin-harness to bff9a64
Revert "ci: specify previous dprint version until fixed"
This reverts commit 11eb1737ce557d46aaf50b086afffd25b04c7910.
- swap cli will check its wallet rpc version and delete the binary if
its version does not match on "Fluorine Fermi". it will then download
the newer version.
- adds download progress for wallet rpc
1008: Upgrade libp2p and stabilized the version r=delta1 a=lescuer97
This is an upgrade for libp2p, I did a previous PR but got mixed up with rebases
Co-authored-by: leonardo <leoescuer@protonmail.com>
Co-authored-by: Leonardo Escuer <47948594+lescuer97@users.noreply.github.com>
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1088: feat: add debugging info for failed to fetch transaction r=delta1 a=delta1
Add the jsonrpc error message and data to tracing calls to try debug #1061 "monero-wallet-rpc failed to fetch transaction"
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
1086: fix btc for xmr calculation error r=delta1 a=delta1
The calculation overflow fix in #1068 did not account for XMR < 1 which
resulted in truncation when dividing by the PICO_OFFSET.
This commit uses `Decimal` to do the calculation at fixed precision and
adds a number of test values to verify the calculation.
Closes#1084
Co-authored-by: Byron Hambly <bhambly@blockstream.com>
The calculation overflow fix in #1068 did not account for XMR < 1 which
resulted in truncation when dividing by the PICO_OFFSET.
This commit uses `Decimal` to do the calculation at fixed precision and
adds a number of test values to verify the calculation.
Closes#1084
In testing, ASB panicked in `max_bitcoin_for_price` when the Monero
balance x Bitcoin price was enough to overflow `u64`.
This commit changes the function to do the piconero offset division
first, and then to use `checked_mul` to return None if the calculation
would overflow. This required changing the function return
signature to an `Option`. Additional tests for the function were also added.
MONERO_FEE was changed from 0.000030 to 0.000016, which is still
double the current median transaction fee listed at
https://www.monero.how/monero-transaction-fees as of 2022-07-28.
On Linux and macOS, no program output was being observed.
This is referenced in the [LocalTime] docs for `tracing-subscriber`,
which links to this [unsoundness issue] in the time crate.
Rather than introducing a possible vector for undefined behaviour and
segfaults, I have just changed the logging to use UTC time instead.
When running the ASB as a systemd service, one would generally use the
`--disable-timestamps` flag anyway as systemd adds its own timestamps
which can be local to the server.
If the situation with `tracing-subscriber` and the time crate is fixed
then this can be updated.
This commit also updates the `tracing-subscriber` and `tracing-appender`
dependencies, closing #987.
[LocalTime]: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/fmt/time/struct.LocalTime.html
[unsoundness issue]: https://github.com/time-rs/time/issues/293#issuecomment-748151025